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

How do I ask windbg for the fullpath of the dump file it has open

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

Loading Dump File [\serverX\dumpfiles\myapp.dmp]
User Mini Dump File with Full Memory: Only application data is available ...

我以后如何随时向 windbg 询问该信息? 比如我运行

.cls
.wtitle foo

现在完整路径消失了。

是否有我可以获得的其他文件特定信息(与崩溃无关) 例如日期时间戳?

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

Microsoft (R) Windows Debugger Version 10.0.15003.1001 X86
Copyright (c) Microsoft Corporation. All rights reserved.

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

Loading Dump File [D:...\demo.dmp]

这在version中也有显示,如果你想要更少的输出,你可以使用||

User Mini Dump File with Full Memory: Only application data is available

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

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

************* Symbol Path validation summary **************
Response Time (ms) Location
Deferred SRV*f:\debug
\symbols*https://msdl.microsoft.com/download/symbols
Symbol search path is: SRVf:\debug\symbolshttps://msdl.microsoft.com/download/symbols

您可以通过.sympath查看符号路径信息。

Executable search path is:

为此使用 .exepath

Windows 7 Version 7601 (Service Pack 1) MP (2 procs) Free x86 compatible
Product: WinNt, suite: SingleUserTS Personal
6.1.7601.18015 (win7sp1_gdr.121129-1432)
Machine Name:
Debug session time: Tue Jun 10 17:41:42.000 2014 (UTC + 1:00)
System Uptime: 0 days 0:27:20.402
Process Uptime: 0 days 0:00:27.000

您可以通过 vertarget 获得。

This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(e40.a44): Access violation - code c0000005 (first/second chance not available)

我总是使用 .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 应该可以解决问题。

使用 !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:\>