minidump(.mdmp)文件中的“模块”是什么意思?他们是否为这个过程加载?

时间:2013-03-01 00:06:43

标签: windows debugging crash-dumps

我正在调试我的应用程序启动时生成的minidump文件。我正在Visual Studio 2010中查看转储文件。显示的“模块”是什么?它们都是专门为我的应用程序加载的吗?或者有些只是通用的系统级模块? 我试图确定是否有第三方模块/ dll可能干扰我的应用程序。我指出Sophos是转储中的一个例子。 Sophos可以拦截磁盘写入或内存访问并导致我的应用程序出现问题吗?

这是一个商业应用程序,除少数客户外,启动良好。

感谢。

dump in visual studio 2012

1 个答案:

答案 0 :(得分:1)

您只是看到过程中加载的DLL列表。 minidump用于托管WPF应用程序,但您也可以看到所有非托管DLL。 minidump基本上是对该过程的无管理视图。如果您使用Project + Properties,Debug,“启用非托管代码调试”选项调试您的开发机器上的WPF应用程序,您将获得相同的列表。

是的,您标记的DLL是由Sophos反恶意软件程序注入的。这是完全正常的,这是他们工作的方式。他们绝对做了你怀疑的事情,主要是通过挂钩winapi功能,正如“绕道”的名字所暗示的那样。 Detours是一个Microsoft挂钩库。

它们不会自动成为崩溃的简单解释,尽管它们肯定有破坏稳定程序的诀窍。您的程序因访问冲突而崩溃,您需要使用调试器找出原因。诊断btw不是一件容易的事。祝你好运。