GDB操作基本命令

1 打开文件及退出操作

  shell下输入  gdb filename : 打开单个文件

  gdb filename -q: 打开单个文件,屏蔽掉GDB自带的说明信息

  gdb下输入quit(q),退出调试

2 gdb命令

命令 缩写 解释
file filename   gdb下打开文件
list   l

显示代码,默认显示10行。输入Enter显示下10行

list可以加入其他参数,如:

list 5,10   显示第5行到第10行的代码;

list func   显示func函数周围的代码,显示范围和list参数有关;

list test.c:5,10  显示源文件test.c第5行到第10行的代码,

一般用于调试含多个源文件的程序。

shell  clear    清空shell,清屏
 break linenumber/funname b

break 6 : 在第6行打上断点,或者在函数上打断点

条件断点:

break 6 if n == 0,当变量n==0时,触发断点

 info  i

info breakpoints(i b): 显示所有断点

info source 查看当前程序

info stack 查看堆栈信息

info args 查看当前参数值

info reg 输出所有寄存器的当前值

info frame 输出栈帧的使用情况

info b n  其中 n 为指定的断点号,显示指定断点的状态信息,不加参数 n 时,会显示所有的断点的信息

disable breaknumber   disable 1 :使得 断点1无法被触发
clear  breaknumber    clear 1 :删除N行断点
delete  breaknumber    删除N号断点,默认删除所有断点
run    r  执行程序
next  n 下一条语句,不会进入函数
continue  c  继续执行
step  s  步进,会进入函数体
print 变量名或表达式   打印该变量或者该表达式的值 
whatis  变量名或者表达式    显示该变量或表达式的数据类型
set  variable 变量=值    给对应的变量赋值
watch variable    设置观察变量,变量值发生改变时将触发
finish    跳出当前的函数
     
     

GDB调试带入参的程序:

1:gdb 程序名

2:set args "agrs1" "args2"

3:run

GDB操作基本命令的更多相关文章

  1. gdb调试基本命令(常用)

    gdb调试命令 1>. 启动gdb gdb 可执行程序的名字 2>. 查看代码 l -- 查看当前文件 -- 默认main函数 2. 查看其它文件: l 文件名:行号, 显示指定行号的上下 ...

  2. GDB调试基本命令

    一.列文件清单 list / l 列出产生执行文件的源代码的一部分 //列出 line1 到 line2 行之间的源代码 (gdb) list line1, line2 //输出从上次调用list命令 ...

  3. 【Linux笔记(002) 】-- centos7 文档操作基本命令

    一.cd -- ChangeDirectory a) 切换到 /DemoLM/ 文件夹 b) 回到用户 Home 根目录:是哪个账户登录的就会进入哪个用户的根目录 二.pwd -- PrintWork ...

  4. redis相关操作&基本命令使用

    Redis简介 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. Redis是 NoSQL技术阵营中的一员,它 ...

  5. redis操作基本命令

    Redis—— Remote Dictionary Server,它是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API,我们 ...

  6. Rails:Rails使用sqlite3数据库 及数据操作基本命令

    Rails默认使用sqlite3做为数据库,虽然很多人更喜欢mysql.但如果是学习用,sqlite3够了,因为它轻量,不需要安装. 首先对sqlite3做个简短的介绍:1.sqlite3不需要配置, ...

  7. Git操作基本命令

    分支开发原则: 如果本地dev分支有修改,则需要先切换到master分支,把本地分支的修改merge回master(git merge dev),然后在master上把合并后的内容push到maste ...

  8. redis列表操作基本命令

    RPUSH:从列表尾部插入一个元素,RPOP:返回列表最后一个元素并从列表删除LPUSH:从列表头部插入一个元素,LPOP:返回列表第一个元素并从列表删除(没看到命名的介绍,个人理解R就是right, ...

  9. mysql操作基本命令

    查看索引 : show index from table_name 创建索引:create index index_name on table_name(column_name) 创建唯一索引:cre ...

随机推荐

  1. 解决MySQL数据库同步1236错误

    1.报错如下: Got fatal error from master when reading data from binary log: 'The slave is connecting usin ...

  2. JavaScript闭包和this绑定

    本文最主要讲讲JavaScript闭包和this绑定相关的我的小发现,鉴于这方面的基础知识已经有很多很好的文章讲过了,所以基本的就不讲了,推荐看看[酷壳](http://coolshell.cn/)上 ...

  3. 怎样将Arranged_2压入General_Polygon_set_2中

    Thursday, March 14, 2013 How to Jam an Arrangement_2 into a General_polygon_set_2 I spent about thre ...

  4. HBase在HDFS上的目录树

    众所周知,HBase 是天生就是架设在 HDFS 上,在这个分布式文件系统中,HBase 是怎么去构建自己的目录树的呢? 这里只介绍系统级别的目录树: 一.0.94-cdh4.2.1版本 系统级别的一 ...

  5. Vim插件:Unite新手指导(译)

    Unite是什么? Unite可以在一个项目中快速浏览文件.但是它不仅限于文件,其他任何可以列出的东西都可以很好的被显示和搜索.这个开放式的特性很可能是人们找到它的原因(原文:This open-en ...

  6. php微信支付接口开发程序(流程已通)

    php微信支付接口开发程序(流程已通) 来源:未知    时间:2014-12-11 17:11   阅读数:11843   作者:xxadmin [导读] 微信支付接口现在也慢慢的像支付宝一个可以利 ...

  7. Windows server 2003 伪静态配置方法

    Windows server 2003 伪静态配置方法   先我们下载Rewrite伪静态组件到服务器,然后解压到D:\Rewrite下,解压后如下图: 提示:ReWrite组件所在目录要有网站所有者 ...

  8. windows计划任务定时运行synctoy的坑

    每次设置好synctoy之后,需要让synctoy运行一次,windows的计划任务才能成功执行,如果变更了synctoy的设置,而没有让synctoy成功执行过,windows计划任务将执行失败,坑 ...

  9. Jackson /常用注解/ annotation(转)

    1.@JsonAutoDetect 自动检测,(作用在类上)来开启/禁止自动检测. fieldVisibility:字段的可见级别 ANY:任何级别的字段都可以自动识别 NONE:所有字段都不可以自动 ...

  10. TOSCA自动化测试工具视频资料

    https://www.udemy.com/ search 'TOCSA' 找到两个免费资料学习