1.前提:
程序的发布方式有两种,debug模式和release模式
Linux gcc/g++出来的二进制程序,默认是release模式
要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g
选项
2. 开始使用
退出命令:
ctrl + d 或 quit
-
list/l 行号
:显示binFile源代码,接着上次的位置往下列,每次列10行。 -
list/l 函数名
:列出某个函数的源代码
例: -
break(b) 行号
:在某一行设置断点(相当与VS中的F9)
例:
-
info break
:查看断点信息
例:
-
run(或r)
:从开始连续而非单步执行程序(重新运行)
例:
-
n 或 next
:单条执行(逐过程,相当于VS中的F10)
例:
-
p 变量
:打印变量值
例:
-
display 变量名
:跟踪查看一个变量,每次停下来都显示它的值 -
undisplay
:取消对先前设置的那些变量的跟踪
例:
常显示地址:
-
delete breakpoints(或d)
:删除所有断点 -
delete breakpoints (或d) n
:删除序号为n的断点
例:
-
s或step
:进入函数调用(逐语句,等价于VS中的F11) -
breaktrace(或bt)
:查看各级函数调用及参数
例:
-
until 行号
:直接跳至某行
例;
-
finish
:执行到当前函数返回,然后挺下来等待命令(直接跑完一个函数,在非main函数中使用)
例:
-
continue(或c)
:从当前位置开始连续而非单步执行程序(直接跳到下一个断点)
例:
定位三剑客:
until
finish
continue
delete breakpoints
:删除所有断点delete breakpoints n
:删除序号为n的断点disable breakpoints
:禁用断点enable breakpoints
:启用断点
例:
print( p)
:打印表达式的值,通过表达式可以修改变量的值或者调用函数p 变量
:打印变量值。set var
:修改变量的值
例:
– the End –
以上就是我分享的Linux调试器-gdb使用相关内容,感谢阅读!
本文收录于专栏:Linux
关注作者,持续阅读作者的文章,学习更多知识!
https://blog.csdn.net/weixin_53306029?spm=1001.2014.3001.5343
2021/11/13
————————————————
推荐阅读
- Linux
—【Linux练习生】学好linux?先从基本指令入手(详解+举例)(上)(ls、pwd、cd、touch、mkdir、rmdir、rm、man、cp、mv、cat、tac、more、less)
—【Linux练习生】学好linux?先从基本指令入手(详解+举例)(下)
—【Linux练习生】深度理解Linux权限(超详细)
—【Linux练习生】Linux编辑器-vim使用(详解)
- Linux
—【Linux练习生】Linux编辑器-vim使用(详解)
—【Linux练习生】Linux调试器-gdb使用(详解+举例)
—【Linux练习生】第一个Linux小程序–倒计时计数+进度条
—【Linux练习生】Linux项目自动化构建工具-make/Makefile