【发布时间】:2015-09-02 18:04:56
【问题描述】:
我有一个基于 MFC 的应用程序。它会在几秒钟后继续寻找文件(使用基于 CreateTimerQueueTimer 的计时器)并执行一些操作。这总是在 XP 上崩溃(原因不明)。此应用程序在 Windows 7 和 Windows 8 上运行良好。但 XP 上的问题仍然存在。
下面是没有显示任何帮助的调用堆栈
反汇编截图如下:
EDIT1:
我更改了一些设置并获得了这个新的调用堆栈。但仍然没有得到线索。:
我不明白如何找出崩溃的原因。是否有任何提示或任何方法可以跟踪从拆卸中播下的内容?还是系统的 NTDLL.DLL 文件有问题?欢迎任何帮助。
【问题讨论】:
-
该堆栈跟踪缺少重要部分。您需要说服 Visual Studio 为您的可执行文件加载调试符号。
-
这就是问题所在。我的意思是仅针对此问题,它提供如上所示的调用堆栈。这就是为什么我无法抓住罪魁祸首。你知道我怎样才能让 Visual Studio 调试器给我那个吗?
-
应用程序是否使用调试符号构建?如果是这样,您应该能够在项目属性中指定符号的位置。
-
嗯,我可以看到我的调试信息格式设置为 /ZI 。我还需要做什么吗?
-
您是否在 XP 机器上运行 Visual Studio?还是你在远程调试呢?或者您正在调试转储文件?加载符号可能取决于这些问题的答案。同时,尝试将 .PDB 文件放在 .EXE 文件旁边。