linux之GDB常用命令汇总
查看gdb的版本号 (1)rpm -q gdb 会显示是否安装gdb及版本号 (2)gdb --version也可以
breakpoint | b main; b 20; | 设置断点 |
breakpoint if | break 函数名、编号 if xxxx | 在xxx的情况下设置的断点才生效 (xxx 例如:变量= 3) |
cd | cd /home/yongchao/ | 改变当前工作目录 |
clear | 光标在正要执行的break点的行,然后打clear | 删除停止处的断点 (删除当前光标所在行的断点: 光标所在行->当前要执行的行) |
info b | info b | 查看所有的断点 |
continue | continue | 从断点开始继续执行 |
enable | enable breakpoint 编号 | 使得某个断点生效 |
disable | disable breakpoint 编号 | 使得某个断点失效 |
delete | delete 断点号 | 删除某个断点 |
delete | delete | 删除所有断点 |
display | display 变量、表达式 | 程序停止时显示变量或者表达式的值(一直显示,直到取消显示) |
info display | info display | 显示display的变量编号 |
undisplay | undisplay 编号 | 取消某个编号一直显示 |
step | s | 跳入函数 |
until | until | 直接执行到函数最后 或者跳出一个循环 |
finish | finish | 如果已经进入了某个函数,想要退出该函数返回到它的调用函数中 |
shell | shell linux命令 | 使你能不离开 gdb 就执行 UNIX shell 命令. |
print 变量 | 打印变量 | |
print 变量 = 2 | 给变量赋值2 | |
print find_entry(1,0) | 对程序中函数的调用 | |
print array[0]@5 (不能是array@5) | 查看数组的5个元素 | |
call | call find_entry(1,10) | 调用和执行函数 |
pwd | pwd | 显示当前工作目录 |
ptype | ptyoe 变量 | 显示类、结构体的结构 |
whatis | whatis 变量/函数类型 | 显示变量/函数类型的 声明 |
watch | watch 变量 | 观察变量的值,当有变化的时候停止 |
在使用watch时步骤如下: 1. 使用break在要观察的变量所在处设置断电; 2. 使用run执行,直到断点; 3. 使用watch设置观察点; 4. 使用continue观察设置的观察点是否有变化。 |
||
watch counter>15 当counter>15的时候程序终止 | ||
delete watch编号 | delete watch编号 | 删除watch点 |
make | make | 不退出gdb就可以重新产生可执行文件 |
x | x /3 内存地址 | 需要显示的内存单元的个数,也就是说从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义 |
x /f 内存地址 | f 表示显示的格式 :
x 按十六进制格式显示变量。 d 按十进制格式显示变量。 u 按十进制格式显示无符号整型。 o 按八进制格式显示变量。 t 按二进制格式显示变量。 a 按十六进制格式显示变量。 i 指令地址格式 c 按字符格式显示变量。 f 按浮点数格式显示变量。 |
|
x /u 内存地址 |
u表示一个地址单元的长度 b表示单字节, h表示双字节, w表示四字节, g表示八字节 |
|
x /3dw 内存地址 | 打印3个四字节,安装10进制格式打印 | |
where | where | 使用 where 命令查看程序出错的地方 |
gdb a.out core where 查看导致崩溃的原因 |
||
l (L小写) | l miscfactory::MiscReaderTestSuit::SetUpTestCase | 定位某个类的某个函数 miscfactory是命名空间 MiscReaderTestSuit是类名 SetUpTestCase是类的成员函数名 |
bt |
gdb ./xxx core-xxx bt |
查看错误堆栈
|
linux之GDB常用命令汇总的更多相关文章
- linux vi(vim)常用命令汇总(转)
前言 首先解析一个vim vi是unix/linux下极为普遍的一种文本编辑器,大部分机器上都有vi的各种变种,在不同的机器上常用不同的变种软件,其中vim比较好用也用的比较广泛.vim是Vi Imp ...
- linux 性能分析常用命令汇总
CPU性能分析工具: vmstatpssartimestracepstreetop Memory(内存)性能分析工具:vmstatstracetopipcsipcrmcat /proc/meminfo ...
- linux vi(vim)常用命令汇总
1 查找 /xxx(?xxx) 表示在整篇文档中搜索匹配xxx的字符串, / 表示向下查找, ? 表示向上查找其中xxx可以是正规表达式,关于正规式就不多说了. 一般来说是区分大小写的, 要想不区分大 ...
- Linux下离线安装gdb及常用命令汇总
以redhat6.5虚拟机作为例子,由于工作性质,大部分情况linux的软件安装,是采用离线方式的. 1.离线安装gdb 像gcc.g++或者gdb这种常用的工具软件,一般虚拟机都会安装的,如未安装, ...
- 20145222《信息安全系统设计基础》Linux常用命令汇总
学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ...
- Linux GDB常用命令一栏
Linux GDB 常用命令如下: 1.启动和退出gdb (1)启动:gdb ***:显示一段版权说明: (*** 表示可执行程序名) (2)退出:quit.有的时候输入quit后会出现相关提示:类似 ...
- 【Linux】Linux 常用命令汇总
查看软件xxx安装内容:dpkg -L xxx 查找软件库中的软件:apt-cache search 正则表达式 查找软件库中的软件:aptitude search 软件包 查找文件属于哪个包:dpk ...
- Linux vi 编辑器 常用命令行
1.vi 模式 a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了. b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作.等按下'i,I,o,O,a, ...
- Oozie命令行常用命令汇总[转]
Oozie命令行常用命令汇总 有时候脚本跑多了就不愿意在OozieWeb端去看脚本的运行情况了.还好Oozie提供了很多命令行命令.能通过命令行直接检索自己想看到的脚本信息.在这里简单进行一下总结.一 ...
随机推荐
- Python自动化之session
request.body 所有请求内容的原生数据 request.META 所有请求头的原生数据 cookie返回存在于响应头里面 session session是保存在服务端的键值对 cookie和 ...
- JDk 内部分工具 简述
jar — 一个创建和管理 jar 文件的工具. java — Java 应用启动器.在这篇文章里,开发和部署都是用的这个启动器. javac — Java 编译器. javadoc — API 文档 ...
- (int),Convert.ToInt32(),Int32.Parse(),Int32.TryParsed()的用法总结
1 (int) 强制转型为整型. 当将long,float,double,decimal等类型转换成int类型时可采用这种方式. double dblNum = 20; int intDblNum = ...
- Making the Elephant Dance: Strategic Enterprise Analysis
http://www.modernanalyst.com/Resources/Articles/tabid/115/ID/2934/categoryId/23/Making-the-Elephant- ...
- win10常见问题-任务栏消失
问题描写叙述: O疼地尝鲜了win10,bug层出不穷,眼下遇到的最大的两个BUG是: 1.启动后高概率出现黑屏,仅仅有鼠标,无桌面,无法拯救 2.正常执行高概率出现任务栏丢失现象.无法拯救 问题一, ...
- 局域网内使用linux的ntp服务
假设我们的饿局域网无法连接外网,但又需要同步时间,怎么办? 1. 已局域网内的一台机器作为基础,适用date修改其他机器的时间,date -s ...,很不方便,这里不介绍. 2. 适用ntp服务,自 ...
- Android(java)学习笔记173:BroadcastReceiver之 静态注册 和 动态注册
1. 广播接受者>什么是广播.收音机.电台:对外发送信号.收音机:接收电台的信号. >在android系统里面,系统有很多重要的事件: 电池电量低,插入充电器,sd卡被移除,有电话打出去, ...
- ios中创建可以拖动的view原理和实现详解
有时候我们会需要在界面上拖动view;uiview是继承于uiresponder的,所以可以响应触摸相关的事件. 重点是以下一组方法: - (void)touchesBegan:(NSSet *)to ...
- H TML5 之 (3)转动的圆球
HTML5 练手之二,一个能够为之圆心转动的圆球,原理和时钟的非常像,只是要把握转动的时间控制,同时加入了点渐变色 HTML5 练手之二,一个能够为之圆心转动的圆球,原理和时钟的非常像,只是要把握转动 ...
- 使用LuaInterface遇到的编码问题
今天使用LuaInterface加载脚本时忽然报“未知字符”错误信息!于是检查文件编码 将其修改为“US ASCII” 就好了.