李sir_Blog

博客园 首页 联系 订阅 管理

以前调试内核总是失败。今日成功。做个笔记。

其他的网上雷同的不做说明

(1):Symbol Search path:srv*C:\Windows\Symbols*http://msdl.microsoft.com/

download/symbols;E:\first\objchk_wxp_x86\i386

(2):Source File Path:E:\first

(3):之前的虚拟串口为串口2,但是按照网上通常的配置都是串口1的配置所以老是不成功,应该在虚拟机中配置如下:

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Debug" /fastdetect /debugport=com2 /baudrate=115200

注意这里的debugport=com2指的是实际的串口。而winDug中不用变。里面指的的是com口

(4)windug:  -k com:port=\\.\pipe\com_1,baud=115200,pipe

或其他的通用的配置

(5):先启动虚拟机选择调试模式进入,然后运行winDug快捷方式,连接的时候会停下来,这个时候点break.然后会继续运行。出现80528bdc cc              int     3这样的类型提示。这个时候虚拟机停下来了。然后在windug中输入g,表示运行。这个时候虚拟机运行。windug忙碌。

(6):将编译后的sys和加载工具拷贝进虚拟机安装,点启动。如果在DriverEntry中设置了断点。则这个时候虚拟机会停下来。然后windug进入断点。按工具栏的步入和步过单步调试。

(7):用u看入口,用bp设置断点.如bp DriverUnload
或bp first!DriverUnload就会在DriverUnload函数设置一个断点

用bl查看所有断点

kd> bl
 0 e f8ce4490 [e:\first\first.c @ 11]    0001 (0001) first!DriverUnload

用kd>bd 0删除断点

kd> bc 0清除断点

 

 

 

posted on 2010-12-15 21:04  李sir  阅读(1108)  评论(0编辑  收藏  举报