windbg的多种调试模式
Various debug modes of windbg
我还想问一件事:我在某个地方读到 windbg 支持多种调试模式,其中一种模式是某种内核调试,其中系统通常 运行 并且不等待用于 windbg 断点等。这是本地内核调试模式吗?另外,如果有人可以非常简要地澄清 Non invasive debugging and Dormant mode 之间的区别。我没有从 MSDN 上找到它。谢谢
调试类型
分几次就可以了
a)内核调试和用户态调试(应用程序调试)之间
b) 在实时调试(运行 系统)和 post 实时调试(崩溃转储分析)之间
c) 本地调试和远程调试之间
所以总共有8种调试组合。
对于本地实时内核调试,您需要将 Windows 内核置于调试模式。如果你不想这样,你可以使用 SysInternals LiveKd.
获得“伪”-实时本地内核调试
非侵入式调试
非侵入式调试是用户模式调试的一个子集,您已经链接到的文章(它是 WinDbg 帮助的副本)对其进行了最好的描述,其中说:
With noninvasive debugging, you do not have as many debugging actions. However, you can minimize the debugger's interference with the target application. Noninvasive debugging is useful if the target application has stopped responding.
In noninvasive debugging, the debugger does not actually attach to the target application. The debugger suspends all of the target's threads and has access to the target's memory, registers, and other such information. However, the debugger cannot control the target.
休眠模式
休眠模式是当 WinDbg 运行 但没有附加到任何目标时。例如。如果您只是在没有任何命令行选项的情况下启动 WinDbg,并且您还没有按 F6 来附加到进程。
我还想问一件事:我在某个地方读到 windbg 支持多种调试模式,其中一种模式是某种内核调试,其中系统通常 运行 并且不等待用于 windbg 断点等。这是本地内核调试模式吗?另外,如果有人可以非常简要地澄清 Non invasive debugging and Dormant mode 之间的区别。我没有从 MSDN 上找到它。谢谢
调试类型
分几次就可以了
a)内核调试和用户态调试(应用程序调试)之间
b) 在实时调试(运行 系统)和 post 实时调试(崩溃转储分析)之间
c) 本地调试和远程调试之间
所以总共有8种调试组合。
对于本地实时内核调试,您需要将 Windows 内核置于调试模式。如果你不想这样,你可以使用 SysInternals LiveKd.
获得“伪”-实时本地内核调试非侵入式调试
非侵入式调试是用户模式调试的一个子集,您已经链接到的文章(它是 WinDbg 帮助的副本)对其进行了最好的描述,其中说:
With noninvasive debugging, you do not have as many debugging actions. However, you can minimize the debugger's interference with the target application. Noninvasive debugging is useful if the target application has stopped responding.
In noninvasive debugging, the debugger does not actually attach to the target application. The debugger suspends all of the target's threads and has access to the target's memory, registers, and other such information. However, the debugger cannot control the target.
休眠模式
休眠模式是当 WinDbg 运行 但没有附加到任何目标时。例如。如果您只是在没有任何命令行选项的情况下启动 WinDbg,并且您还没有按 F6 来附加到进程。