简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
1.前言
本篇目的:GDB调试时,如果走到第100行时,还想回到第50行重新调试?如果不想重新run一遍,有没有其他方式呢?
2.调试实例
#include <cstdio>int main(void) {int *p = nullptr;printf("12345\n");*p = 77;return 0;
}
使用break 4; jump 4指令,跳到任意行调试步骤
gdb) n
5 printf("12345\n");
//1.已经走到第5行。(gdb) n
12345
6 *p = 77;
//2.已经走到第6行。//3.重新打断点到第4行。
(gdb) break 4
Note: breakpoint 1 also set at pc 0x555555555155.
Breakpoint 2 at 0x555555555155: file test.cpp, line 4.//4.跳到第4行重新执行。
(gdb) jump 4
Continuing at 0x555555555155.Breakpoint 1, main () at test.cpp:4
4 int *p = nullptr;