【问题标题】:How to decipher dump file names generated by procdump如何破译由 procdump 生成的转储文件名
【发布时间】:2017-03-21 06:57:05
【问题描述】:

我设置 procdump 以使用以下命令收集故障转储

procdump -ma -i c:\dumps

我现在看到以下转储文件。

MyProcess.exe_150422_041763.dmp
MyProcess.exe_150422_153851.dmp
MyProcess.exe_150422_106442.dmp
MyProcess.exe_150422_043551.dmp
MyProcess.exe_150422_083220.dmp

这里附加的文件名有哪些不同的数字? 由于进程已经崩溃,我无法确认,但我认为 150442 是 PID

【问题讨论】:

  • 也许您可以对 EdChum 的答案有所了解。您介意在 WinDbg 中打开“041763”转储和“106442”转储并告诉我们.time 的输出吗?
  • 不幸的是我没有转储文件了。我得到了太多的转储来查看许多有重复的转储。我不得不清理我的电脑为新的转储文件腾出空间。我将查看较新的文件,看看这是否有意义。

标签: .net windbg crash-dumps procdump


【解决方案1】:

来自docs

如果省略转储文件名,则默认为 <processname>_<datetime>.dmp.

所以举个例子:

MyProcess.exe_150422_041763.dmp

这是:

process name: MyProcess.exe

date: 2015 April 22

time: 041763

不确定这是否代表 4 小时 17 分 63 秒????

【讨论】:

  • 也许这是来自未来的垃圾场,2022 年 4 月 15 日,地球被小行星撞击并移动到不同的轨道,因此每天有 4 个闰秒。
  • @ThomasWeller 也许它正在将你的电脑加速到 2016 年 7 月 29 日,所以你必须尽快支付 Win 10 升级费用
【解决方案2】:

150442 不能是 PID,因为 PID 只有 2 个字节。即使是十进制,这也是不可能的。检查:只需在 WinDbg 中打开转储并使用 | 查看 PID。

Windows SysInternals Administrator's Reference》这本书(我的版本是2012-10-19)在第230页的文件名是这样描述的:

文件名的格式是basename_yyMMdd_HHmmss.dmp

(强调在书中)

稍后在同一页面上

请注意,文件名的格式是固定的,与区域设置无关。

这与您的文件名(63 秒或 64 分钟)不匹配,因此根据您使用的 ProcDump 版本,您应该

a) 如果是当前版本,请报告错误

b) 升级到新版本

另一种可能不太可能的情况是文件名像这样作为参数传递给 ProcDump。由于 ProcDump 将命令行参数作为注释写入转储文件,因此只需在 WinDbg 中打开转储并阅读注释即可。它看起来像这样:

Comment: '
*** procdump.exe  -e 1 -f "" -ma -x test.dmp Debug\SimpleCppCrash.exe
*** Unhandled exception: E06D7363.?AVexception@std@@'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    相关资源
    最近更新 更多