linux下调试linux0.11

网友投稿 646 2022-10-05

linux下调试linux0.11

linux下调试linux0.11

image直接用的这里的install ncurses-devel

./configure --disable-werror

make

make install

./configure  --enable-gdb-stub

make

make install

0x0000a0ec in page_fault().的问题是由于bochs给GDB丢出了signal 0,另外GDB也不能处理signal 0 该signal 0 由bochs的gdbstub.cc 文件的函数debug_loop 的如下语句发出  write_signal(&buf[1], 0); (bochs2.2 中gdbstub.cc 第475行)。尝试将该0值改为其他,并在GDB这边来相应忽略,发现系统响应速度变慢,效果不佳。尝试另一种方法,在bochs的cpu.cc文件的函数cpu_loop代码中修改一下(将第一个return 注释掉 第156行),该问题不再出现,由于在该情况下不需要和GDB交互,因此系统响应的速度没有变慢。暂时未发现其他问题。

voidBX_CPU_C::cpu_loop(Bit32s max_instr_count){ unsigned ret; bxInstruction_c iStorage BX_CPP_AlignN(32); bxInstruction_c *i = &iStorage;#if BX_DEBUGGER BX_CPU_THIS_PTR break_point = 0;#if BX_MAGIC_BREAKPOINT BX_CPU_THIS_PTR magic_break = 0;#endif BX_CPU_THIS_PTR stop_reason = STOP_NO_REASON;#endif if (setjmp( BX_CPU_THIS_PTR jmp_buf_env )) { // only from exception function can we get here ... BX_INSTR_NEW_INSTRUCTION(BX_CPU_ID);#if BX_GDBSTUB if (bx_dbg.gdbstub_enabled) { //return; // 此处注释掉,以免return后,后续处理发送signal 0 给GDB }#endif }

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:你应该知道的微信小程序概念篇(微信小程序百科)
下一篇:小程序之如何实现朋友圈图片的生成
相关文章

 发表评论

暂时没有评论,来抢沙发吧~