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的分发包历史,可以看看本站的这篇文章< ...
随机推荐
- Asp.net Web Api开发Help Page 添加对数据模型生成注释的配置和扩展
在使用webapi框架进行接口开发的时候,编写文档会需要与接口同步更新,如果采用手动式的更新的话效率会非常低.webapi框架下提供了一种自动生成文档的help Page页的功能. 但是原始版本的效果 ...
- CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作
CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作 2018年07月05日 00:28:38 String峰峰 阅读数:2614 使用yum安装的MySQL一般版本比较旧,但 ...
- 180619-Yaml文件语法及读写小结
Yaml文件小结 Yaml文件有自己独立的语法,常用作配置文件使用,相比较于xml和json而言,减少很多不必要的标签或者括号,阅读也更加清晰简单:本篇主要介绍下YAML文件的基本语法,以及如何在Ja ...
- SQL学习(时间,存储过程,触发器)
SQL学习 几个操作时间的函数 --datapart 获取时间中的年月日时分秒等部分 select DATEPART(year,current_timestamp); select DATEPART( ...
- Java注解的基本原理
注解的本质就是一个继承了Annotation接口的接口,一个注解准确意义上来说,只不过是一种特殊注释而已,如果没有解析他的代码,他可能连注释都不如. 解析一个类或者方法的注解往往有两种形式,一种是编译 ...
- 【outPut_Class 输出类】使用说明
对象:outPut 说明:定义输出结果类的相关操作.此对象的核心是[JSON]类,所以它继承了[JSON]类的所有方法 重要: 输出结果样式为XML时,自带根节点"root".输出 ...
- HDU - 6440(费马小定理)
链接:HDU - 6440 题意:重新定义加法和乘法,使得 (m+n)^p = m^p + n^p 成立,p是素数.,且satisfied that there exists an integer q ...
- leetcode-最大子序和(动态规划讲解)
最大子序和(动态规划讲解) 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输 ...
- 《Git学习指南》学习笔记(三)
多次提交 提交一般分未两步:add和commit. add将修改存入到索引(index)或叫暂存区(staging area)中. status命令 status命令会出现三种可能的状态: chang ...
- Python基础框架和工具
最近在学Python金融大数据分析,在安装Python进行大数据分析的环境时遇到很多问题,例如:在安装pandas包时候就要到各种错误,总是缺少很多安装包,最后发现利用Python的Anaconda进 ...