linux gdb打印内存命令,linux下gdb常用的调试命令--by流氓兔斯基
用gdb调试程序时,常常很困惑一些命令的使用,要么是不知道这个命令,要么忘了命令的使用方法。
呵呵,有时迷茫了自己处在什么堆栈的深处,这是使用where命令能够清晰的看到自己的位置,有时在循环太多让人受不了了,可使用u或者finish或者jump命令来跳出去。
gdb常用:
run 启动程序运行
next 单步执行(不到函数内部)
step 单步执行,跟踪到函数内部
finish 继续执行,直到当前函数结束
continue 继续执行,直到下一个断点
jump 9 直接跳到指定行
list 显示源码
l 3,10 显示特定范围的源码 l main显示函数的源码
set listsize 50 修改源码显示行数
break 设置断点
b main设置函数断点
b 9 设置指定行断点
b 将下一行设置为断点
b test if a == 10 设置条件断点
delete 删除断点
d 3 删除指定的断点
condition 修改条件 condition 4 a == 90
info 查看信息
info threads 查看线程信息
info breakpoints 查看断点信息
info locals 显示局部变量
info args 显示函数变量
info registers 显示寄存器数据
thread 2 切换线程
where 查看调用堆栈(bt 或者 info s)
frame 查看当前堆栈帧
frame 8 查看指定堆栈帧信息
info frame 查看当前堆栈帧更详细的信息
print a 打印变量信息
print/x a 十六进制输出变量信息
print a + b 可以进行表达式计算
print $eax 显示某个寄存器的数据
x/nfu 0×300098 显示指定地址的内存数据
n 显示内存单位,长度
f 格式(除了 print 格式外,还有 字符串s 和 汇编 i)
u 内存单位(b: 1字节; h: 2字节; w: 4字节; g: 8字节)
set vairiable a = 100 可以修改变量的值
commands 指定到了特定断点后执行的命令序列
whatis buf 显示变量的类型
dump memory 输出文件名 内存起始地址 内存终止地址
restore 文件名 binary 起始位置
watch buf buf的值一旦改变,会触发watchpoint
奇淫技巧:
cat ~/.gbinit gdb会从这个文件读取配置
cat ~/.gdb_history
呵呵,对于gdb时想要查看长的字符串老是显示不全,怎么半呢,gdb参看数组字符串时默认只是显示部分的数据,通过这个命令可以修改:
set print elements 0 默认这里设置是200,设置为0表示没有限制
还有其它一些set命令可以试试:
set print address
set print address on
打开地址输出,当程序显示函数信息时,GDB会显出函数的参数地址。系统默认为打开的
set print object
在C++中,如果一个对象指针指向其派生类,如果打开这个选项,GDB会自动按照虚方法调用的规则显示输出,如果关闭这个选项的话,GDB就不管虚函数表了。这个选项默认是off
show print pretty
查看GDB是如何显示结构体的
set print array
set print array on
打开数组显示,打开后当数组显示时,每个元素占一行,如果不打开的话,每个元素则以逗号分隔。这个选项默认是关闭的
set print null-stop
如果打开了这个选项,那么当显示字符串时,遇到结束符则停止显示。这个选项默认为off
set print pretty on
如果打开printf pretty这个选项,那么当GDB显示结构体时会比较漂亮
set print union
设置显示结构体时,是否显式其内的联合体数据。例如有以下数据结构
p string+n显示偏移n后的字符串内容,这个使用起来也是比较方便的
linux gdb打印内存命令,linux下gdb常用的调试命令--by流氓兔斯基相关推荐
- linux常用调试,linux下gdb常用的调试命令
用gdb调试程序时,常常很困惑一些命令的使用,要么是不知道这个命令,要么忘了命令的使用方法.接下来是小编为大家收集的linux下gdb常用的调试命令,希望能帮到大家. linux下gdb常用的调试命令 ...
- 【Linux】gdb常用的调试命令
gdb 常用的调试命令 l 显示代码 b +行号 加断点 info break 显示断点信息 delete 删除断点 r 启动程序 n 单步执行,下一步 c 继续执行 s 进入函数 finish 跳出 ...
- Linux终端命令行下的常用快捷键使用
Linux终端命令行下的常用快捷键 文章目录: ***`下面我只介绍常用的命令,其他的用的几乎很少,常用自然就是总会用的到的,而且用处比较大的,可以提高工作效率的,下面我亲自测试这些命令都是亲测可行的 ...
- linux 网络冲浪,命令行下的网络冲浪工具命令行浏览器介绍
Linux命令行是强大的工具,命令行是我们的日常工作,命令行更是我们日常生活.之前虫虫给大家写过一些命令的的介绍,命令行的工具,命令行下的开发.实际上命令行也是我们不可或缺的生活.本文我们来介绍一下命 ...
- Linux Tomcat安装,Linux配置Tomcat,Linux Tomcat修改内存,Linux tomcat修改端口
Linux Tomcat安装,Linux配置Tomcat,Linux Tomcat修改内存,Linux tomcat修改端口 >>>>>>>>>& ...
- linux常用命令(2)常用系统工作命令
linux常用命令(2)常用系统工作命令 echo命令 作用:在终端输出字符串或变量提取后的值 格式:echo[字符串|$变量] 示例: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直 ...
- DOS或命令行下查看进程,结束进程命令
DOS或命令行下查看进程,结束进程命令 XP中和进程有关的命令: 在system32目录中,dir task* 会看到如下几个文件: +------------------------------+ ...
- 深入理解:scp,rsync,sftp,xsync等命令的基本使用方法,以及cmd命令窗口下进行相关的ssh命令操作
深入理解:scp,rsync,sftp,xsync等命令的基本使用方法,以及cmd命令窗口下进行相关的ssh命令操作 一·scp命令使用方法:参考链接 二·rsync命令使用方法:参考链接 三·xsy ...
- linux查看设备内存代码,Linux下内存查看命令(示例代码)
在Linux下面,我们常用top命令来查看系统进程,top也能显示系统内存.我们常用的Linux下查看内容的专用工具是free命令. Linux下内存查看命令free详解: 在Linux下查看内存我们 ...
- linux安装系统内存检测,Ubuntu下安装内存检测工具Valgrind
Ubuntu下安装Valgrind很简单,直接从ubuntu软件中心下载安装,并且还会提供一个简单的图形界面..当然,你也可以在命令行中使用. Valgrind实际上是一个工具集,包含多个调试工具,如 ...
最新文章
- Asp.Net MVC3 简单入门详解过滤器Filter
- Cocos2d-x项目移植到WP8系列之二:开篇
- c语言 lis的nlogn算法,ACM竞赛高级算法讲义.doc
- 使用flask的时候遇到的问题及其解答
- RandomizedSearchCV 和GridSearchCV
- SSL 2311-车厢调度[栈]
- Zookeeper知识梳理
- 基于node.js+MongoDB+elementui的分页接口以及页面实现
- 哪有什么岁月静好,不过是有人替你负重前行
- ORACLE之字符集修改(10g)
- qt lineedit获取内容_Qt开发中的几个关键知识点,收藏以备参考
- 如何识别SQL Server中运行缓慢的查询
- RabbitMQ学习总结(一)——基础概念详细介绍
- 万兆安全网关选型指南
- cpu out of order, 性能优化
- R语言 相关性的显著性检验
- 科普:智能电话机器人语音识别技术
- 微信开放平台注册和添加应用操作指南
- 重测序群体遗传进化分析之进化树构建
- 微信程序开发小程序交互