gdb watch
来源:互联网 发布:手机怎么开通淘宝网店 编辑:程序博客网 时间:2024/06/05 14:16
这里大概说下gdb调试程序时,watch的使用。至于原理尚不清楚,以后再做补充,还请见谅。
watch通常需要和break,run,continue联合使用。
下面举例说明:
代码如下:
调试的时候过程如下:
(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) b5 -------在第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) watcha -------观察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观察设置的观察点是否有变化。
疑问:
1. 直接设置观察点是不行的,原因未知。 ------ 因为这个变量还没有值。
2. 测试对于指针设置观察点,观察的为指针的值,还是指针所在的空间。 ---- 比如char *p; 如果watch p,则监控的是指针p的变化,如果watch *p,则监控的是指针指向内容的变化。
- gdb watch
- gdb-watch
- gdb watch
- gdb watch
- gdb watch 使用
- 有关gdb调试watch
- gdb watch的使用
- gdb watch point
- gdb---watch使用方法
- gdb watch 调试时,无法watch
- gdb下watch的使用
- gdb 调试小记(关于watch)
- 使用gdb watch调试代码
- GDB 下 watch的使用
- gdb 断点设置(二)watch
- gdb 内存断点watch 的使用
- GDB watch if var !=value
- gdb 断点设置(二)watch
- 他是香港九龙皇帝,疯狂涂鸦51年,无数次进出警察局,黄家驹都曾为他写歌
- 算法分析与设计-15-背包问题的贪心算法
- 第九周项目2--对称矩阵压缩存储的实现与应用1
- spring中引入其他文件
- GNU编译优化级别-O -O1 -O2 -O3
- gdb watch
- Poj 3278 BFS(不多说话) Catch That Cow
- str_replace和substr_replace的区别
- 第九周项目2--对称矩阵压缩存储的实现与应用2
- 从坐拥40亿到一无所有 昔日富豪摆摊还债
- AlarmManager(闹钟服务)
- centos 7 64bit 通过tomcat配置二级域名
- python学习手册(2)
- 欢乐赛总结