[持续更新][备份]GDB调试工具常用命令
一、前言
ACM开赛在即,得知dev-cpp不适用之后,不得不再次重拾gdb基本操作。。。
辗转Emacs和Code::blocks数次之后,感觉还是Emacs更适合我的风格,尽管配置稍显麻烦,但其开放性不是其他ide可比的。
二、正文
TIPS:对于任一命令,如果标有斜杠/,例如run/r,则前面表示全称,后面表示简写,两者均可以被执行,一般为了方便会选择简写。
1、主体
(gdb)help x:查看命令帮助(x可省表示查看全部,也可以是命令名称,表示查看某一具体命令的帮助);
(gdb)run/r:开始运行文件;
(gdb)list/l x:查看原代码(x可省表示查看全部,也可以是数字表示查看第x行,也可以为函数名称表示查看某一函数)
(gdb)quit/q:退出gdb;
2、断点
(gdb)break/b x:设置断点(x可以为数字表示第x行,也可以为函数名称表示设置在该函数);
(gdb)(delete breakpoints)/d x:删除第x个断点(x只能为柱子);
3、运行
(gdb)next/n:单步调试(逐过程,函数直接执行);
(gdb)step/s:单步调试(逐语句:跳入自定义函数内部执行);
(gdb)continue/c:继续运行;
(gdb)finish:结束当前函数,返回到函数调用点;
4、查看
(gdb)print/p x:显示具体变量x的值(x只能为变量);
(gdb)display/disp x:追踪查看具体变量x的值(x只能为变量);
(gdb)undisplay/undisp x:取消追踪第x条变量(x只能为数字);
5、其他(这些暂且用得少)
(gdb)info/i x:查看各种数据(x可以为很多内容,比如breakpoints,表示查看当前设置的所有断点,详情可以输入"help info");
(gdb)watch:被设置观察点的变量发生修改时,打印显示;
(gdb)enable breakpoints:启用断点;
(gdb)disable breakpoints:禁用断点。
这里仅仅列出了ACMer一般情况下会用到的命令,而且介绍得比较简单,想了解更多其他的高级命令或者更详细的使用方法可以自行在gdb下输入"help"。
[持续更新][备份]GDB调试工具常用命令的更多相关文章
- gdb调试工具常用命令
编译程序时需要加上-g,之后才能用gdb进行调试:gcc -g main.c -o main gdb中命令: 回车键:重复上一命令 (gdb)help:查看命令帮助,具体命令查询在gdb中输入help ...
- gdb调试工具常用命令 && kdb
编译程序时需要加上-g,之后才能用gdb进行调试:gcc -g main.c -o main gdb中命令: 回车键:重复上一命令 (gdb)help:查看命令帮助,具体命令查询在gdb中输入help ...
- gdb调试常用命令
gdb 调试常用命令 gcc -g mian.c -o main.out -o (定制生成的可执行文件的名称,缺省时为a.out) -g 使gdb可调试,在编译的时候,产生调试信息 gdb main. ...
- Bash,Vim,gdb&git常用命令
Bash 目录 pwd //查看当前目录 mkdir dir1 dir2 //创建目录 tree dir1 mv test1.cpp test2.cpp dir1 dir //移动文件/目录到目 ...
- Linux下离线安装gdb及常用命令汇总
以redhat6.5虚拟机作为例子,由于工作性质,大部分情况linux的软件安装,是采用离线方式的. 1.离线安装gdb 像gcc.g++或者gdb这种常用的工具软件,一般虚拟机都会安装的,如未安装, ...
- [svc]mysql备份恢复及常用命令
如何实现mysql读写分离 1.通过程序实现读写分类(性能 效率最佳) php和java都可以通过设置多个连接文件轻松实现对db的读写分离,即当select时,就去连读库的连接文件,当update,i ...
- 【持续更新】GDB使用笔记
多文件程序的调试,例子: 文件结构: /demo Makefile /src demo.cpp util.cpp /include util.h 截图: ----------------------- ...
- GDB的常用命令
定断点b line.会返回一个断点号(breakpoint-no). 输出p val.可以夹杂类型装换.解引用. 遇到断点自动执行命令commands breakpoint-no. 停止执行s. 退出 ...
- vscode常用快捷键和插件(持续更新),以及一些常用设置的坑和技巧
一 常用快捷键 ctrl+shift+p: 打开命令面板,最常用了 ctrl+p: 搜索窗口: 直接输入文件名,跳转到文件 > 可以进入 Ctrl+Shift+P 模式 ? 列出当前可执行的动 ...
随机推荐
- 书写可维护的javascript
内容介绍 编写可维护的代码很重要,因为大部分开发人员都花费大量时间维护他人代码. 1.什么是可维护的代码? 一般来说可维护的代码都有以下一些特征: 可理解性---------其他人可以接手代码并理解它 ...
- Jmeter使用JDBC链接数据库进行压力测试
一.关于性能测试 对数据库进行压测时,我们需要关注的几个方面: 1.系统相关指标,诸如:系统CPU/内存/IO等 2.进程相关指标,诸如:mysql该数据库的对应的进程占用CPU/内存/IO等 3.数 ...
- CentOS 下 Java 的下载、安装、配置
CentOS 下 Java 的下载.安装.配置 系统: CentOS 7 x86_64 Java 版本: 1.8.0_171 本文将 Java 目录放在 /usr/local/java 文件夹下,读者 ...
- Boss直聘邮件通知小脚本
Boss 基于Python3的找工作利器--Boss直聘来消息邮件通知, 自动发送简历脚本,O(∩_∩)O~ 无聊写的,因为有时候觉得找工作心急如焚,想自动回复自动发简历啊有木有~~~ github地 ...
- 【python 3.6】如何将list存入txt后,再读出list
今天遇到一个需求,就是将一个list文件读取后,存入一个txt配置文件.存入时,发现list文件无法直接存入,必须转为str模式. 但在读取txt时,就无法恢复成list类型来读取了(准确地说,即使强 ...
- eclipse 简单操作
1.设置字体: windows --> preferences --> general --> Colors and Fonts --> Basic --> 双击 Tex ...
- Python序列之字符串 (str)
作者博文地址:http://www.cnblogs.com/spiritman/ Python字符串的常用操作包括以下但不限于以下操作: 字符串的替换.删除.切片.复制.连接.比较.查找.分割等 以下 ...
- Python如何对折线进行平滑曲线处理?
在用python绘图的时候,经常由于数据的原因导致画出来的图折线分界过于明显,因此需要对原数据绘制的折线进行平滑处理,本文介绍利用插值法进行平滑曲线处理: 实现所需的库 numpy.scipy.mat ...
- 【转载】windows安装python2.7后的注册表问题
原文出自:https://www.cnblogs.com/tlz888/p/6879227.html [提要]win平台上,python2.7官网的安装包在安装后不会添加环境变量且不会把安装信息写入注 ...
- pip安装Crypto注意事项
pip install PyCrypto 1.使用pip install Crypto的方式安装的文件夹名称为crypto,而内部引用都用的Crypto路径,因此pip安装后,需要将文件夹名称修改为C ...