На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual C++ / MFC / WTL (далее Раздела)
1) На Раздел распространяются все Правила Форума.
2) Перед тем, как создать новый топик, убедитесь, что Вы читали Правила создания тем в Разделе.
3) Вопросы, не связанные с программированием (настройки MS Visual Studio, книги, библиотеки и т.д.),
обсуждаются в разделе C/C++: Прочее
4) Вопросы разработки .NET (Windows Form, C++/CLI и т.п.) приложений на Visual C++/C# обсуждаются в разделе .NET.
5) Нарушение Правил может повлечь наказание со стороны модераторов.

Полезные ссылки:
user posted image FAQ Раздела user posted image Обновления для FAQ Раздела user posted image Поиск по Разделу user posted image MSDN Library Online
Модераторы: ElcnU
  
> Как вывести на экран stack trace используя чистый С на win32 (Visual Studio6) ? , Как вывести на экран stack trace используя чистый С на win32 (Visual Studio6) ?
    У меня возник такой вопрос.

    Как вывести на экран stack trace используя чистый С на win32 (Visual Studio6) ?

    Возможно кто-либо сталкивался с подобной задачей.
    Спасибо.
      Используя dbghlp.dll
      где-то я писал такое, щас задамплю сюда свой код, может поможет чем (там С++ чисто для обертки всего этого в классы, но сама dbghelp.dll такого не требует, там, как и на всем WinAPI, чистый C, так что можно переделать)
      добавить #include <dbghelp.h> и либу соответсвующую

      P.S. гуглить MSDN на тему SymSetOptions, SymInitialize, SymFromAddr, SymGetLineFromAddr64, ...

      Прикреплённый файлПрикреплённый файлdbghelp_demo.7z (2,82 Кбайт, скачиваний: 134)
      Сообщение отредактировано: MinLexx -
        Цитата MinLexx @


        Если можно, приведите простенький пример. У меня программа, написанная на ansi C. В данный момент winApi не используется вовсе.

        Как мне подключить необходимую библиотеку? Нужно ли устанавливать что-то дополнительное от Microsoft или же можно взять только отдельные файлы?
        Сообщение отредактировано: caesarmv -
          Простеньким пример вряд ли получится... А программа только под винду планируется? Никаких переносов под Unix-like os? Тогда да, самое верное тут - использовать Debug helper API, функцию StackWalk

          Компилятор-то хоть какой?) Да, придется подключать Platform SDK (#inlcude <windows.h> <tchar.h> итд)
          Redistributable: Requires DbgHelp.dll 5.1 or later.
          Header: Declared in Dbghelp.h.
          Library: Use Dbghelp.lib.
          Сообщение отредактировано: MinLexx -
            Цитата MinLexx @


            Вопрос снят. Использовал stackWalker. Поправил его для своих нужд. Скомпилировал его как объектник. И слинковал с сишной программой посредством
            extern "C".
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0725 ]   [ 18 queries used ]   [ Generated: 24.04.24, 06:37 GMT ]