GDB 概述
什么是 GDB
GDB 是GUN 开源组织发布的一款强大的 Unix / Linux 下的程序调试工具。
GDB 的主要功能
-
启动程序,按照程序员要求运行程序。
-
可以让程序在程序员设置的断点处停下来。
-
在程序停止的情况下,可查看程序中的变量等信息。
-
动态改变程序的运行环境。
需要注意的是: 程序在编译的时候需要跟上 -g参数,因为我们默认编译出来的版本是发布版本(Release), 会删除一切调试可用信息,便于减小可执行程序的体积,但是我们调试的时候,我们需要保留 调试信息,所以需要使用到调试版本(DeBug),所以需要指定参数 -g.
GDB 的启动
GDB 常见的启动方式
在命令行中运行:
(1) 1 gdb :
file <filename>
如果调试的程序需要命令行参数还需要执行如下指令:
set args arg1 arg2 ...
(2) gdb ;
如果调试的程序需要命令行参数则执行如下格式指令:
gdb --args <filename> arg1 arg2 ...
GDB 的退出
在gdb中执行命令:
quit / q
GDB 的常用命令
GDB 查看源代码指令------list (l)
显示指定位置的周围的源代码;可以通过行号、文件名、函数名以及三者之间的组合来定位指定位 置,显示代码的行数可以通过设置listsize来设定,但是该设置只是本次有效;简化命令:l
set listsize 20 # 每次list显示指定区域的20行代码,默认10行
show listsizelist linenumber # 显示 linenumber附近的代码
list 50 # 显示当前源文件的第50行的附近代码
list function # 显示函数代码
list test.c:30