我还想问一件事:在某处我读过windbg支持多种调试模式,其中一种模式是某种内核调试,系统正常运行,不等待windbg断点等。是这个本地内核调试模式?此外,如果有人能够非常简短地澄清Non invasive debugging和Dormant mode之间的差异。我没有从MSDN中获取它。谢谢
答案 0 :(得分:5)
你可以多次区分 p>
a)内核调试和用户模式调试(应用程序调试)之间的
b)实时调试(运行系统)和事后调试(崩溃转储分析)之间的
c)本地调试和远程调试之间的
所以总共有8种调试组合。
对于本地实时内核调试,您需要将Windows内核置于调试模式。如果您不想这样,您可以使用SysInternals LiveKd获取"伪" - 本地内核调试。
无创调试是用户模式调试的一个子集,最好由您已链接到的文章(WinDbg帮助的副本)描述,其中说:
使用非侵入式调试,您没有那么多调试操作。但是,您可以最大限度地减少调试器对目标应用程序的干扰。如果目标应用程序已停止响应,则无创调试很有用。
在非侵入式调试中,调试器实际上并未附加到目标应用程序。调试器挂起所有目标线程,并可访问目标的内存,寄存器和其他此类信息。但是,调试器无法控制目标。
休眠模式是指WinDbg正在运行但未附加到任何目标。例如。如果你只是在没有任何命令行选项的情况下启动WinDbg,而你还没有按 F6 来附加到进程。