0

简短的

使用以下任何一种方法创建转储文件都会减慢(> 2 分钟)以用于我们当前的场景。

  • procdump -ma notepad
  • procdump notepad
  • 打开任务管理器,选择记事本,创建转储文件

有人有什么主意吗

  • 可能是什么原因造成的
  • 如何加快速度

编辑:一些额外的信息

  • 使用 procexp 并查看调用堆栈转储记事本,它似乎在 dbghelp 的方法中占用了一个内核的 100% cpu:dbghelp.dll!MiniDumpReadDumpStream+0x241a

幸运的是,我们首先用记事本尝试了这个

背景

我们正在尝试在关键应用程序的第一次机会异常上创建一个转储文件,并尽可能减少影响。应用程序不应暂停超过几秒钟。

在此处输入图像描述

4

2 回答 2

0

最后,这竟然与我们的 AV 和特定 dbghelp.dll 版本的组合有关。

测试组合

  • 使用 dbghelp 版本 6.0 启用 AV 会降低速度
  • AV Disabled with dbghelp version 6.0 没问题
  • 使用 dbghelp 6.3 版启用 AV 没问题

dbghelp.dll 测试的版本

于 2014-07-28T06:14:22.283 回答
0

根据您的描述,听起来您可能正在请求完整的堆转储 (.hdmp)。完全转储往往需要更长时间。如果这是一次性练习,您可能会从捕获 minidump中受益。否则,您需要将崩溃报告策略集成到您的应用程序中。

于 2013-10-03T13:03:08.947 回答