我的目标是在应用程序崩溃时生成崩溃转储。
我有一个用 C++ 编写的 DLL。它用于 C# .NET 应用程序(以及其他应用程序)。在 DLL 中,我使用 SetUnhandledExceptionFilter 设置我自己的自定义未处理异常过滤器,并在处理程序中使用 MiniDumpWriteDump 编写转储。
当我在 VS2008 中运行 .NET 应用程序时,它工作正常,当出现内存访问冲突时,转储被写入,应用程序退出。
但是,当我在 VS 之外独立运行它时,根本不会调用我的自定义处理程序,也不会写入转储。相反,会显示一个错误对话框,其中包含消息“您的应用程序中发生未处理的异常...”以及“详细信息”、“继续”和“退出”按钮。
我猜当我作为独立运行它时,操作系统(Windows 7)由于某种原因阻止我的处理程序被安装。
谁能帮我这个?