目录:
1.gdb进入和退出
2.发布程序的两种方式Debug和Release
3. -g 命令
4.gdb调试过程
1.将程序跑起来 r(run)
2.查看代码 l(list)
3.打断点
4.打了断点,开始逐语句,逐过程调试
5.如何在调试过程查看监视局部变量
6.确定这个函数没有问题了,退出这个函数
7.退出某个函数,进入下一个断点
8.删断点和断点的管理
9.修改某一变量的值
-----------------------------------------------------------------------------------------------------------------------------
1.gdb进入和退出
进入 : gdb 跟 可执行文件
退出 : q
2.发布程序的两种方式Debug和Release


3. -g 命令
我们现在知道了我们 gcc 生成的可执行程序是release版本是不包含调试信息的
那么我们该怎样让gcc生成的可执行层序是 Degug版本的呢


gdb调试程序,必须是Debug方式
------------------------------------------------------------------------------------------------------------------------------
4.gdb调试过程
1.将程序在gdb下跑起来 r(run)

2.查看代码 l

3.打断点 b 跟 指定行号(也可以根据函数名打)

查看我们打的断点 info b
那么我们根据函数名打断点,又是怎么打的呢???

4.打了断点,开始逐语句,逐过程调试
1.让程序跑起来,在有断点的地方停下来


我们目前所在的是16行但我们想进入sumTopTop函数内的话,我们需要先逐过程调试,到17行,在逐语句调试进入到函数内容
逐过程 -n
逐语句 -s

5.如何在调试过程查看监视局部变量
display 跟要查看的变量

-p 或 P 都可以仅查看变量的值一次

删除我们的长显示的变量
undisplay 跟序号

6.确定这个函数没有问题了,退出这个函数

7.退出某个函数,进入下一个断点

但是我们调试过程中,进入17行的函数时,后悔了,想直接从这个函数跳出来,并同时跳到下一个断点位置
-c

总结 finish 和 continue

以上的两种方法都可以帮助我们快速的省略中间代码执行过程, 快速到达我们想调试的位置。
我们也还有另一种方法 ----也可以快速到达我们想调试的位置
until 跟 行数
until 可以跳到这个函数内的某一个行(记住until只能在一个函数内跳转,不能跳转出这个函数)

8. 删断点和断点的管理
d 跟断点的编号,删除断点

但我们不想使用这个断点,但又不想删这个断点呢???禁用这个断点
disable 跟 断点序号

enable 跟 断定序号 让这个断点生效

9.修改某一变量的值
set var 跟


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/70968.html