Debugging Tools for Windows

开始Remote.exe会话

有两种方法可以用来和KD、CDB一起启动remote.exe会话。只有第二种方法可以被NTSD使用。

自定义命令提示符窗口

Remote.exe客户端和Remote.exe服务器运行在命令提示符窗口中。

要准备好使用远程会话,需要自定义该窗口来增强可用性。打开一个命令提示符窗口。在标题栏右键点击并选择属性(Properties)。选择布局(Layout)选项卡。在"屏幕缓冲区大小"("Screen Buffer Size")中的宽度(Width)中填入90,在高度(Height)中填入40009000的值。这样会启用内核调试器的远程会话的滚动条。

如果要改变命令提示符窗口的大小,可以改变"窗口大小" ("Windows Size")中的高度和宽度。选择选项(Options)选项卡,启用编辑选项(Edit Options)中的快速编辑模式和插入模式。这使得可以在命令提示会话中剪切和粘贴信息。点击确定(OK)来应用这些修改。选择这些选项以在以后的所有提示符会话中使用。

启动Remote.exe服务器:第一种方法

启动Remote.exe服务器的常规语法如下:

remote /s "Command_Line" Unique_Id [/f Foreground_Color] [/b Background_Color

使用和下面例子同样的方式来在远程计算机上启动KD或CDB:

remote /s "KD [options]" MyBrokenBox 

remote /s "CDB [options]" MyBrokenApp 

这样会在命令提示符窗口中启动Remote.exe服务器,并启动调试器。

可以用该方法来直接启动NTSD,因为NTSD的进程运行在另一个不同的窗口中。

启动Remote.exe服务器:第二种方法

还有另外一种用于启动Remote.exe服务器的方法。该方法先启动调试器,然后再使用.remote (Create Remote.exe Server)命令启动服务器。

由于.remote 命令在调试器启动之后才输入,所以该方法在KD、CDB和NTSD上的使用是相同的。

这里是一个例子。首先用常规方式启动调试器:

KD [options

调试器运行起来之后,使用.remote命令:

.remote MyBrokenBox 

这样也会创建ID为"MyBrokenBox"的Remote.exe服务器,和使用第一种方法的结果一样。

这种方法的一个好处是不用预先决定是否使用远程调试。当使用控制台调试器进行调试时决定让位于其他地方的人来接管调试,可以用.remote命令来让他们连接到会话上。

启动Remote.exe客户端

启动Remote.exe客户端的常规语法如下:

remote /c ServerNetBIOSName Unique_ID [/l Lines_to_Get] [/f Foreground_Color] [/b Background_Color

例如,如果前面描述过的"MyBrokenBox" 会话在网络名为"Server2"的本地主机上已经启动起来,就可以使用该命令连接到它:

remote /c server2 MyBrokenBox 

网络上任何具有适当权限的人都可以连接到该调试会话上,只要他们知道机器名和会话ID。

输入命令

通过Remote.exe客户端输入的命令会传输到Remote.exe服务器。可以在客户端输入任何命令,如同直接在调试器中输入一样。

在Remote.exe客户端上退出remote.exe会话,输入@Q 命令。这会让Remote.exe服务器和调试器继续运行。

在Remote.exe服务器上输入@K 命令结束服务器会话。

Build machine: CAPEBUILD