gdb对应vc调试命令
gdb vc调试对照表:
实现功能 vc gdb
修改后编译 f7 make
跳出函数(step out) shift+f11 finish,f
重新启动 ctrl+shift+f5 run,r
运行到指定行 f9+f5 tbreak,tb + continue,c
中断程序 ctrl+alt+break ctrl+c
中断后继续运行 f5 continue,c
中断后单步 不可以 next,n
条件中断 无法实现 有多种条件设置方法(附1)
观察变量条件 变量上方右键添加监视 有多种情况处理(附2)
查看断点信息 alt+f9 info break,i b
清除所有断点 ctrl+shift+f9 del,d
清除指定断点 鼠标到指定断点处f9 del 想清除的断点号
跳出循环 在循环后代码除右键运行到此处 until,u(在for,while行)
查看函数中变量 alt+4 info local,其中display 变量名可在离开函数前实时观察自动打印不用每次都运行info local
查看参数 鼠标放在参数上 info arg,info args
中断时查看堆栈 alt+7 break trace,bt
查看堆栈中某函数处相关变量 鼠标选择 frame +num(在堆栈中编号),up,down
在某个断点修改变量值 直接在变量窗口修改 set,s +变量名=XX
附1:
条件中断 无法实现 有多种条件设置方法(附1)
(1)
b if 条件
比如 b if i == 1,或者 b if str="abc"
如果断点已经设置,info break查看断点号
condition 断点号 条件
比如 condition 1 NULL == p
(2)
断点命中次数会被统计,i b可以查看
可以设定某个断点被命中N次后中断
比如:ignore 3 10
第3个断点在运行上面命令后再命中10此才中断,默认命中0次后中断,也就是每次都中断
有了这个条件就可以在自己想要的命中次数后中断来查看变量情况了,对中途出错
时候的调试很有帮助
附2
观察变量条件 变量上方右键添加监视 有多种情况处理(附2)
(1)
watch 变量或者表达式
就相当于设置了一个硬断点,当变量被修改时就会中断程序,并打印修改前后的值
表达式可以是地址前面加上强制类型,这样对全局不可见但是地址不变的变量监视很有用处
一些重要提示:
(1)list 文件名:行号 和 b 文件名:行号 这两个命令要在b main ;run后才有效
(2)b后面不加如何东西表示在当前行设置断点
(3)p 局部变量提示no symbol XX in current context错误,编译选项在-g的基础上机上-O0和-wall和-ggdb,比如是cpp那么设置:CXX_FLAGS = -O0 -wall -g -ggdb
(4)List 行号,函数名,变量名是默认在查询当前活动文件,当前活动文件也就是list 文件名或者函数名进入的文件,或者中断后所在的文件,可想象成vc中当前打开的文件,可以在上面直接运行 b行号,也不用多此一举的b 文件名 行号了,不过前提时确保当前活动文件是否是你想要设置断点的文件。
gdb对应vc调试命令的更多相关文章
- gdb常用的调试命令
首先将源代码编译.链接生成debug版本的可执行文件,然后通过‘gdb debug版本的可执行文件名’进入调试模式. a) 单进程.单线程基础调试命令 l 显示main函数所在的文件的源代码 ...
- 第03课:GDB常用的调试命令概览
先给出一个常用命令的列表,后面结合具体的例子详细介绍每个命令的用法. 命令名称 命令缩写 命令说明 run r 运行一个程序 continue c 让暂停的程序继续运行 next n 运行到下 ...
- 第三课:GDB 常用的调试命令概览
先给出一个常用命令的列表,后面会结合具体的例子详细介绍每个命令的用法. 命令名称 命令缩写 命令说明 run r 运行一个程序 continue c 让暂停的程序继续运行 next n 运行到下一行 ...
- 利用GDB进行多线程调试
一.多线程调试 多线程调试重要就是下面几个命令: info thread 查看当前进程的线程. thread <ID> 切换调试的线程为指定ID的线程. break file.c:100 ...
- 比较全面的gdb调试命令 (转载)
转自http://blog.csdn.net/dadalan/article/details/3758025 用GDB调试程序 GDB是一个强大的命令行调试工具.大家知道命令行的强大就是在于,其可以形 ...
- gdb各种调试命令和技巧
陈皓:用GDB调试程序 GDB概述———— GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在UNIX平台 ...
- GDB调试命令手册
使用GDB 启动 $ gdb program # program是你的可执行文件,一般在当前目录 $ gdb program core # gdb同时调试运行程序和cor ...
- GDB调试命令小结
1.启动调试 前置条件:编译生成执行码时带上 -g,如果使用Makefile,通过给CFLAGS指定-g选项,否则调试时没有符号信息.gdb program //最常用的用gdb启动程序,开始调试的方 ...
- 比较全面的gdb调试命令
from:http://blog.csdn.net/xiajun07061225/article/details/8960332 http://blog.csdn.net/cjfeii/article ...
随机推荐
- hdu 5001(概率DP)
Walk Time Limit: 30000/15000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Subm ...
- MVC基础知识 – 2.新语法
1.自动属性 Auto-Implemented Properties 2.隐式类型 var 3.参数默认值 和 命名参数 4.对象初始化器 与 集合初始化器 { } 5.匿名类 & 匿名方法 ...
- 【PAT】1011. A+B和C (15)
1011. A+B和C (15) 给定区间[-231, 231]内的3个整数A.B和C,请判断A+B是否大于C. 输入格式: 输入第1行给出正整数T(<=10),是测试用例的个数.随后给出T组测 ...
- loadrunner中并发数与迭代的区别
你的理解的虚拟用户应该是 迭代次数 ,录制脚本时只会有1个虚拟用户,1个虚拟用户可以有多次 迭代,也就是 重复执行 Action里面的内容,在场景设置的时候,如果你说的10时在runtime-sett ...
- HDU 3183.A Magic Lamp-区间找最小值-RMQ(ST)
A Magic Lamp Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- STL容器 -- Map
核心描述: map 就是从键(key) 到 值(value) 的一个映射.且键值不可重复,内部按照键值排序. 头文件: #include <map> 拓展: multimap 是一个多重映 ...
- 2017-2018-1 JAVA实验站 第二周作业
2017-2018-1 JAVA实验站 第二周作业 小组成员: 组长 20162318张泰毓 成员 20162303石亚鑫 20162304张浩林 20162307张韵琪 20162321王彪 201 ...
- 20162327WJH《程序设计与数据结构》课程总结
20162327<程序设计与数据结构>课程总结 一.每周作业链接汇总 预备作业1:第一篇博客主要谈论了对本学期学习的展望,树立了一个目标. 预备作业2:简单的谈了谈自己的优势和一些成功的案 ...
- [HihoCoder1169]猜单词
题目大意: 给你一个数列,问区间[l,r]内与k最接近的数与k的差是多少. 思路: 将数列中的数和询问的数先从小到大排序, 从小到大枚举每个数,如果是数列上的,就加到线段树中, 如果是询问中的,就在线 ...
- CXF和Axis2开发webservice也是可以添加asmx等后缀
在当家互联网时代, 手机APP所需要的后台服务接口经常会变化, 如果前期没有设计好, 把它们的请求地址配置在比较稳定不会经常修改的地址(例如专门一个后台服务用于获取所有最新的数据服务地址)这样不会因为 ...