我正在调试我的应用程序启动时创建的小型转储文件。我在 Visual Studio 2010 中查看转储文件。显示的“模块”是什么?它们都是专门为我的应用程序加载的吗?或者有些只是通用的系统范围模块?我正在尝试确定是否存在可能干扰我的应用程序的 3rd 方模块/dll。我在转储中指出了 Sophos 作为示例。Sophos 是否会拦截磁盘写入或内存访问并导致我的应用程序出现问题?
这是一个启动良好的商业应用程序,除了少数客户。
谢谢。
我正在调试我的应用程序启动时创建的小型转储文件。我在 Visual Studio 2010 中查看转储文件。显示的“模块”是什么?它们都是专门为我的应用程序加载的吗?或者有些只是通用的系统范围模块?我正在尝试确定是否存在可能干扰我的应用程序的 3rd 方模块/dll。我在转储中指出了 Sophos 作为示例。Sophos 是否会拦截磁盘写入或内存访问并导致我的应用程序出现问题?
这是一个启动良好的商业应用程序,除了少数客户。
谢谢。
您只是看到在进程中加载的 DLL 列表。minidump 用于托管 WPF 应用程序,但您也会看到所有非托管 DLL。小型转储基本上是流程的非托管视图。如果您在开发机器上调试您的 WPF 应用程序并勾选“项目 + 属性”、“调试”、“启用非托管代码调试”选项,您将获得相同的列表。
是的,您标记的 DLL 是由 Sophos 反恶意软件程序注入的。这是完全正常的,这是他们的工作方式。正如“迂回”的名字所暗示的那样,他们绝对会做你怀疑的事情,主要是通过挂钩 winapi 函数。Detours 是一个 Microsoft 挂钩库。
它们不会自动成为崩溃的简单解释,尽管它们肯定有破坏程序稳定的诀窍。您的程序因访问冲突而崩溃,您需要使用调试器找出原因。顺便说一句,这不是一种容易诊断的崩溃。祝你好运。