现在的位置: 首页 > 综合 > 正文

gdb 跳转执行

2014年02月22日 ⁄ 综合 ⁄ 共 432字 ⁄ 字号 评论关闭

《Linux环境下C编程指南(第二版)》p100 gdb 跳转执行
gdb提供了乱序执行的功能,也就是说,gdb可以修改程序的执行顺序,可以让程序执行随意跳转。这个功能可以由gdb的jump命令来实现。
1,指定下一条语句的行号,包括1.数字;2.(+/-)偏移;3.文件名:行号

jump <linespec>

备注:
jump +1表示跳过当前语句,若要跳过下一个语句,则需要使用jump +2
示例使用数字指示行号:

2,指定下一条语句的位置,包括1.函数名;2.文件名:函数名;3.*内存地址

jump <location>

示例使用内存地址:

备注:

jump跳转到指定执行点不会暂停,也就是说gdb会从该执行点继续执行,若想gdb在该执行点暂停,需要手动设置断点。
如下所示,执行jump +2跳转到45行并执行func2()打印call func2,然后程序继续执行并正常结束:

参考链接:

【上篇】
【下篇】

抱歉!评论已关闭.