gdb调试

debug 版本: 可调式版本

release 版本: 发行版本 gcc 默认生成 release 版本
gcc -o main main.c -g
gcc -c main.c -g ---> debug 版本的中间文件
gcc -o main main.o ---> debug 版本的可执行文件

调试的目标: 可执行文件
调试的手段: 通过源文件来控制程序的执行

l显示 main 函数所在的文件的源代码
list filenamenum 显示 filename 文件的源代码

b  linenum

给linenum行添加一个断点
b  funname    给funname这个函数的第一行添加一个断点
info   b显示断点信息
d   bpnum删除断点
r运行程序
n执行到下一行
c                   运行到下一个断点处
s进去将要被调用的函数中单步执行
finish          退出函数
q

退出调试

p   valname显示valname的值
p  &valname显示valname的地址
p  arr显示数组中所有元素的值
p  ptr显示指针中保存的地址
p   *ptr显示指针指向空间中存储的值
p   *parr@len通过指向数组的指针显示数组所有的元素
p   node.age查看结构体变量成员的值
p  nade显示结构体中所有成员的值
display以展台的形式显示变量的值
info threads显示当前可调试的所有线程
thread ID切换当前调试的线程为指定ID的线程
attach process-id开始调试一个正在运行的进程
gdb  attach调试运行的进程

gdb attach <进程号>

调试运行的进程
until 运行至当前语句块结束
step逐语句步进,会进入子函数
next  逐过程步进,不会进入子函数
continue继续运行程序直到下一个断点
until 行号可用于跳出循环,加快了调试速度。
set follow-fork-mode parent跟踪父进程, 默认
set follow-fork-mode child跟踪子进程

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值