首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨MiniDumpWriteDump边界获取MFC堆栈跟踪的正确方法是什么?

跨MiniDumpWriteDump边界获取MFC堆栈跟踪的正确方法是什么?
EN

Stack Overflow用户
提问于 2018-03-28 07:44:04
回答 1查看 179关注 0票数 0

我们正处于使用MiniDumpWriteDump生成转储文件的情况。然而,我们已经注意到,如果代码采用的路径是我们的code -> MFC ->我们的代码,那么callstack就会在MFC结束,我们就失去了问题的根源。

这是一个64位的应用程序。

由于原始评论而更新:前几天的一个例子如下。我们收到了来自客户的转储文件。已将其加载到VS2017。堆栈跟踪在MFC处停止(我们的理解),因为dumpfile和我们的开发机器之间不匹配,并且在MS的符号存储上没有二进制文件。我们最终在网络上的另一台机器上找到了匹配版本的MFC,然后调用栈完全完成了,我们可以看到它从我们的代码-> MFC ->返回到我们的代码并定位问题所在。

有没有办法获得完整的调用堆栈,即使我们没有获得MFC DLL的符号/二进制文件?

EN

回答 1

Stack Overflow用户

发布于 2018-03-28 16:13:37

MFC符号文件始终位于当前Visual Studio的文件夹中。因此,您应该复制它们或将它们存储在您自己的符号存储中。

在我的VS 2017 (版本15.6.3)中,我将文件放在文件夹中

代码语言:javascript
复制
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.13.26128\atlmfc\lib\x64
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.13.26128\atlmfc\lib\x86

使用正确的PDB文件还将帮助您获得正确的跨MFC边界的堆栈跟踪。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49524015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档