您的位置:首页 > 其它

Bochs安装和启动中遇到的问题解决方案

2014-04-24 10:13 204 查看
在bochs编译过程中出现错误:“fatal error gtk/gtk.h no such file or directory”

1. sudo apt-get install libgtk2.0-dev

2. make dist-clean

3. ./configure –enable-debugger –enable-disasm

4. make

在bochs启动过程中出现错误“invalid choise core2_penryn_t9600”引起“cpu directive malformed”

1. bochs -help cpu

将显示出所有支持的CPU类型

2. 修改.bochsrc文件中cpu: model=core2+penryn_t9600为cpu: model=上一条查到的所支持的CPU类型之一

启动过程中出现“message:ata0-0:could not open hard drive image file ’30M.sample’”

1. 修改.bochsrc文件,将ata0-master: type=disk, mode=flat, path="30M.sample"注释掉

bochs和freedos如何一起调试引导程序

参考:http://blog.csdn.net/tianzhhy/article/details/5802278

在.bochsrc中将magic_break: enabled=1的注释取消。然后在程序需要添加断点的地方加上一句xchg bx,bx,运行到这条指令时会断到Bochs调试器。

编译、拷贝到pm.img中、启动bochs、敲入c
后回车、在freedos中进入b盘,运行pmtest.com、在bochs的调试窗口中将会停在xchg bx,bx处,即可继续在bochs中继续单步调试程序

汇编和C同时使用时:

因为是64位的操作系统,nasm默认编译为32位的文件,而gcc默认编译位64位目标代码。因此会出现“ld: i386 architecture of input file `foo.o' is incompatible with i386:x86-64 output”这个错误。

解决办法是:

32位的编译链接指令

nasm -f elf foo.s -o foo.o

gcc -m32 -c bar.c -o bar.o

ld -m elf_i386 -s -o foobar foo.o bar.o
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: