linux下生成带gdb-stub功能的bochs和bochsgdb

660阅读 0评论2014-03-01 慕冬亮
分类:LINUX

1. 生成带gdb-stub功能的bochs

     ./configure --enable-debugger-gui --enable-gdb-stub --with-wx

     make

     make install

--with-wx表示使用wxWidget界面库

2. 生成bochsdbg

在windows下安装完官方下载的bochs后,会有一个大概是bochsdbg.exe用来调试的程序,但linux底下是没有的,必须编译安装源代码。

创建对应的makefile文件。命令:

     ./configure --enable-debugger --enable-disasm

或复杂点:(增加相关GUI库支持)

     ./configure --enable-debugger --enable-disasm --enable-debugger-gui --with-all-libs --enable-x86-debugger

再make, 这样bochs就生成了。把bochs改名为bochsdbg并复制到bin目录下或者/usr/local/bin下面

3. 命令行方式启动bochs

     bochsdbg -q -f sample.bxrc (调试版本)

     bochs -q -f sample.bxrc

4. 使用GDB调试bochs里面的代码

通过第一步,我们得到了具有gdb-stub功能的bochs,接下去在bxrc文件中开始处添加:

     gdbstub: enabled=1, port=1234, text_base=0, data_base=0, bss_base=0

保存后,使用命令:

     bochs -q -f sample.bxrc

启动程序后,会得到以下信息:

     00000000000i[     ] reading configuration from bochsrc-0.00_mini.bxrc

     00000000000i[     ] Enabled gdbstub
     00000000000e[     ] bochsrc-0.00_mini.bxrc:14: 'vga_update_interval' will be replaced by new 'vga: update_freq' option.
     00000000000i[     ] installing x module as the Bochs GUI
     00000000000i[     ] using log file bochsout.txt
     Waiting for gdb connection on port 1234

接下去切换到另一个终端,使用gdb打开对应的需要debug的程序

     gdb sample

上一篇:一个操作系统的实现笔记一:搭建工作环境
下一篇:向Ubuntu Dash中添加图标