例如,在执行完一条指令后,
pop {pc}
将一个无效值(例如 0)写入寄存器pc
,CPU 将尝试获取位于 0 处的指令,这通常会触发段错误。
在处理故障时,我们可以读取寄存器的值,包括寄存器的值pc
,在本例中为 0。显然,如果我们可以了解导致无效值的指令的地址pc
,例如上述指令的地址pop
,这将对我们进行调试有很大帮助。有没有办法更早地捕获故障(捕获导致故障的上一条指令)?
例如,在执行完一条指令后,
pop {pc}
将一个无效值(例如 0)写入寄存器pc
,CPU 将尝试获取位于 0 处的指令,这通常会触发段错误。
在处理故障时,我们可以读取寄存器的值,包括寄存器的值pc
,在本例中为 0。显然,如果我们可以了解导致无效值的指令的地址pc
,例如上述指令的地址pop
,这将对我们进行调试有很大帮助。有没有办法更早地捕获故障(捕获导致故障的上一条指令)?