欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Windbg远程调试(MSDN翻译)

程序员文章站 2022-07-15 14:22:57
...

使用Windbg进行远程调试

远程调试是需要又在不同位置上的调试器。执行真正调试称为调试服务器,另外一个,被称为,调试客户端。调试客户端,控制着一个与远程调试器相应的是会话。为了建立调试服务器,然后再打开调试客户端。

被调试的代码可以运行在调试服务器的同一台机器上,或者是运行在独立的机器上。如果调试服务器作为用户调试模式,这是被调试的进程能够运行在调试服务器所在的机器上。如果调试服务器作为内核调试模式,这是被调试的代码往往需要运行在另一台目标机器上。

下面的图表示了一个调试服务器的远程会话,调试服务器运行在宿主计算机上,被调试的内核模式代码运行在另一台分离的目标计算机上。

Windbg远程调试(MSDN翻译)

有几种传输协议可以用来作为远程调试的连接:TCP,NPIPE,SSL和COM port.假设你选择使用TCP作为连接协议你就需要选择Windbg作为调试客户端和调试服务器。你可以按照下面的内容来建立远程内核模式调试会话:

1.在宿主计算机上,打开WinDBG,然后和目标机器建立内核模式调试会话。

2.在调试菜单中点击Break或者直接Ctrl-Break。

3.在Debugger Command Window中,输入如下命令(5005为任意选择的端口作为实例):

.server tcp:port=5005

4.WinDbg将返回如下内容:

Server started.  Client can connect with any of these command lines
0: <debugger> -remote tcp:Port=5005,Server=YourHostComputer

5.在远程计算机上,打开WinDbg,选择File菜单中的Connect to Remote Session。

6.在Connection String下面, 输入下面的字符串

tcp:Port=5005,Server=YourHostComputer

YourHostComputer的地方可以是你运行调试服务器计算机的名字,或者是IP.

完成上述步骤之后,点击OK。

 

使用命令行

作为之前提供方法的另一种可行的方法,你可以使用命令行来建立一个远程调试会话。假设你已经建立了一个内核模式的调试会话,在Host计算机和目标计算机之间使用32通道的1394线缆来进行连接。你可以使用如下的命令来建立一个远程调试会话:

1.在你的Host计算机上,打开CMD,输入如下的命令:

windbg -server tcp:port=5005 -k 1394:channel=32

2.在作为客户端的远程计算机上,打开CMD输入如下的命令:

windbg -remote tcp:Port=5005,Server=YourHostComputer

在YourHostComputer的地方,可以输入你的作为调试服务器的计算机的名称或者是IP,

附加信息

有许多建立远程调试的方法。有关于建立一个调试服务器更完整的信息可以在WinDbg的命令输入框中输入 .server 查看。要查看更完整的关于WinDbg启动命令行的信息可以查看WinDbg Command-Line Options.

相关标签: WinDbg