Debugging Tools for Windows |
KD和WinDbg可以对虚拟机进行内核调试。虚拟机可以运行在调试器同一台物理机器上,或者在连接到相同网络的另一台机器上。
在开始调试之前,需要在虚拟机上创建一条命名管道。调试器通过该管道进行连接。关于如何创建管道,查看所使用的虚拟机文档。
注意 如果使用VMWare的功能来重起虚拟机(例如,重起按钮),需要退出WinDbg并重新打开WinDbg来继续调试。
在进行虚拟机调试时,VMWare通常会占用100%的CPU资源。
如果虚拟机和调试器运行于同一台物理计算机,使用下面的命令之一来开始调试会话。
windbg [-y SymbolPath] -k com:pipe,port=\\.\pipe\PipeName[,resets=0][,reconnect]
如果虚拟机和调试器运行在不同的计算机上,需要使用下面的命令之一来启动会话。
windbg [-y SymbolPath] -k com:pipe,port=\\VMHost\pipe\PipeName[,resets=0][,reconnect]
命令包含以下一些参数:
关于其他命令行选项,查看KD命令行选项或者WinDbg命令行选项。
如果目标机停止响应,可能是因为较早之前的内核调试动作造成的等待,或者使用了-b 命令行选项,调试器立即中断了目标机。
否则,目标及会继续运行,直到调试器的中断。
关于之后的步骤的更多信息,查看调试器配置, 符号, 调试器操作(常规) 和调试器操作(用户模式)。