WinDbg:第一次机会异常输出的括号中的类地址是什么?
WinDbg: what is the address-like in parantheses on first chance exceptions output?
WinDbg 预览版在开始调试可执行文件后立即中断:
(3bf4.2318): Break instruction exception - code 80000003 (first chance)
ntdll!LdrpDoDebuggerBreak+0x30:
00007ffe`d84e06b0 cc int 3
我会继续:
0:000> g
它将为 .NET 和 OS 文件输出一系列 ModLoad: 行,然后关于第一次机会异常的类似输出:
(3bf4.2318): Unknown exception - code 04242420 (first chance)
在前面的输出中,我了解到代码表示异常类型。但是什么代表3bf4.2318
呢?为什么该值与与中断指令异常相关的第一个输出中的值相同,即使现在它表示未知异常?
这是发生异常的进程ID和线程ID。我不知道在 WinDbg 文档的深处是否描述了该输出。但是您可以在初始断点
上轻松验证
(5130.710): Break instruction exception - code 80000003 (first chance)
并将其与 process status (MSDN) (|
)
进行比较
0:000> |
. 0 id: 5130 create name: Test.exe
和 thread status (MSDN) (~
) 具有相同的格式但没有括号:
0:000> ~
. 0 Id: 5130.710 Suspend: 1 Teb: 00c7c000 Unfrozen
进程和线程信息很有用,因为
a) WinDbg 能够同时调试许多进程(例如 .childdbg
和 .attach
)和
b) 你可以在~~[<Thread ID>]s
命令中使用它来切换到线程
0:007> ~~[710]s
[...]
0:000>
WinDbg 预览版在开始调试可执行文件后立即中断:
(3bf4.2318): Break instruction exception - code 80000003 (first chance)
ntdll!LdrpDoDebuggerBreak+0x30:
00007ffe`d84e06b0 cc int 3
我会继续:
0:000> g
它将为 .NET 和 OS 文件输出一系列 ModLoad: 行,然后关于第一次机会异常的类似输出:
(3bf4.2318): Unknown exception - code 04242420 (first chance)
在前面的输出中,我了解到代码表示异常类型。但是什么代表3bf4.2318
呢?为什么该值与与中断指令异常相关的第一个输出中的值相同,即使现在它表示未知异常?
这是发生异常的进程ID和线程ID。我不知道在 WinDbg 文档的深处是否描述了该输出。但是您可以在初始断点
上轻松验证(5130.710): Break instruction exception - code 80000003 (first chance)
并将其与 process status (MSDN) (|
)
0:000> |
. 0 id: 5130 create name: Test.exe
和 thread status (MSDN) (~
) 具有相同的格式但没有括号:
0:000> ~
. 0 Id: 5130.710 Suspend: 1 Teb: 00c7c000 Unfrozen
进程和线程信息很有用,因为
a) WinDbg 能够同时调试许多进程(例如 .childdbg
和 .attach
)和
b) 你可以在~~[<Thread ID>]s
命令中使用它来切换到线程
0:007> ~~[710]s
[...]
0:000>