GDB command 命令
语法
command 命令是一个很好用的调试命令,它配合断点使用,可以在指定的断点执行预先设置的命令
其语法为:command bread_id
,这样会提示你输入你要执行的命令,以 end 结束。这个 bread_id 就是用 info b 打印出的结果,其实就是当前已经设置的断点序号。
.gdbinit
文件中有如下内容
layout srcb main
b binary_search if target == 5# 断点 1 触发执行的命令
command 1
i locals # 显示局部变量
i args # 显示参数
end# 断点 2 触发执行的命令
comm 2
i locals # 显示局部变量
i args # 显示参数
end# 自定义一个 print-tyustli 命令
define print-tyustliecho hello, world\n
end# 自定义命令 print-tyustli 的帮助文档
document print-tyustliusage: print-list LIST NODE_TYPE NEXT_FIELD [COUNT]打印 tyustlidata: 2023-09-27author: tyustli
end
上面设置了两个断点 b main
和 b binary_search if target == 5
在断点 1 设置了命令
command 1
i locals
i args
end
在断点 2 设置了命令
comm 2
i locals
i args
end
2 个断点都加了 command 命令。 当断点被触发时,这些命令会被执行,这样的好处是不需要手动敲 c 来将程序继续执行下去,方便调试。
示例
参考
https://blog.csdn.net/tianyexing2008/article/details/129673247