如何向windbg询问已打开的转储文件的完整路径

时间:2017-03-17 13:21:34

标签: windbg

当您使用windbg打开转储时,它会输出如下内容:

  

加载转储文件[\ serverX \ dumpfiles \ myapp.dmp]
  具有完整内存的用户迷你转储文件:仅提供应用程序数据   ...

我如何在将来的任何时候向windbg索取该信息? 例如,我跑了

.cls
.wtitle foo

现在已经走完了。

我可以获得其他文件特定信息(不与崩溃相关) 例如日期时间戳?

2 个答案:

答案 0 :(得分:0)

除了再次打开转储之外,没有简单的方法可以获取信息(尝试.restart)。但是有一些模仿类似行为的命令。我会逐行完成这些。

  

Microsoft(R)Windows调试器版本10.0.15003.1001 X86
  版权所有(c)Microsoft Corporation。保留所有权利。

该信息是version命令的一部分。

  

加载转储文件[D:... \ demo.dmp]

这也显示在version中,如果您想减少输出,可以使用||

  

具有完整内存的用户迷你转储文件:只有应用程序数据可用

此信息无法直接访问。 ||命令告诉您它是用户模式转储。要获取用于创建转储的确切标志,请使用

.shell -ci ".dumpdebug" findstr "MiniDump" 
  

*************符号路径验证摘要**************
  响应时间(ms)位置
  延迟SRV * f:\ debug
\ symbols * https://msdl.microsoft.com/download/symbols
  符号搜索路径为:SRV f:\ debug \ symbols https://msdl.microsoft.com/download/symbols

您可以使用.sympath查看符号路径信息。

  

可执行搜索路径为:

请使用.exepath

  

Windows 7版本7601(Service Pack 1)MP(2 procs)免费x86兼容
  产品:WinNt,套件:SingleUserTS Personal
  6.1.7601.18015(win7sp1_gdr.121129-1432)
  机器名称:
  调试会话时间:Tue Jun 10 17:41:42.000 2014(UTC + 1:00)
  系统正常运行时间:0天0:27:20.402
  处理正常运行时间:0天0:00:27.000

您可以通过vertarget获得该作品。

  

此转储文件存储在其中的兴趣例外。
  存储的异常信息可以通过.ecxr访问   (e40.a44):访问冲突 - 代码c0000005(第一次/第二次机会不可用)

我总是使用.exr -1,但输出并不接近。

  

eax = 00000000 ebx = 0039f4a4 ecx = 00000000 edx = 00193d1c esi = 022924f8 edi = 0039f3ec
  eip = 0024008d esp = 0039f3d8 ebp = 0039f3f8 iopl = 0 nv up ei pl nz na po nc
  cs = 0023 ss = 002b ds = 002b es = 002b fs = 0053 gs = 002b efl = 00010202
  0024008d 8b01 mov eax,dword ptr [ecx] ds:002b:00000000 = ????????

这些寄存器可以通过r访问,通常是线程0,所以~0s;r应该可以解决问题。

答案 1 :(得分:0)

使用!dumptype

C:\>kd -c "!dumptype;q" -z e:\testdumps\MEMORY.DMP  | grep -A 5 initial
kd> kd: Reading initial command '!dumptype;q'
e:\testdumps\MEMORY.DMP
Mini
TYPE: 6130d710
quit:

C:\>