使用GBD调试技巧

📅 2026/7/1 2:53:13
使用GBD调试技巧
基础调试基本步骤编译阶段带-g参数gdb ./a.outrun r 运行程序quit 退出程序GDB命令break 断点break main 直接跳转到main函数断点break x 在第x行打断点info b 可以查看break的情况list 看源码next n 下一步print p 打印变量打印变量打印地址step s 步进 下一步GDB小技巧gdb shell ll 可以查看命令可以调用命令日志功能 set logging on /set logging enabled onwatchpoint 观察点 观察变量是否变化的catchpoint 捕捉点调试core文件什么是core文件当程序因为访问非法内存Segmentation Fault、非法指令等致命错误崩溃时操作系统会将该进程终止前一刻的内存映像、CPU 寄存器状态、程序计数器PC指针、以及所有线程的调用堆栈全部转储Dump到一个文件中这个文件就是 Core 文件核心转储文件。程序崩溃了却没有 Core 文件怎么办对shell做一些限制core不会默认生成ulimit -c unlimited如果还是没有执行放到当前文件夹中sudobash-cecho\./core-%e-%p-%t\ /proc/sys/kernel/core_pattern然后gdb ./a.out core.a.outgdb 二进制文件 core文件如果coer文件没有生成查看ulimit限制调试一个运行的程序./a.out为后台运行gdb-pxxxgdb -p xxx指定pid进行GDB2