Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 使用Visual Studio调试崩溃转储时缺少调用堆栈帧_Visual Studio 2008_Debugging - Fatal编程技术网

Visual studio 2008 使用Visual Studio调试崩溃转储时缺少调用堆栈帧

Visual studio 2008 使用Visual Studio调试崩溃转储时缺少调用堆栈帧,visual-studio-2008,debugging,Visual Studio 2008,Debugging,我正试图调试一些本机代码中的访问冲突错误,我有崩溃的小转储 使用visual studio打开崩溃转储时,会发生以下情况: 如果VS找不到有问题的本机DLL的符号,它将显示正确的调用堆栈帧(包括生成错误的代码中的位置)。当然,我看不到消息来源 如果VS可以找到符号(我将它们放在正确的位置,并且输出窗口显示myproblemble.dll的符号已加载),那么我只能在调用堆栈中看到一个帧,即msvcr90.dll。显然,这对我帮助不大 有人能解释一下吗 谢谢,这很容易解释。如果堆栈帧已损坏,则微型转

我正试图调试一些本机代码中的访问冲突错误,我有崩溃的小转储

使用visual studio打开崩溃转储时,会发生以下情况:

如果VS找不到有问题的本机DLL的符号,它将显示正确的调用堆栈帧(包括生成错误的代码中的位置)。当然,我看不到消息来源

如果VS可以找到符号(我将它们放在正确的位置,并且输出窗口显示myproblemble.dll的符号已加载),那么我只能在调用堆栈中看到一个帧,即msvcr90.dll。显然,这对我帮助不大

有人能解释一下吗


谢谢,这很容易解释。如果堆栈帧已损坏,则微型转储程序和调试器都无法遍历堆栈以显示更多信息。很容易做到,例如,只需strcpy()并溢出堆栈缓冲区的末尾,这样保存的EBP和返回地址就会被踩踏。而且,是的,无论小型垃圾场的质量有多好,几乎不可能进行诊断。祝你好运