打造 Bash 调试利器:简易调试器全解析
1. 调试变量简介
Bash 3.0 引入了一些实用的环境变量,助力调试器的编写。这些变量包括:
-BASH_SOURCE:一个数组,存储着当前正在执行的文件名。
-BASH_LINENO:同样是数组,记录着已调用函数的行号。
-BASH_ARGC和BASH_ARGV:BASH_ARGC保存着每一帧的参数数量,BASH_ARGV则存储着参数本身。
不过,为了让调试器能兼容早期版本的 Bash,我们会避免使用这些变量,采用更简单的方式来构建调试器。
2. 简易 Bash 调试器概述
我们要开发一个基础的 Bash 调试器,虽然大多数调试器具备众多复杂特性,但我们聚焦于几个核心功能:
-设置断点:指定程序中暂停执行的位置。
-单步执行:按指定数量执行程序中的语句。
-检查和修改状态:在程序执行期间查看和修改变量的值。
-显示源代码:打印正在调试的源代码,并标记断点和当前执行行。
-无侵入调试:无需修改原程序的源代码即可进行调试。
3. 调试器的结构
这个名为bashdb <