2025年linux调试器 -gbd使用

linux调试器 -gbd使用目录 1 gdb 进入和退出 2 发布程序的两种方式 Debug 和 Release 3 g 命令 4 gdb 调试过程 1 将程序跑起来 r run 2 查看代码 l list 3 打断点 4 打了断点 开始逐语句 逐过程调试 5

大家好,我是讯享网,很高兴认识大家。

目录:

         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  跟

 

小讯
上一篇 2025-02-06 08:48
下一篇 2025-03-02 11:05

相关推荐

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