我编译了这个小型MFC应用程序,当我使用VS2010单击CButton时会引发异常。

它处于 Release模式,并创建了pdb文件和映射文件。

然后,我使用了这些命令,symfix和sympath +,让调试器知道符号在哪里。 .reload之后,我输入了g,单击了异常按钮,它按预期崩溃了,但是问题是当我执行kb时,它没有显示完整的调用堆栈,而它成功地显示了其调用堆栈,指出异常来自何处当我在 Debug模式上编译此应用程序时。

我认为这对编译选项应该是一个简单的问题,但是我显然缺少了一些东西。

提前致谢。

最佳答案

在 Release模式下,代码优化处于启用状态,因此编译器会重新排列代码并丢弃其中的一些代码。这可能就是为什么您看不到预期的原因。通过转到项目->属性->配置属性-> C / C++->优化->优化来尝试禁用优化。

09-04 16:10
查看更多