3

我使用 Visual Studio 在调试模式下启动我的程序,但是当它崩溃时,Visual Studio 似乎没有捕获到错误。我根本没有得到执行堆栈。

当我启动应用程序时,我可以在 Visual Studio 的输出中看到这条消息:

'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file

有人可以帮助我吗?我真的不知道我可以给你什么信息,所以请询问!

谢谢。

配置:Visual Studio C++ 2010 Premium Windows server 2008

在输出中,最后的消息是(法语对不起,但如果需要我可以翻译一些句子)

'app.exe' : Chargé 'C:\Windows\SysWOW64\msimg32.dll', Cannot find or open the PDB file.
Exception de première chance à 0x0048d6f7 dans app.exe : 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0x0000aa96.
'app.exe' : Déchargé 'C:\Windows\SysWOW64\msimg32.dll'
'app.exe' : Déchargé 'C:\Windows\SysWOW64\WSHTCPIP.DLL'
'app.exe' : Déchargé 'C:\Windows\SysWOW64\nlaapi.dll'
'app.exe' : Déchargé 'C:\Windows\SysWOW64\NapiNSP.dll'
'app.exe' : Déchargé 'C:\Windows\SysWOW64\winrnr.dll'
'app.exe' : Déchargé 'C:\Windows\SysWOW64\FWPUCLNT.DLL'
Le thread 'Thread Win32' (0x1840) s'est arrêté avec le code 1 (0x1).
Le thread 'Thread Win32' (0x4740) s'est arrêté avec le code 1 (0x1).
Le thread 'Thread Win32' (0x2554) s'est arrêté avec le code 1 (0x1).
Le thread 'Thread Win32' (0x743c) s'est arrêté avec le code 1 (0x1).
Le thread 'Thread Win32' (0x3f2c) s'est arrêté avec le code 1 (0x1).
Le programme '[1780] app.exe: Natif' s'est arrêté avec le code 1 (0x1).

注意:PDB 上的线程:PDB 自动下载

4

1 回答 1

0

有时调用堆栈变得难以让调试器解码。您可以通过下载调试器理解堆栈所需的所有 PDB 文件来帮助调试器。调试时必须有互联网连接。

引发异常时转到调用堆栈,右键单击一些无法识别的行,例如在带有 ntdll.dll 或 user32.dll 的行上,然后在菜单中选择 Load Symbols From > Microsoft Symbol Servers。调试器现在将在调用堆栈中有更多信息。

重复该过程,直到您有足够的调用堆栈信息来从代码中查找行。

于 2013-11-07T15:20:25.837 回答