gdb 快捷键

GDB调试技巧

bt 打印堆栈

f n 跳到指定的堆栈,这样就可以打印本层堆栈的变量信息等

p 变量 ,打印该变量的信息


ctlr+x+小键盘1 将终端窗口分成两部分,上部分为代码,下部分为调试指令窗口,对调试还是挺方便的

ctrl+x+a 退出划分窗口

### GDB 中断调试的快捷键GDB 调试过程中,中断当前正在运行的程序是一个常见的需求。可以通过以下方式实现这一目标: #### 使用 `Ctrl+C` 快捷键 最简单的方式是在终端中按下组合键 **`Ctrl+C`** 来中断当前正在运行的程序[^1]。此操作会立即将控制权交还给 GDB,并停止被调试程序的执行。 #### 命令行中的中断指令 除了快捷键外,还可以通过输入特定命令来管理中断行为: - 使用 `interrupt` 命令手动触发中断[^2]。 - 如果需要更精细地控制中断位置,可以结合断点(breakpoint)和条件表达式完成复杂场景下的中断逻辑[^3]。 以下是设置断点并观察变量变化的一个例子: ```gdb (gdb) break main # 设置断点于main函数入口处 Breakpoint 1 at 0x4005a6: file test.c, line 5. (gdb) run # 启动程序直到遇到第一个断点 Starting program: /path/to/program Breakpoint 1, main () at test.c:5 5 int a = 1; (gdb) continue # 继续执行直至下一次中断 Continuing. Program received signal SIGINT, Interrupt. 0x00007ffff7a9cceb in __GI___nanosleep (req=req@entry=0x7fffffffe2e0, rem=rem@entry=0x7fffffffe2d0) at ../sysdeps/unix/sysv/linux/nanosleep.c:28 28 ../sysdeps/unix/sysv/linux/nanosleep.c: No such file or directory. ``` 当程序处于暂停状态时,用户可利用诸如 `info registers`, `backtrace`, 或者 `print/display` 等工具进一步分析上下文环境以及数据流状况[^4]。 ### 总结 对于希望快速终止正在进行的任务而言,直接敲击键盘上的 `Ctrl+C` 是最为直观有效的方法之一;而针对某些特殊场合,则建议采用更为精确的技术手段达成目的——比如借助脚本自动化流程或者定制化插件扩展功能边界。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值