一. 環境準備
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 退出調試