linux 0.11 调试时学习linux 0.11一个非常好的方式,但是若没有设置好bochs,会出现page_fault缺页中断,导致不能正常调试。
参考 下面的文章对bochs2.2 进行修改编译后发现并不能解决问题。
{
这个问题困扰了好长时间,bxrc配置文件不使能stub的情况下,可以正常运行,但是一进入到gdb中,就总是出现page_fault,查了好久终于发出原因,是bochs在检测到int14 对应的信号量SIGSEGV时会向gdb发送信号量,而gdb接收到此信号默认的处理就是停止,打印,于是在进入到init函数后的执行过程中,如果执行的文件如sh总是出现页面不在物理页面的情况下,就会报错,而此时应该是正常现象。解决方案如下:
重新安装bochs,修改gdbstub.cc中的
476 if (last_stop_reason == GDBSTUB_EXECUTION_BREAKPOINT ||
477 last_stop_reason == G