
❀保持低旋律节奏->个人主页

文章目录

| 代码 | 功能:基本功能 |
|---|---|
| l (list) | 查看代码 |
| b n | 打断点 |
| info b | 查看断点 |
| d n | 删除断点 |
| 代码 | 功能:跨段运行 |
|---|---|
| r(run) | 运行至第一个断点 |
| c(continue) | 运行至下一个断点 |
| b 函数名 | 停在函数内部第一行 |
| until | 无法跨越函数 |
| finish | 执行到当前函数返回然后停止 |
| 代码 | 功能:逐步运行 |
|---|---|
| n (next) | 逐步调试 |
| s (step) | 逐过程调试 |
| 代码 | 功能:断点使能 |
|---|---|
| disable | 关闭断点 |
| enable | 使能断点 |
| 代码 | 功能:监视 |
|---|---|
| diplay | 查看(持续监视) |
| whatch | 检测某一变量的变化 |
| set val | 设置新数值 |
全部过程
bash
# 1. 启动GDB
gdb ./proc.exe
# 2. 查看代码
(gdb) l main
(gdb) l 15,20
# 3. 打断点
(gdb) b 29 # main函数调用print_loop_info行
(gdb) b calculate_square # 平方函数断点
# 4. 查看断点
(gdb) info b
# 5. 运行到第一个断点
(gdb) r
# 6. 进入函数内部
(gdb) s
# 7. 持续监视i
(gdb) display i
# 8. 逐步执行,看i变化
(gdb) n
(gdb) n
# 9. 监视i的变化
(gdb) watch i
(gdb) c
# 10. 修改i的值
(gdb) set i = 8
(gdb) n
# 11. 执行完当前函数
(gdb) finish
# 12. 关闭断点
(gdb) disable 2
(gdb) info b
# 13. 删除断点
(gdb) d 1
(gdb) info b
# 14. 退出GDB
(gdb) q
C语言代码
c
16 // 调用平方函数,获取结果
17 int square = calculate_square(i);
18 // 格式化打印:循环次数、当前值、平方值
19 printf("第 %d 次循环 | 当前值:%d | 平方值:%d\n", i - start + 1, i, square);
20 }
21 printf("循环结束!\n");
22 }
23
24 int main() {
25 // 程序入口打印
26 printf("===== Linux C 调试示例 =====\n");
27
28 // 调用自定义函数:循环1到5
29 print_loop_info(1, 5);
30
31 printf("\n程序正常退出\n");
32
33 return 0;
34 }