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的分发包历史,可以看看本站的这篇文章< ...
随机推荐
- spring data jap操作
package com.example.demo; import com.example.entity.UserJ; import com.example.respository.UserJRespo ...
- 利尔达仿真器加有人CC3200模块USR-C322上电测试
1. 使用利尔达的CC3200底板仿真器对有人CC3200模块USR-C322进行烧写,测试. 2. 连接的接口,需要连接6根线,如下,供电测试,第一波测试,输入+++回复a,然后在输入a,返回+OK ...
- hdu1422重温世界杯(动态规划,最长子序列)
重温世界杯 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- Java开发工程师(Web方向) - 03.数据库开发 - 第4章.事务
第4章--事务 事务原理与开发 事务Transaction: 什么是事务? 事务是并发控制的基本单位,指作为单个逻辑工作单元执行的一系列操作,且逻辑工作单元需满足ACID特性. i.e. 银行转账:开 ...
- post接口_ajax上传
Action() { web_reg_save_param("find_msg", "LB=message\":\"", "RB= ...
- loadrunner_遇到cookie接口_3种应对方法
方法一:是调用登录接口,在调用登录后的接口 方法二:手动储存cookie,写死cookie 方法一:提前登录收集cookie,写成参数化文件 方法一,案例(就是先登录,再写登录后的接口): 注:use ...
- 单元测试模块unittest使用学习
工作原理: unittest中最核心的四个概念是:test case, test suite, test runner, test fixture. 一个TestCase的实例就是一个测试用例.什么是 ...
- java学习笔记-9.违例差错控制
1.违例规范是告诉程序员这个方法可能抛出哪些类型的异常.他的格式在方法声明中,位于自变量(参数)列表的后面,如void f() throws tooBig, tooSmall, divZero { ...
- gossip版本raft算法实现
raft算法的实现概述 节点的启动和加入: 1. 第一个节点启动,发现没有其他的member节点,则自己变成master 2. 第二个节点启动并加入第一个节点,发现有member节点,并且master ...
- usb_modeswitch移植
usb_modeswitch移植 交叉工具链安装 交叉编译安装libsub库 交叉编译安装lib-compat-x.x.x 交叉编译安装usb_modeswitch 交叉编译工具链 为了使编译的程序可 ...