Visual studio 2008 使用Visual Studio调试崩溃转储时缺少调用堆栈帧
我正试图调试一些本机代码中的访问冲突错误,我有崩溃的小转储 使用visual studio打开崩溃转储时,会发生以下情况: 如果VS找不到有问题的本机DLL的符号,它将显示正确的调用堆栈帧(包括生成错误的代码中的位置)。当然,我看不到消息来源 如果VS可以找到符号(我将它们放在正确的位置,并且输出窗口显示myproblemble.dll的符号已加载),那么我只能在调用堆栈中看到一个帧,即msvcr90.dll。显然,这对我帮助不大 有人能解释一下吗Visual studio 2008 使用Visual Studio调试崩溃转储时缺少调用堆栈帧,visual-studio-2008,debugging,Visual Studio 2008,Debugging,我正试图调试一些本机代码中的访问冲突错误,我有崩溃的小转储 使用visual studio打开崩溃转储时,会发生以下情况: 如果VS找不到有问题的本机DLL的符号,它将显示正确的调用堆栈帧(包括生成错误的代码中的位置)。当然,我看不到消息来源 如果VS可以找到符号(我将它们放在正确的位置,并且输出窗口显示myproblemble.dll的符号已加载),那么我只能在调用堆栈中看到一个帧,即msvcr90.dll。显然,这对我帮助不大 有人能解释一下吗 谢谢,这很容易解释。如果堆栈帧已损坏,则微型转
谢谢,这很容易解释。如果堆栈帧已损坏,则微型转储程序和调试器都无法遍历堆栈以显示更多信息。很容易做到,例如,只需strcpy()并溢出堆栈缓冲区的末尾,这样保存的EBP和返回地址就会被踩踏。而且,是的,无论小型垃圾场的质量有多好,几乎不可能进行诊断。祝你好运