bochs调试器安装

首先下载最新版本到Bochs: http://bochs.sourceforge.net/getcurrent.html
下载的版本是bochs-2.4.6.tar.gz,那么安装过程差不多是这样的:

$ tar zxvf bochs-2.4.6.tar.gz
$ cd bochs-2.4.6.
$ ./configure --enable-debugger --enable-disasm
$ make
$ sudo make install
这个网上找到的方法在我的系统中没有成功,出现unreference to "xxxxxx",可能是链接的时候没有找到相应的符号。
成功了的方法:
./configure --enable-gdb-stub
make
make install
虽然成功make install 了,但是bochs没有调试功能。
选自网上:
注意编译后没有文件叫做bochsdbg,你使用bochs
就行了。记得当你在编译内核时要加-g 选项。关于使用
bochs调试的文章参考
http://bochs.sourceforge.net/doc/docbook/user/internal-debugger.html
出现问题:
/home/guang/下载/bochs-20120923/bx_debug/lexer.l:250: undefined reference to `bxtext'
/home/guang/下载/bochs-20120923/bx_debug/lexer.l:186: undefined reference to `bxtext'
/home/guang/下载/bochs-20120923/bx_debug/lexer.l:177: undefined reference to `bxtext'
/home/guang/下载/bochs-20120923/bx_debug/lexer.l:176: undefined reference to `bxtext'
/home/guang/下载/bochs-20120923/bx_debug/lexer.l:175: undefined reference to `bxtext'
bx_debug/libdebug.a(lexer.o):/home/guang/下载/bochs-20120923/bx_debug/lexer.l:174: more undefined references to `bxtext' follow
bx_debug/libdebug.a(lexer.o): In function `yylex':
/home/guang/下载/bochs-20120923/bx_debug/<stdout>:2646: undefined reference to `yywrap'
bx_debug/libdebug.a(lexer.o): In function `bx_add_lex_input':
/home/guang/下载/bochs-20120923/bx_debug/lexer.l:284: undefined reference to `bx_flush_buffer'
collect2: ld returned 1 exit status
make: *** [bochs] 错误 1

不知道什么情况。
好像加了--enable-debugger --enable-disasm就会出错。
今天
我了个去,是安装包的问题。不知道我从哪儿下了个bochs-2009xxxx的tar.gz包。尼玛,官网上的包不知道怎么下。结果去新浪爱问下个bochs-2.4.5.tar.gz,解压,按照最上面的方法,一下子就好了。靠,安装包很重要,官网才是王道。有时间要学会怎么下,找半天没找到源码包的下载地方。


版权声明:本文为A1157599735原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。