首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Microsoft minidump文件没有提供太多信息

Microsoft minidump文件没有提供太多信息
EN

Stack Overflow用户
提问于 2017-10-11 11:25:16
回答 1查看 1K关注 0票数 1

我正在使用Microsoft特性,这样我就可以在发布的程序中分析崩溃。

https://msdn.microsoft.com/en-us/library/windows/desktop/ee416349(v=vs.85).aspx

代码类似于这个堆栈溢出问题的答案:

How to write a sample code that will crash and produce dump file?

通常,当我崩溃时,我可以在Visual中打开崩溃转储文件,它将带我进入源代码中的违规行,这使得解决这些问题变得非常容易。

但有时并不是那么容易。

我有一个崩溃转储文件,在那里我无法找到违规的源行。为什么会这样呢?从这个转储文件中我能得到什么有用的信息?在干草堆里找到针头有什么建议吗?

这就是我在做的事情。

我通过标记签出了这个版本的源代码。

我将相应的pdb文件复制到与崩溃转储文件myprogram.exe.3140.dmp相同的文件夹中。

然后,我使用用于生成exe的编译器Visual 2012打开崩溃转储。

然后我看到一些有用的信息:

最后写入时间为10/10/2017 15:28:52 : x86异常代码0xC0000005异常信息处理程序试图从它没有适当访问权限的虚拟地址中读取或写入异常信息。堆信息

操作系统6.1.7601版

模块: myprogram.exe 1.7.41.0 myprogram.dll 1.1.0.27等

然后单击“只使用本机调试”。

然后我得到了对话框:

在myprogram.exe.3140.dmp: 0xC0000005:访问冲突执行位置0x548BFFD5中,0x548BFFD5处的未处理异常。

在加载模块中找不到当前堆栈帧。无法显示此位置的源。

我单击“中断”按钮。

然后它说帧不是在模块中。在加载模块中找不到当前堆栈帧。无法显示此位置的源。

然后单击视图反汇编超链接并查看:

548 BFFD5 ??

问号是什么?这是否表明存在悬空指针问题?还有别的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-11 11:32:52

问号意味着地址0x548BFFD5 (您的应用程序正在尝试执行的)上的数据没有分解为任何有意义的内容。

正如您注意到的,您可能有一个悬空指针,或者正在尝试执行已不存在的对象所指向的函数。或者您正在尝试执行一个没有指向任何内容的函数指针。

如果使用符号进行编译,则可以返回调用堆栈/堆栈跟踪,并查看问题从何处开始。

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

https://stackoverflow.com/questions/46687036

复制
相关文章

相似问题

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