问题1:使用rpm安装包安装后,不能进入调试模式
解决:
1.下载源码
2.tar vxzf 源码包.tar.gz
3.cd 解压后目录
4../configure --enable-debugger --enable-disasm 这就是开启调试模式
5.make
6.sudo make install
问题2:make时报错pthread_create没定义,返回错误1
解决:
网上解决方法2种:
1.修改"Makefile.in" 92 和 93行 为 "CC = @CC@ -pthread" and "CXX = @CXX@ -pthread" (2.4.6版本不在此处,直接查找CC=@CC)
2.在Makefile.in中183行
bochs@EXE@: @IODEV_LIB_VAR@ @DEBUGGER_VAR@ \
cpu/libcpu.a memory/libmemory.a gui/libgui.a \
@DISASM_VAR@ @INSTRUMENT_VAR@ $(BX_OBJS) \
$(SIMX86_OBJS) @FPU_VAR@ @GDBSTUB_VAR@ @PLUGIN_VAR@
@LINK@ @EXPORT_DYNAMIC@ $(BX_OBJS) $(SIMX86_OBJS) \
@IODEV_LIB_VAR@ @DEBUGGER_VAR@ cpu/libcpu.a memory/libmemory.a gui/libgui.a \
@DISASM_VAR@ @INSTRUMENT_VAR@ @PLUGIN_VAR@ \
@GDBSTUB_VAR@ @FPU_VAR@ \
@NONPLUGIN_GUI_LINK_OPTS@ \
$(MCH_LINK_FLAGS) \
$(SIMX86_LINK_FLAGS) \
$(READLINE_LIB) \
$(EXTRA_LINK_OPTS) \
$(LIBS)
在最后$(LIBS)后面加上 \ -lpthread
Makefile.in是用来生成Makefile的,所以无论用哪种方法,都需要重新执行问题的4、5、6三步,否则make照样报错
问题3:sudo make install时说当前用户不是sudoer
解决:
1.终端输入su,并输入管理员密码
2.chmod u+w /etc/sudoers,给sudoers加写权限,否则修改后不能保存
3.gedit /etc/sudoers,修改sudoers,查找"root ALL=(ALL) ALL",在下一行仿照写一句"xxxx ALL=(ALL) ALL"(xxxx即为要获得sudoer权限的用户名)并保存退出
4.chmod u-w /etc/sudoers,将文件写权限去掉
问题4:执行bochs,报错说/usr/bin下不存在bochs
解决:
使用whereis命令查找bochs文件位置,用mv移动到/usr/bin下即可