《表1 GDB stub调试命令及含义》

《表1 GDB stub调试命令及含义》   提示:宽带有限、当前游客访问压缩模式
本系列图表出处文件名:随高清版一同展现
《虚实结合的迭代式固件分析技术》


  1. 获取 高清版本忘记账户?点击这里登录
  1. 下载图表忘记账户?点击这里登录

图2中,GDB stub是嵌入到目标机的一段代码,是GDB调试器和要调试的目标代码进行交互的媒介。调试的主要目的是获得代码执行的状态信息,这需要调试代理能够获取控制权,一般是通过调试断点来实现,因此要求GDB stub支持设置调试断点。处理器在运行的过程中,如果碰到了一条非法的指令,就会出现一个异常中断,程序也会停了下来,GDB stub就是利用这个特性来设置断点。当需要设置一个断点时,GDB stub就在想设置断点的程序位置上放置一条非法的指令,同时保留原来的指令。当程序运行时,一旦运行到设置了断点的地方,即现在指令是非法的位置,处理器就会产生一个异常中断从而停了下来。当然,GDB stub会接管这一中断,跳转到自定义的中断处理程序中,最后再将保存的原来的指令恢复回去。GDB stub中实现的部分调试命令见表1。