ReactOS调试之fDebug

Posted bcbobo21cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ReactOS调试之fDebug相关的知识,希望对你有一定的参考价值。


源码中有个fDebug是好像是用来调试的.所以我就找了先下fDebug的的代码.在D:\\ReactOS\\ReactOS_src\\boot\\freeldr\\fdebug这个目录下.
这里我啰嗦下.源代码的路径别放到目录中有空格的文件夹中,有时会导致不能编译.例如,以前我把源码放在了D:\\Program Files\\ReactOS_src\\boot\\freeldr\\fdebug这个目录下,在编译时可能会发生错误.(至于为什么?我就不啰嗦了)

  好了,回到正题.接下来就是编译fDebug...,看了下fDebug的模块名(怎么看?打开fDebug下的 fDebug.rbuild文件里面有个module name=的字样,后面的就是)当时我随手打开了编译环境,输入"makex freeldr_fdebug",可是提示,mingw32-make: *** No rule to make target `fDebug'.  Stop.,没有次模块,打开配置文件D:\\ReactOS\\ReactOS_src\\boot\\freeldr\\freeldr.rbuild,发现并没有fDebug,那我们自己填,怎么填?嗯是个问题.

follow me:来到这个模块所在的主目录下也就是D:\\Program Files\\ReactOS_src\\boot\\freeldr\\,找到freeldr.rebuild文件打开添加下面的:

<directory name="fdebug">
      <xi:include href="fdebug/fdebug.rbuild" />
</directory>            

然后在编译环境下再次输入: makex freeldr_fdebug.等了会,出现

[LD]       output-i386\\boot\\freeldr\\fdebug\\fdebug.exe
[RSYM]     output-i386\\boot\\freeldr\\fdebug\\fdebug.exe

的字样OK编译好了,我们在运行下:
这里有两个问题:
1,在哪运行呀?如果在windows下兼容吗?
2,文件在哪呀?
答:(1)在windows下,因为我们要在windows下用fDebug和虚拟机调试,可能还会有人问兼容嘛?由于reactos设计的宗旨就是兼容windows,所以,reactos的应用程序几乎都能在windows下运行!,而相反就不一定了,毕竟还在开发中嘛..
(2)文件在哪?正如编译环境给你列出来的D:\\ReactOS\\ReactOS_src\\ output-i386\\boot\\freeldr\\fdebug\\fdebug.exe下就能找到
编译好了,我们来调试吧,先啰嗦下,调试环境,我类似于windbg + Vmware, 首先在虚拟机中装ReactOS,怎么装我就不再啰嗦了,他的老家的论坛上有,然后打开虚拟机的设置->添加硬件-->串口使用命名管道..其余默认就行..
呵呵,开始调试喽,打开虚拟机.以调试模式运行Reactos(就是一进系统有好几个选项我们选第二个(即 ReactOS (Debug))),打开fDebug,如图:

 

以上是关于ReactOS调试之fDebug的主要内容,如果未能解决你的问题,请参考以下文章

VS2012调试ReactOS源码环境搭建4 - 生成ReactOS镜像和VS解决方案成功

VS调试ReactOS源码环境搭建5 - VS通过串口连接虚拟机

什么是RosBE及其安装使用第一次生成ReactOS的VS工程失败

gdb 解析NE

VS2012+WDK8.0搭建WDF驱动开发环境

内核调试之双机调试环境的搭建