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