关键词不能为空

当前您在: 主页 > 英语 >

使用Windbg双机调试驱动

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-02 11:12
tags:

-

2021年2月2日发(作者:dismiss什么意思)


困扰我多天的问题终于在今天解决了,感觉很轻松啊!调试


Window s


内核程序不能象


r3



的应用层一样,可以随便调试!毕竟人家是运行在


r0


层的!你要是设置中断的话,会导致


整个操作系统暂停!据说以前都使用


SoftICE


调试,这个是一个单机调试的软件,使用后会


使系统很不稳定,后来


NuMega


公司宣布停止


SoftICE


的开发,


因此估计现在也不 太会有人


用了!





微软出的


WinDbg


是利用双机调试的一款软件,


当然按照书上说的,


肯 定使用虚拟机和主机


这样“双”


机调试!在调试的时候要设置很 多东西,


我就是因为设置这些东西困惑了我整整


半个学期!




现在我把自己的设定写一下,也是根据 书上的,但是书上说的实在是他娘的太模糊了!


!下


载安装


winDbg



VMWare


虚拟机我就不说了,已经虚拟机安装


xp


系统!先在 虚拟机的


windows


安装目录下


C


盘下有个



(当然是处于隐藏状态,选择 工具


-


》文件夹选项


-



把隐藏受保护的操作系统文件这个选项去掉)修改


b oot



ini


内容改为




[boot loader]


timeout=30


default=multi(0)d isk(0)rdisk(0)partition(1)WINDOWS


[operating systems]


multi(0) disk(0)rdisk(0)partition(1)WINDOWS=


Wind ows


XP


Professional


/noexecute=optin /fastdetect /noguiboot


multi(0)disk(0)r disk(0)partition(1)WINDOWS=


Windows


XP


Professional


/noexecute=optin /fastdetect /debug/debugport = com1/baudrate=115200




//


红色我本机




绿色背景的是



增加的



[boot loader]


timeout=5


default=multi(0)di sk(0)rdisk(0)partition(1)WINDOWS


[operating systems]


multi(0) disk(0)rdisk(0)partition(1)WINDOWS=


Wind ows


XP


Professional


/noexecute=optin /fastdetect


C:GHLDR=


一键


GHOST v2010.10.10








然后关 闭虚拟机系统,在


VMware



Co mmands


栏中单击


Edit virtual machine setting


“,选


Hardware


页,


然后单击


A dd



选择


Serial Port< /p>


(串口)



单击下一步,


选择


Output to named


pipe < /p>


单击下一步,保持前


2


个不变,分别为< /p>


.pipecom_1



This end is the server,


第三个修


改为


The other end is an application,


这样虚拟机就算设置好了,接下来设置主机,转到你安装


WinDbg


的目录下,然后右击


WinDbg



exe


选择桌面创建快捷方式,退回到桌面,右击该快捷方式,选择属性,将目 标改




FilesDebugging


Tools


for


Windows


(x86)


-b


-k


com:pipe,port=.pipecom_1,resets=0


, 当然


C:Program


FilesDebugging


Tools


for


Windows


(x86)


是你的安装目录,应按照自己的而定!现在万事具备 ,可以调试了




首先在虚拟机里安装 好自己要调试的


sys


文件,然后重新启动虚拟机,开启的时候 会有多了


个选项,选择调试,然后这个时候打开桌面的那个


wi nDbg



