命令行传参
使用举例:
# 使用 gdb 调试 1$ gdb app # 通过gdb给应用程序设置命令行参数 2(gdb) set args 11 22 33 44 55 # 查看设置的命令行参数 3(gdb) show args Argument list to give program being debugged when it is started is "11 22 33 44 55".
gdb中启动程序
# 两种方式 # 方式1: run/r (gdb) run //会执行到程序结束
# 方式2: start (gdb) start
(gdb) start //执行到main函数第一行
查看代码
(gdb) list //默认查看main函数所在的文件
# 列值这行号对应的上下文代码, 默认情况下只显示10行内容
(gdb) list 行号
# 显示这个函数的上下文内容, 默认显示10行
(gdb) list 函数名
#切换文件
# 切换到指定的文件,并列出这行号对应的上下文代码, 默认情况下只显示10行内容
(gdb) l 文件名:行号
# 切换到指定的文件,并显示这个函数的上下文内容, 默认显示10行
(gdb) l 文件名:函数名
#设置显示的行数
(gdb) set listsize 行数
断点操作
# 在当前文件的某一行上设置断点
# break/b
(gdb) b 行号
(gdb) b 函数名 //停止在函数的第一行
# 在非当前文件的某一行上设置断点
(gdb) b 文件名:行号
(gdb) b 文件名:函数名 # 停止在函数的第一行
# 必须要满足某个条件, 程序才会停在这个断点的位置上
(gdb) b 行数 if 变量名==某个值
# 查看设置的断点信息
(gdb) i b #info break
# 删除断点举例:
(gdb) d 1 # 删除第1个断点
(gdb) d 2 4 6 # 删除第2,4,6个断点
# 举例, 删除第1到第5个断点
(gdb) d 1-5
# 设置某一个或者某几个断点无效
(gdb) dis 断点1的编号 [断点2的编号 ...]
# print == p
(gdb) p 变量名
# 如果变量是一个整形, 默认对应的值是以10进制格式输出,其它格式将fmt设为相应字符
(gdb) p/fmt 变量名
标签:10,函数,行号,默认,命令,gdb,断点,调试 From: https://www.cnblogs.com/ddrm/p/17645608.html