GDB 下 watch的使用http://www.cnblogs.com/lonelycatcher/archive/2011/10/09/2204865.html
来源:互联网 发布:godaddy新加坡注册域名 编辑:程序博客网 时间:2024/04/19 10:40
GDB 下 watch的使用
转自:http://blog.csdn.net/xiaobai1593/article/details/6740074
这里大概说下gdb调试程序时,watch的使用。至于原理尚不清楚,以后再做补充,还请见谅。
watch通常需要和break,run,continue联合使用。
下面举例说明:
代码如下:
- #include <stdio.h>
- int main()
- {
- int a=0;
- for(int i=0; i<10; i++)
- a+=i;
- }
调试的时候过程如下:
(gdb) l
1 #include <stdio.h>
2
3 int main()
4 {
5 int a=0;
6 for(int i=0; i<10; i++)
7 a+=i;
8 }
(gdb) b 5 -------在第5行设置断电
Breakpoint 1 at 0x80483ba: file a.cpp, line 5.
(gdb) r -------执行到断点处停止
Starting program: /a.o
Breakpoint 1, main () at a.cpp:5
5 int a=0;
(gdb) watch a -------观察a的值,当有变化时,停止
Hardware watchpoint 2: a
(gdb) c -------继续执行,当a的值变化时停止
Continuing.
Hardware watchpoint 2: a
Old value = 0
New value = 1
main () at a.cpp:6
6 for(int i=0; i<10; i++)
(gdb)
Continuing.
Hardware watchpoint 2: a
Old value = 1
New value = 3
main () at a.cpp:6
6 for(int i=0; i<10; i++)
(gdb)
Continuing.
Hardware watchpoint 2: a
即,在使用watch时步骤如下:
1. 使用break在要观察的变量所在处设置断电;
2. 使用run执行,直到断点;
3. 使用watch设置观察点;
4. 使用continue观察设置的观察点是否有变化。
- GDB 下 watch的使用http://www.cnblogs.com/lonelycatcher/archive/2011/10/09/2204865.html
- gdb 多线程调试 http://www.cnblogs.com/xuxm2007/archive/2011/04/01/2002162.html
- linux下select使用--转载http://www.cnblogs.com/moonvan/archive/2012/05/26/2518881.html
- Android Fragment的使用http://www.cnblogs.com/xinye/archive/2012/08/28/2659712.html
- HTMLParser使用 http://www.cnblogs.com/loveyakamoz/archive/2011/07/27/2118937.html
- 超有营养的好博客http://www.cnblogs.com/me115/archive/2012/09/08/2676250.html
- 超有营养的好博客http://www.cnblogs.com/me115/archive/2012/09/08/2676250.html
- Linux进程调度的目标 http://www.cnblogs.com/zhaoyl/archive/2012/09/04/2671156.html
- Hadoop的运行痕迹http://www.cnblogs.com/JohnLiang/archive/2011/11/9.html
- 有关select的操作http://www.cnblogs.com/dcba1112/archive/2011/05/26/2057551.html
- _exit和exit的区别 http://www.cnblogs.com/hnrainll/archive/2011/08/17/2142001.html
- vector的reserve和resize http://www.cnblogs.com/qlee/archive/2011/05/16/2048026.html
- 揭开Socket编程的面纱http://www.cnblogs.com/goodcandle/archive/2005/12/10/socket.html
- http://www.cnblogs.com/macro-cheng/archive/2011/09/30/android-001.html
- http://www.cnblogs.com/codingmyworld/archive/2011/09/14/2174255.html
- http://www.cnblogs.com/zyx2007/archive/2011/09/07/2169698.html
- java反射详解-原文地址:http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html
- http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html
- 信号
- POJ 2411 Mondriaan's Dream
- 3.1 变量和常量的数据类型;3.1.1 值类型
- hdoj1421搬寝室【dp】
- 建造者模式之构建器
- GDB 下 watch的使用http://www.cnblogs.com/lonelycatcher/archive/2011/10/09/2204865.html
- 架构师速成8.3-可用性之分库分表
- hdoj1087Super Jumping! Jumping! Jumping!【dp】
- LeetCode(148) Sort List
- hdu 1558 Segment set(线段相交+并查集)
- hdoj1114Piggy-Bank【完全背包+判断是否装满】
- 3.1.2 引用类型
- 结账之SSTab
- 【机房收费系统】 之 组合查询