0

我的 dll 被一个模块使用,该模块肮脏地捕获所有异常并将其登录到文件中。

我的问题是客户站点存在访问冲突,只能在其计算机上重现,我希望该客户能够为此问题生成转储文件。

我试图在我的 dll 中生成一个 AV 并使用 adplus 生成一个转储文件,但由于 AV 被使用我的 dll 的模块捕获,因此没有创建转储文件。

所以我的问题是:

有没有办法在处理异常时生成故障转储文件?

谢谢,

4

2 回答 2

2

使用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>
于 2009-10-08T15:54:33.213 回答
1

对于 Windows Vista SP1 和更高版本,可以将 Windows 错误报告服务配置为在应用程序崩溃时生成崩溃转储:

在注册表项下:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows 错误报告\LocalDumps]

定义值:

  • DumpFolder (REG_EXPAND_SZ) - 存储转储文件的位置
  • DumpType (REG_DWORD) - 2 表示完全转储,1 表示小型转储

这适用于 32 位和 64 位程序。请参阅http://msdn.microsoft.com/en-us/library/bb787181.aspx

于 2011-05-26T07:13:09.393 回答