轻量级前端框架助力开发者提升项目效率与性能
646
2022-10-05
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~