命令脚本
首先对于命令脚本的命名,其实 gdb 没有什么特殊要求,只要文件名不是 gdb 支持的其它脚本语言的文件名就可以了(比如.py)。因为这样做会使 gdb 按照相应的脚本语言去解析命令脚本,结果自然是不对的。
其次为了帮助用户写出功能强大的脚本,gdb 提供了如下的流程控制命令:
- 条件命令:
if...else...end。这个同其它语言中提供的if命令没什么区别,只是注意结尾的end。 - 循环命令:
while...end。gdb 同样提供了 loop_break 和 loop_continue 命令分别对应其它语言中的 break 和 continue ,另外同样注意结尾的 end。
另外 gdb 还提供了很多输出命令。比方说 echo 命令,如果仅仅是输出一段文本,echo 命令特别方便。此外还有和 C 语言很相似的支持格式化输出的 printf 命令,等等。
脚本文件的注释也是以 # 开头的,这个同很多其它脚本语言都一样。
最后指出的是在 gdb 中执行脚本要使用 source 命令,例如:source xxx.gdb。
编译并调试 C 代码
本文介绍了GDB中的命令脚本使用,包括命令脚本的命名规则、流程控制(条件命令、循环命令)、输出命令如echo和printf,以及如何通过source命令执行脚本。同时,讨论了GDB内嵌Python解释器的功能,强调import gdb只适用于gdb进程,并且解释了为何不能在常规Python解释器中直接导入gdb。
订阅专栏 解锁全文
562

被折叠的 条评论
为什么被折叠?



