linux 0.11 在 bochs中的调试问题 - 解决缺页中断(page_fault)问题

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值