我的 dll 被一个模块使用,该模块肮脏地捕获所有异常并将其登录到文件中。
我的问题是客户站点存在访问冲突,只能在其计算机上重现,我希望该客户能够为此问题生成转储文件。
我试图在我的 dll 中生成一个 AV 并使用 adplus 生成一个转储文件,但由于 AV 被使用我的 dll 的模块捕获,因此没有创建转储文件。
所以我的问题是:
有没有办法在处理异常时生成故障转储文件?
谢谢,
扬
我的 dll 被一个模块使用,该模块肮脏地捕获所有异常并将其登录到文件中。
我的问题是客户站点存在访问冲突,只能在其计算机上重现,我希望该客户能够为此问题生成转储文件。
我试图在我的 dll 中生成一个 AV 并使用 adplus 生成一个转储文件,但由于 AV 被使用我的 dll 的模块捕获,因此没有创建转储文件。
所以我的问题是:
有没有办法在处理异常时生成故障转储文件?
谢谢,
扬
使用ADPlus ,您可以在此处阅读有关配置 ADPlus的更多信息(Minidumps for Specific Exceptions)
您的配置文件将如下所示:
<ADPlus>
<Settings>
<RunMode>CRASH</RunMode>
<Option>Quiet</Option>
</Settings>
<Exceptions>
<Config>
<Code>AllExceptions</Code>
<Actions1>FullDump</Actions1>
</Config>
</Exceptions>
</ADPlus>
对于 Windows Vista SP1 和更高版本,可以将 Windows 错误报告服务配置为在应用程序崩溃时生成崩溃转储:
在注册表项下:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows 错误报告\LocalDumps]
定义值:
这适用于 32 位和 64 位程序。请参阅http://msdn.microsoft.com/en-us/library/bb787181.aspx