Печать стека трассировки в MinGW в Windows

Я пытаюсь выяснить, почему происходит сбой моего многопоточного приложения.

Поэтому я устанавливаю обработчик для необработанных исключений, используя SetUnhandledExceptionFilter, а затем раскручиваю и печатаю трассировку стека в обработчике. Это работает .. вроде.

Я пробовал много примеров из Интернета, но я всегда получаю что-то вроде этого:

1 - 0x00401ecc - Unknown Function
2 - 0x00401e83 - Unknown Function
3 - 0x004013fa - Unknown Function
4 - 0x7584336a BaseThreadInitThunk
5 - 0x77dc9f72 RtlInitializeExceptionChain
6 - 0x77dc9f45 RtlInitializeExceptionChainPress <RETURN> to close this window...

Никогда фактическое место, где произошла ошибка.

Кто-нибудь может привести реальный рабочий пример печати трассировки стека для необработанного исключения в Windows? Спасибо заранее.

1

Решение

Если это происходит на машине, которую вы используете для разработки:

  • использовать IDE (Eclipse CDT, создатель Qt и т. д.) и gdb в качестве отладчика,
  • выключить оптимизацию компилятора (-O0),
  • компилировать с отладочными символами включен (пройти -ggdb3 флаг компилятору).

Если это происходит на клиентском компьютере, то это более сложная ситуация, см .:

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector