Linux相关——关于gdb的checkpoint & breakpoints指令
1,checkpoint
,,,这个指令简直,,,相见恨晚啊,居然现在才发现,。。
好吧来介绍一下这个指令:checkpoint(检查点)
我们调试程序,常常会出现好不容易发现了错误,却已经跑完那个地方了,或者纯属手残直接跑到下一步了(就是我),
这时如果我们又要重新跑一遍来在错误处停下是很浪费时间的,(我就经常跑十多次,每次都错过,,,,)
这个时候就可以用到checkpoint了
使用方法:在程序运行的时候使用checkpoint,它会在当前运行状态设置一个快照,于是当你下一次错过调试点的时候,你就可以回到这个快照继续!而不是重新开始!!!
restart xxx 重新从第xxx号快照开始运行
万一我们忘记了对应位置的快照编号怎么办呢?
没关系我们有info
info checkpoint(s) 查看快照信息
注意如果程序被终止,那么已保存的快照将会消失。(出现段错误也属于程序被强行终止)
2,save breakpoints
这个也是非常有用啊,有时候设置断点很多,但删除了之后(重新调试)想恢复哪些断点怎么办?
难道一个一个手敲?
不,我们有save breakpoints哈哈哈哈哈
食用方法:在gdb的时候,已有断点的状态,我们输入save breakpoints gdb.cfg(任意文件名+任意后缀)(其实我也不知道是不是任意后缀都可以,,,不过目前试过.in 和 .cfg都是可以的
然后当前状态下所有的断点信息就被保存到了gdb.cfg文件中,于是当下一次我们想要恢复断点时,我们只需要输入:
source gdb.cfg(上次保存的文件名)即可
不过这个指令是增加断点,不会删除当前的断点的,
也就是说如果你当前有一个之前没有的断点,不用担心使用了之后会把你现在的断点删除,这个指令的作用只是增加,不是覆盖
Linux相关——关于gdb的checkpoint & breakpoints指令的更多相关文章
- Linux相关——记录gdb基本操作(持续更新)
-----------2018.9.26更新标记----------- gdb的确是个很强大的东西啊,这里记录一下gdb的基本操作吧 后续可能会补充,但暂时感觉够用了就不写多了. 首先是ubuntu终 ...
- Linux相关指令
Linux相关指令 1.find文件搜索功能 find [目录列表] [匹配参数] [匹配标准] -name :按文件名称进行搜索 -group :按文件所属组进行搜索 -user :按文件拥有者进行 ...
- linux c/c++ GDB教程详解
学习使用了GDB一段时间后,发现它真的好强大!好用! GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在U ...
- Linux 如何使用gdb 查看core堆栈信息
转载:http://blog.csdn.net/mergerly/article/details/41994207 core dump 一般是在segmentation fault(段错误)的情况下产 ...
- Linux下用gdb 调试、查看代码堆栈
Linux中用gdb 查看代码堆栈的信息 core dump 一般是在segmentation fault(段错误)的情况下产生的文件,需要通过ulimit来设置才会得到的. 调试的话输入: gd ...
- Linux下使用GDB调试程序
问题描述: Linux下使用GDB调试程序 问题解决: (1)生成调试文件 注: 使用命令 gdb IOStream.c -o IOStre ...
- linux 相关快捷键
linux 相关快捷键 http://linux.chinaunix.net/begin/2004-10-05/34.shtml#_Toc41417098 1.使用虚拟控制台登录后按“Alt+F2”键 ...
- Linux 相关scsi命令
Linux 相关scsi命令 由于前段时间存储扩容,对存储操作较多,下面记录了常用的操作: lsscsi命令:显示scsi设备信息 #lsscsi [0:0:0:2] disk IBM ...
- 25个Linux相关的网站
下面是25个最具有影响力,也是最重要的Linux网站,这些网站提供了Linux的分发包,软件,文件,新闻,以及其它所有的关于Linux的东西.关于Linux的分发包历史,可以看看本站的这篇文章< ...
随机推荐
- 如何去除Eclipse下的JS引入报错(类似Syntax error on token...的异常信息)
在Eclipse下引入外部JS文件,比如Jquery.js,经常会出现如下异常信息: 去除该异常方法: 1. 去掉Eclipse的JS验证 Windws---->Preferences----& ...
- git的一些操作指令
1. mkdir learn 创建learn文件夹(也可不用命令创建,直接右击新建即可) cd learn进入learn文件夹 git init 把learn文件夹 变成 可以用git管理的 ...
- 「日常训练」Divisibility by Eight(Codeforces Round 306 Div.2 C)
题意与分析 极简单的数论+思维题. 代码 #include <bits/stdc++.h> #define MP make_pair #define PB emplace_back #de ...
- 怎样安装JMeter
JMeter有图形界面, 而且支持中文! JMeter官网地址: http://jmeter.apache.org/ 点击左上角的下载: 点击下面的.zip后缀的压缩包: 解压到本地: JMeter目 ...
- GIt学习第一天之安装和版本库创建
搬运自 ‘廖雪峰的官方网站’ 1.git安装 官网下载地址:https://git-scm.com/download/win 百度网盘下载地址:https://pan.baidu.com/s/1k ...
- jmeter属性设置
使用${__setProperty(newuserid,1,)}函数对属性进行设置 2.使用${__P(userid)}函数在其他线程组中引用该属性 备注: 1.JMeter属性在测试脚本的任何地方都 ...
- Objective-C NSString基本使用 类方法 self关键字
NSString基本使用 #import <Foundation/Foundation.h> int main() { //最简单的创建字符串的方式 NSString *str = @&q ...
- 查看linux系统版本命令汇总
Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等等,整个CPU信息一目了然. 1.Linux查看版本当前操作系统内核信息 命令:uname -a
- Spring Cloud(六):Hystrix 监控数据聚合 Turbine【Finchley 版】
Spring Cloud(六):Hystrix 监控数据聚合 Turbine[Finchley 版] 发表于 2018-04-17 | 更新于 2018-05-07 | 上一篇我们介绍了使用 H ...
- vue-router爬坑记
简介 因为我们用Vue开发的页面是单页面应用,就相当于只有一个主的index.html,这时候我们就不能使用a标签来进行页面的切换了,所以这时候我们今天的主角Vue-Router就闪亮的登场了 Vue ...