一. 环境准备
1.1. 系统版本和内核信息
[root]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root]# uname -a
Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
1.2. 安装基础软件
[root]#yum groupinstall "Development Tools"
[root]#yum install ncurses-devel readline-devel texinfo
[root]#yum install vim
二. 文件准备
2.1. 查看bash版本
[root]# rpm -q bash
bash-4.2.46-20.el7_2.x86_64
2.2. 下载bashdb-4.2-0.7
通过查看文档和自己的测试,bashdb-4.2-0.7 和centos7的bash-4.2.46版本匹配,并且编译顺利.
bashdb-4.2-0.7 下载地址 http://bashdb.sourceforge.net/
备用下载地址 http://download.csdn.net/detail/shile/9740693
解压bashdb
tar xf bashdb-4.2-0.7-centos7.tar.gz -C /usr/src
三. 编译安装bashdb
3.1. 编译安装bashdb
不结合bash源代码编译和安装bashdb
[root]#cd /usr/src
[root]#cd bashdb-4.2-0.7
[root]#touch $HOME/missing
[root]#touch libtoolT
[root]#./configure --prefix=$HOME
[root]#make
[root]#make install
3.2. 配置bashdb
[root]#vi ~/.bash_profile
在最后添加
MANPATH=$HOME/share/man:$MANPATH
export MANPATH
INFOPATH=$HOME/share/info
export INFOPATH
然后,生效新的设置.
source ~/.bash_profile
设置inc文件路径.[重要]
[root]#mkdir /usr/share/bashdb/
[root]#ln -s ~/share/bashdb/bashdb-main.inc /usr/share/bashdb/
3.3. 使用bashdb
bash --debugger yourscript.sh var1 var2
1
一些常用的调试方法
run 运行
R 重启
l m n 列出m到n行之间的代码
b n 在第n行设断点
L 列出所有断点
d n 删除第n行的断点
D 删除所有断点
W var 观察var
n 单步执行
s 单步执行,进入函数
print $var显示var,观察用,用得最多的命令
T 观察栈
skip 跳过要执行的命令
ret 执行完到函数返回
finish 执行到程序结束
a n cmd 在第n行执行cmd命令行为
A 取消所有添加的行为
q 退出调试