如何利用wmware实现双机调试以及windbg的配置

2025-03-31 19:24:55
推荐回答(1个)
回答1:

Windbg可以用于如下三种调试:

远程调试:你可以从机器A上调试在机器B上执行的程序。具体步骤如下:
? 在机器B上启动一个调试窗口(Debug Session)。你可以直接在Windbg下运行一个程序或者将Windbg附加(Attach)到一个进程。

? 在机器B的Windbg命令窗口上启动一个远程调试接口(remote):

.server npipe:pipe=PIPE_NAME

PIPE_NAME是该接口的名字。

? 在机器A上运行:

windbg –remote npipe:server=SERVER_NAME,pipe=PIPE_NAME

SERVER_NAME是机器B的名字。

Dump文件调试:如果在你的客户的机器上出现问题,你可能不能使用远程调试来解决问题。你可以要求你的用户将Windbg附加到出现问题的进程上,然后在命令窗口中输入:
.dump /ma File Name

创建一个Dump文件。在得到Dump文件后,使用如下的命令来打开它:

windbg –z DUMP_FILE_NAME

本地进程调试:你可以在Windbg下直接运行一个程序:
Windbg “path to executable” arguments

也可以将Windbg附加到一个正在运行的程序:

Windbg –p “process id”

Windbg –pn “process name”

注意有一种非侵入(Noninvasive)模式可以用来检查一个进程的状态并不进程的执行。当然在这种模式下无法控制被调试程序的执行。这种模式也可以用于查看一个已经在Debugger控制下运行的进程。具体命令如下:

Windbg –pv –p “process id”

Windbg –pv –pn “process name”