インストール
$ sudo apt-get install bashdb
/etc/init.d/ufwをデバッグしてみる。
1 2 3 4 5 6 7 8 9 |
$ sudo bashdb /etc/init.d/ufw restart Bourne-Again Shell Debugger, release bash-3.1-0.08 Copyright 2002, 2003, 2004, 2006, 2007 Rocky Bernstein This is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. (/etc/init.d/ufw:12): 12: PATH="/sbin:/bin:/usr/sbin:/usr/bin" bashdb<0> |
ここからコマンドを入力してデバッグしていく。基本的にはgdbと同じだと思う。基本的なコマンドは以下。
p : 変数を見る(print)
l : ソース表示(list)
h : ヘルプ
s : ステップイン
n : ステップネクスト
[Enter] : 直前のコマンドと同じ
q : 終了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
bashdb<0> p $1 restart bashdb<1> n (/etc/init.d/ufw:14): 14: [ -x /usr/sbin/ufw ] || exit 0 bashdb<2> n (/etc/init.d/ufw:16): 16: . /lib/lsb/init-functions bashdb<3> s (/lib/lsb/init-functions:317): 317: FANCYTTY= bashdb<4> (/lib/lsb/init-functions:318): 318: [ -e /etc/lsb-base-logging.sh ] && . /etc/lsb-base-logging.sh || true bashdb<5> |