WinDbg для анализа аварийного дампа не работает на локальном компьютере - PullRequest
1 голос
/ 28 марта 2012

Я разработал крошечное приложение MFC, которое будет работать на сервере 24 часа.(Windows Server 2008 R2, x64)

Я специально произвел сбой приложения, чтобы проверить, правильно ли создан и работает ли его файл мини-дамп, и работает ли он с WinDbg.

Вот как я это сделал.

0:000> .symfix c:\symbols
0:000> .sympath+ C:\Projects\*********\x64\Release
0:000> .reload
0:000> !analyze -v 
-> Works! I can see full call stack and the line where the error occured!

Но когда я делаю то же самое на своем локальном ноутбуке (Windows XP, x86), все, что я вижу в тексте стека вызовов, - это очень базовая информациякак ниже.(Это также не показывает, на какую строчку мне нужно взглянуть, чтобы отладить.)

STACK_TEXT:  
0012fd60 0040695c 00000004 dd0fbe7e 00d67d10 **************!CWnd::RunModalLoop+0xf7
0012fdac 004010e0 dd0fbcce 0056bae8 0056bae8 **************!CDialog::DoModal+0x130
0012ff1c 0050e492 00380032 00000000 7ffde000 **************!**************::InitInstance+0xa0
0012ff30 004f7bd7 00400000 00000000 00020934 **************!AfxWinMain+0x48
0012ffc0 7c7e7077 00380032 002d0033 7ffde000 **************!__tmainCRTStartup+0x11a
0012fff0 00000000 004f7c2a 00000000 00000000 kernel32!BaseProcessStart+0x23
-> Meaningless information in this case b/c the error occurs in OnBnClicked function.

Я потратил несколько часов на поиски в Google, но чувствую себя потерянным, ища ответ на этот вопрос.Почему он не работает ТОЛЬКО на моем ноутбуке?

Что я должен проверить?Что мне не хватает?Любая идея будет очень ценится.Заранее спасибо.

1 Ответ

2 голосов
/ 28 марта 2012

Вам понадобятся те же самые pdbs без удаленных частных символов, доступные с вашего ноутбука, чтобы получить разумные стеки вызовов с правильной информацией об исходной линии, а также я заметил, что вы, кажется, кэшировали некоторые символы в c:\symbols, они одинаковы и такжеразрешить символы окон?

Проверьте настройки Visual C ++, чтобы убедиться, что вы не удаляете частные символы из pdbs, скорее всего, он предупредит вас, когда вы попытаетесь установить точки останова, найти символы или выполнить анализ сбоев.сообщив, что это было unable to verify the checksum или аналогичное сообщение.

Я также заметил, что вы запускаете свое приложение на 64-битном сервере, а затем на 32-битном ноутбуке, у вас правильная версия WinDbg - моя следующаявопрос, есть 32- и 64-битные версии.

Кроме того, какую версию windbg вы используете?Часто встречаются ошибки с различными версиями, поэтому вы можете проверить, что на вашем ноутбуке установлена ​​та же версия, что и на вашем сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...