(当时我怎么也退步出来鼠标,

鼠标被锁定在虚拟机里面,可以同时按


ctrl+alt



,然后在


WinDbg


里面输入



G


,接下来就是










winDb g



file-


Symbol


path






srv*e:symbs*/down load/symbols;D:WDKfirstobjchk_wxp_x86i386

(其中


D:WDKfirstobjchk_wxp_x86i386


是符号表位置,该位置也就是你的那个


sys


文件< /p>


的地址,前面的好像是下载符号表,前面的


e

代表下载在


E


盘,可以自己改,


) 等到虚拟机


完全进入


windowxp


界面后,


选择开始



运行



cmd



然后输入


net start xxx


启动你的


sys


服务,


这个时候就可 以像调试应用程序一样单步运行什么的了!



















大体在 哇卡卡大牛的帮助下最后面终于成功啦


(DDK


下面的那个


diskperf


被我用


inf

< p>
方式加


载以后用


InstDrv

< br>卸载就使命卸不下来


,


最后已快照收场

< br>),


昭示着我在一个月之后继续开展驱


动之旅

< p>
,


具体教程可以参考教主空间三篇文章


;


Windbg+Vmware


驱动调试入门


(



)_______Windbg


的设 置



Windbg+Vmware


驱动 调试入门


(



)---Vmware< /p>



GuestOS


的设置



Windbg+Vmware


驱动调试入门


(



)---Windbg

基本调试入门



不过第二篇中有个笔误



4.


建立双机调试快捷方式



在桌面建立一个


Windbg


的快捷方式命名为 “双机调试”


,


然后编辑其属性,把“目标”后面


加上



-k com:port=.pipecom_1,baud=11520,pipe



比如我的电脑上,完整的应该是这个样子:



:


FilesDebugging


Tools


for


Windows


(x86)


-k


com:port=.pipecom_1,baud=115200,pipe


并且建议在改



的时候把

debug


的那个项放到第一个


,


然后把


timeout


改小点



这样子开


机就方便多了


,

至少我这么认为


. :-D


有天书夜读的话


,


也可以参看他第八章的相关内容


,(


其实是差不多的


)


最后我们一起来膜拜教主和哇卡卡同学吧


.





Win dbg+Vmware


驱动调试入门


(



)_______Windbg


的设置



2009



01

< br>月


08




20:56


Windbg+Vmware

驱动调试入门,


写给


wakaka


小童鞋,


很强大的小童鞋,


同时也做为自己的

< br>存档


~~



Windbg


的设置




Windbg


本身可以直接从微软的 网站上下载



下载地址:


/whdc/ devtools/debugging/


Windbg


的设 置其实主要是关于调试符号的设置


,


没有符号你会很不爽


,


会忽视掉许多细节


,



此调试符号之于


Windbg


是非 常重要的


.



1.


系统调试符号的设置



首先找个空间足够的位置


,XP sp2


的调试符号完整一点大概需要


1G


的空间

~~


比如我是在


D


< p>
,


建立一个


MyLocalSymbols


文件夹


,


用来存放系统的符号文件

< p>
.


然后你可以从微软的网站上下载相应的调试符号包

(


大要


180M~200M


大小< /p>


),


要根据你虚拟机


中的相应系统版本来 下载,安装到


MyLocalSymbols


文件夹下


.


当然


,


不安装符号 包的话也可以设置成调试时自动从网上下载


(


即使你安装了符号 包


,


有部分


内容还是要到网上下载


),


具体怎么设置稍后讲


.


不过我比较喜欢一次搞完


,


免得每次用的时候都要等 它到网上下载比较慢


~~



2.


自己的调试符号的设置



再建一个文件夹


,


用于存放我们自己编译出来的 驱动的符号文件


.


单独存放


,


不要跟系统的混


到一起


.

我这里就仍在


D


盘建立一个


MyS ysSymbols


文件夹


,


用于存放 自己的符号文件


.


然后给这个文件夹创建一个快捷方式


,


把它放到


C:Documents


and


Settings


你的用户名


SendTo


文件夹下


.

< p>
这样


,


以后编译完驱动以后


,


直接在符号文件上右击


->


发送到



就可以了


,


很 方


便


~~



3.


环境变量的设置



如果你想


Windbg


启动时自动识别符号路径的设置 的话


,


我们就来建立一个环境变量


< /p>




我的电脑



上右击


,


属性



高级



环境变量



然后我们给当前用记新建一个名为


_NT_SYMBOL_PA


TH


的环境变量



值为



:


D :MyLocalSymbols;D:MySysSymbols;SRV*D:MyLocalSymbol s*/d


ownload/symbols


这样设置以后


,


系统的调试符号就在


D:MyLocal Symbols



,


而我们自己驱动的 调试符号就在


D:MySysSymbols




当符号文件不匹配时


,Windbg


会自动连网从


/download/symbols


下 载


符号文件到


D:MyLocalSymbols,

< p>
下次再用到时就不用下载了



设置好保存就可以了


,


修改环境变量需要重新启动系统才能生效

~



到这里我再说一点


,


当你用了一段时间之后


,


常用的符号文件基本 上就全有了,不想等,也可


以用一些方法让


Windbg


马上下载符号文件



直接打一些正确的但是当 前符号包中不正确或不匹配的符号名称可以



刺激



马上到



< br>下



,















.





dt


nt!_KPCR,










TimeDataStamp


不匹配


(


内核等几个核心文件由于更新经常会这样

)


使得


Windbg


无法正确显< /p>


示此符号


,


它就会马上乖乖地到网上把整 个符号文件下载回来


~~



在调试符 号基本全了以后


(


调试时基本不再出现


Windbg


再连网下载符号文件的情况


)

,建议












去< /p>









< p>







D:MyLocalSymbols;D:MySysSymbols






这样就断了它连网下载的念想,


否则你一旦打错个符号,

< p>
它还是会很负责地上网查找、


下载


,


结果还是找不到,浪费很多时间


~~


如果确实某个 符号找不到需要临时上网找,那么执行下面命令就可以了



.sympath+ SRV*D:MyLocalSymbols*/download/symbols


这样就重新恢复了


Windbg


上网下载符号的能力

< p>



这里只是设置部分,关于

Windbg


的初步使用稍后会写,小童鞋莫急哦


~~




这一篇是主要是关于


Vmware


部分的设置


,


其实参考


JIURL


那篇很经典的《借助


VMware



现单机使用


WinD bg



就可以了


.

不过那篇文章里面有个小错误


(不知道是原作者不小心,还


是别人转载的时候错了)


,后面的波特率应为


115200


而非


11520


我就再来写一下吧,内容基本雷同,稍微精简一些




Vmware


的相关设置




1.


编辑


V mware


设置


,


添加一个串口设备< /p>


.


首先我们要添加一个串口设备


.


打开你的虚拟机,选择“编辑虚拟机设置”







然后



添加


)


串口


)


输出到命名管道


)


一路


Next


名称就用默认的< /p>



,这个其实对应于你的串口名称


com1


,用别的名字当然也


可以,不过后面要对应


第二行选择



第三行选择



同时把下面的



打开电源 时连接


)


请见下图:






好了< /p>


,


这回串口设备有了


.

< br>下面进行相关设置





2.


设置串口波特率



启动虚拟机中的


OS,


进入系统


,


打开设备管理器选项


,


这时就看到 刚才添加的串口


com1




双击


com1


设备进入属性设置,在

< p>


端口设置



选项卡中选择< /p>



每秒位数



也就是 波特率为


115200


(


据说


Windbg


可以自动适应波特率,没尝试过,因此还是设置一下吧< /p>


)



-


-


-


-


-


-


-


-



本文更新与2021-02-02 11:12,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/599278.html

使用Windbg双机调试驱动的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文