Chinaunix首页 | 论坛 | 博客
  • 博客访问: 53046
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 23
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-01 11:00
文章分类
文章存档

2014年(24)

2013年(7)

我的朋友

分类: LINUX

2014-03-01 20:37:19

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

阅读(637) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~