主机与虚拟机都安装上windug、

 配置虚拟机、、

1  将C盘下边的BOOT.INI文件改写、

(文件夹选项不隐藏文件夹不隐藏受保护的文件夹、去掉可读属性)

在像multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect这样的启动项目后增加参数/debug /debugport=com1 /baudrate=115200

 保存并设回可读、

2  关闭虚拟机为虚拟机添加一个com1命令管道模拟一个串口、、、进行通讯、

 选择编辑虚拟机、、

 选择Usb Control  --添加 --  serial control 使用默认设置、、

 添加好后对serial port进行设置、使用命名管道、

 这里注意

 对于客户端来说,命名管道可以是\\[host_name]\pipe\[pipe_name]形式,也可以是\\.\pipe\[pipe_name]形式,其中的"."表示本机。

而服务器端由于只能指定本机作为主机名,故只能使用\\.\pipe\[pipe_name]的形式。

\\.\pipe\com_1

This end is then server

the other and is an application

配置主机

打开windug安装目录、新建快捷方式、

右击快捷方式的属性 在目标编辑框后边添加、参数如下、、

-b -k com:pipe,port=\\.\pipe\com_1,baud=115200,reconnect –y

 运行windug 出现  等待连接的字样、、

Waiting for pipe \\.\pipe\com_1

Waiting to reconnect...  

此时打开虚拟机、、

看windug的反应是已经连接到

aiting for pipe \\.\pipe\com_1

Waiting to reconnect...

Connected to Windows XP 2600 x86 compatible target at (Sat Aug  6 13:19:39.750 2011 (GMT+8)), ptr64 FALSE

Kernel Debugger connection established.  (Initial Breakpoint requested)

Symbol search path is: *** Invalid ***

 不过符号文件没有找到、、(以后说)

 此时虚拟机已经暂停了 看windug显示是下了一个int 3断点、、

此时下命令  g让它跑起来、、、

看到输入g的编辑框显示  Debuggee is running...

同时虚拟机也开始运行了、、、

很简单的windug调试的技巧、、(以后再补、)

 G :运行   

U :汇编   改写内核代码windug很强大咯、、  

F10 :步过    OD   F8

F8,F11:步入  OD  F7

shift+F11:跳出,返回到上层CALL执行  OD ctrl+f9

F5:运行    OD  f9

bp:下断点int 3,CC断点

bl显示断点列表

bc清除指定断点

bd禁用指定断点

be启用指定断点