博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gdb调试工具的基本命令
阅读量:2431 次
发布时间:2019-05-10

本文共 1170 字,大约阅读时间需要 3 分钟。

gdb可以用来调试C和C++程序

gdb常用命令

gcc -Wall -g filename.c -o filename   //编译时需要加-g参数gdb filename      //进入调试l(list)    //显示代码b(break)   //设置断点bn         //在第n行设置断点r(run)     //运行程序n(next)    //下一步,但不进入函数,相当于VS中的F10s(step)    //表示单步进入函数,相当于VS中的F11p(print)   //p I 打印变量Ic(continue)  //运行到最后或者遇到新的断点q(quit)     //退出

gdb调试命令列表

set args 运行时的参数    指定运行时的参数,如set args 2show args   查看设置好的运行参数show paths  查看程序的运行路径pwd    显示当前工作目录info b  查看所设断点break[文件名:]行号或函数名 
<条件表达式>
设置断点tbreak[文件名:]行号或函数名
<条件表达式>
设置临时断点,到达后被自动删除delete[断点号] 删除指定断点,其断点号为info b中的数值,若缺省断点号则删除所有断点disable[断点号] 停止指定断点,使用info b仍能查看此断点。同delete一样,缺省断点号则停止所有断点enable[断点号] 激活指定断点,即激活被disable停止的断点condition[断点号]
<条件表达式>
修改对应断点的条件ignore[断点号]
在程序执行过程中,忽略对应断点num次finish 从当前函数中退出list
<行号>
|
<函数名>
查看指定位置代码bt 调用堆栈,可以查到调用哪些函数尚未返回

gdb调试段错误(Segmentation fault)

core文件中保存着程序崩溃的现场
针对段错误,可以通过ulimit -c unlimited设置core file size为不限制大小。
设置完毕后,可以通过ulimit -a进行查看,再次运行程序,就会产生core文件:
gcc -g test.c
./a.out
通过gdb可执行core文件,进行调试: gdb a.out core。
通过bt调用堆栈可以看到程序段错误时的现场,通过f1可以直接切换到程序现场。
查看程序运行过程中的内存:
x /20xb &arr
20为20个字节,x代表十六进制,b为一个字节形式,也可以将b换成w,每四个字节进行显示

转载地址:http://rxxmb.baihongyu.com/

你可能感兴趣的文章
WebSphere Application Server 常见问题及解答:集群
查看>>
使用 SIBus JMS 提供者
查看>>
调试 SCA 调用
查看>>
SOA 治理框架和解决方案架构
查看>>
面向企业的云计算—了解云的一些基本概念
查看>>
实现基于角色的授权
查看>>
使用定制工作流程更新 RSS 数据源
查看>>
使用 WebSphere Business Modeler 进行业务建模
查看>>
SOA 案例研究:Web 2.0 SOA 场景
查看>>
IBM BPM BlueWorks:一次 WebSphere 云试验
查看>>
websphere笔记
查看>>
使用 WebSphere Process Server 关系开发集成解决方案(2)
查看>>
最新最全的Portlet 通信过程详解
查看>>
在LINUX中安装WEB SPHERE5.1的正确方法
查看>>
WebSphere简单故障排查
查看>>
ITCAM for Websphere v6.0与ITM v6.1集成的快速指南
查看>>
数据泵 TTS(传输表空间技术)
查看>>
DATA GUARD架构(一)
查看>>
weblogic管理2 - 创建并启动一个managed server
查看>>
linux下开机自动开启单机oracle
查看>>