强大的gdb
来源:互联网 发布:java游戏圈钱 编辑:程序博客网 时间:2024/05/16 07:33
今天仔细看了一下gdb的介绍,发现它的调试功能实在是太强大了。VC++在它面前必将羞愧不已。
比较imba的功能列举如下:
1、break *address
在程序运行的内存地址处停住。
2、break ... if
condition表示条件,在条件成立时停住。比如在循环体中,可以设置break if i=100,表示当i为100时停住程序。
除了断点之外,gdb还能设置观察点和捕捉点。
观察点一般来观察某个表达式(变量也是一种表达式)的值是否有变化了,如果有变化,马上停住程序。
1、watch
为表达式(变量)expr设置一个观察点。一表达式值有变化时,马上停住程序。
2、rwatch
当表达式(变量)expr被读时,停住程序。
3、awatch
当表达式(变量)的值被读或被写时,停住程序。
gdb可以设置捕捉点来捕捉程序运行时的一些事件。如:载入共享库(动态链接库)或是C++的异常。
设置捕捉点的格式为:
* catch
当event发生时,停住程序。event可以是下面的内容:
1. throw 一个C++抛出的异常。(throw为关键字)
2. catch 一个C++捕捉到的异常。(catch为关键字)
3. exec 调用系统调用exec时。(exec为关键字,目前此功能只在HP-UX下有用)
4. fork 调用系统调用fork时。(fork为关键字,目前此功能只在HP-UX下有用)
5. vfork 调用系统调用vfork时。(vfork为关键字,目前此功能只在HP-UX下有用)
6. load 或 load 载入共享库(动态链接库)时。(load为关键字,目前此功能只在HP-UX下有用)
7. unload 或 unload 卸载共享库(动态链接库)时。(unload为关键字,目前此功能只在HP-UX下有用)
看来命令行调试工具不仅丝毫不逊色于图形化调试工具,反而在某些方面更加强大。
比较imba的功能列举如下:
1、break *address
在程序运行的内存地址处停住。
2、break ... if
condition表示条件,在条件成立时停住。比如在循环体中,可以设置break if i=100,表示当i为100时停住程序。
除了断点之外,gdb还能设置观察点和捕捉点。
观察点一般来观察某个表达式(变量也是一种表达式)的值是否有变化了,如果有变化,马上停住程序。
1、watch
为表达式(变量)expr设置一个观察点。一表达式值有变化时,马上停住程序。
2、rwatch
当表达式(变量)expr被读时,停住程序。
3、awatch
当表达式(变量)的值被读或被写时,停住程序。
gdb可以设置捕捉点来捕捉程序运行时的一些事件。如:载入共享库(动态链接库)或是C++的异常。
设置捕捉点的格式为:
* catch
当event发生时,停住程序。event可以是下面的内容:
1. throw 一个C++抛出的异常。(throw为关键字)
2. catch 一个C++捕捉到的异常。(catch为关键字)
3. exec 调用系统调用exec时。(exec为关键字,目前此功能只在HP-UX下有用)
4. fork 调用系统调用fork时。(fork为关键字,目前此功能只在HP-UX下有用)
5. vfork 调用系统调用vfork时。(vfork为关键字,目前此功能只在HP-UX下有用)
6. load 或 load
7. unload 或 unload
看来命令行调试工具不仅丝毫不逊色于图形化调试工具,反而在某些方面更加强大。
0
上一篇:C++内存泄露的定位与解决
下一篇:ubuntu10.04下vim7.3安装手记
相关热门文章
- test123
- 编写安全代码——小心有符号数...
- 使用openssl api进行加密解密...
- 彻底搞定C语言指针详解-完整版...
- 一段自己打印自己的c程序...
- linux dhcp peizhi roc
- 关于Unix文件的软链接
- 求教这个命令什么意思,我是新...
- sed -e "/grep/d" 是什么意思...
- 谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议
0 0
- 强大的gdb
- Linux下强大的GDB
- GDB调试果然强大
- C实战:强大的程序调试工具GDB
- LINUX下GDB调试 很强大
- [GDB-7] gdb 的学习
- 强大的是更强大的战斗力
- 一次强大的疲倦
- 强大的ORACLE CLIENT
- 强大的ASCII码表
- typedef的强大功能
- 强大的IWEB接口
- 强大的Perl
- 认识强大的WebDAV
- 强大的using语句
- 强大的axel!
- 强大的SPGridView
- SMARTY强大的IF
- 个人阶段总结框架及深度学习简单理解
- study-5系统优化
- 关于DXP2004的安装
- 程序的内存分配
- C++ <ctime>(time.h)库笔记 以及简便计算日期差等
- 强大的gdb
- C++中string substr()函数的使用(截取子字符串的函数)
- golang中获取字符串长度的几种方法
- Linux ps命令详解与示例说明
- http的各个状态码代表的意思
- JavaEE:Hibernate笔记
- leetcode(16).38. Count and Say
- 机器学习小组知识点14:均匀分布(Uniform Distribution)
- JS的学习
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
情绪难以自控怎么办
老人突然头晕怎么办
老年人后背痒怎么办
中学生不爱说话怎么办
学生要荣誉证书怎么办
复读团员证怎么办
复读团员关系怎么办
复读团员怎么办
含羞草焉了怎么办
胃反酸恶心呕吐怎么办
遇到坏人怎么办教案
婴幼儿吸收不好怎么办
儿童不长个怎么办
高中孩子逆反怎么办
焦虑抑郁失眠怎么办
军训大姨妈怎么办
军训出现晕倒怎么办
夏季犯困怎么办
动物蛋白过敏怎么办
锻炼心率过高怎么办
单位风气不好怎么办
公司风气不好怎么办
大学实训挂了怎么办
电脑上打不开微课怎么办
同学太吵怎么办
xp网络感叹号怎么办
电脑wifi感叹号怎么办
电脑显示感叹号怎么办
字体很小学生怎么办
不想玩游戏怎么办
夫妻一方黑名单怎么办
学生玩游戏怎么办
国外怎么办期刊
大学生活很迷茫怎么办
初中孩子内向怎么办
小腿半月板损伤怎么办
手腕扭到筋怎么办
手腕扭伤抬不直怎么办
老人手腕扭伤怎么办
手伤筋了怎么办
小孩手伤筋了怎么办