环境:MIPS,Nucleus,gdb
1、gdb设置断点,系统运行到断点处进入异常模式。
2、gdb单步执行(ni),将断点处的那条指令替换成ssdbp指令,异常返回,执行ssdbp后进入调试异常。
3、将受害指令替换成原始指令,并置位单步调试标识,调试异常返回,执行断点处那条原始指令后重新进入单步调试异常。
4、清除单步调试标识,调试异常返回,系统继续运行。
到第4步全速运行后,系统就crash了。在全速运行之前,系统寄存器和任务栈都还是好好的。。。
而且如果刚开始在断点处直接清除断点,全速运行,就是好好的。到单步里面兜了一圈就出问题了
哪些地方可能出问题呢?