VisualStudioC++执行堆栈在我的程序崩溃后没有出现
我使用VisualStudio以调试模式启动程序,但当程序崩溃时,VisualStudio似乎没有捕捉到错误。我根本没有得到执行堆栈 启动应用程序时,我可以在Visual Studio的输出中看到以下消息:VisualStudioC++执行堆栈在我的程序崩溃后没有出现,c++,visual-studio-2010,debugging,callstack,C++,Visual Studio 2010,Debugging,Callstack,我使用VisualStudio以调试模式启动程序,但当程序崩溃时,VisualStudio似乎没有捕捉到错误。我根本没有得到执行堆栈 启动应用程序时,我可以在Visual Studio的输出中看到以下消息: 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file 有人能帮我吗?我真的不知道我能给你什么信息,所以请问 谢谢 配置: Visual Studio C++ 2010高级版 Windows server 2008
'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
有人能帮我吗?我真的不知道我能给你什么信息,所以请问
谢谢
配置:
Visual Studio C++ 2010高级版
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文件来帮助调试器。调试时必须连接internet 引发异常时,转到调用堆栈,右键单击某些无法识别的行,例如,在带有ntdll.dll或user32.dll的行上,然后在菜单中选择“从>Microsoft符号服务器加载符号”。调试器现在将在调用堆栈中包含更多信息
重复此过程,直到您有足够的关于调用堆栈的信息来查找代码中的行。这样它最终会在提到的文件中显示调用堆栈,例如ntdll.dll?或者也可以在我自己的程序中找到?调试时我没有internet,我将尝试手动下载PDB文件。您必须在调用堆栈中至少有一些项,以便可以在它们上执行右键单击。您还可以编写转储文件,然后从其他具有internet连接的计算机进行调试。菜单调试>另存转储为。我从来没有试过,但有可能它会起作用。我从另一台机器上自动下载了一些PDB。我需要完成它,但问题是我没有任何调用堆栈。。。在菜单Debogage->Windows中,我看不到调用堆栈异常由代码处理,因此调试器没有理由停止程序。您可以强制它停止调试+异常,勾选Win32异常的抛出复选框。