Linux下除錯shell的幾種方法

2021-06-29 01:40:32 字數 1062 閱讀 3053

a、 使用 bashdb進行跟蹤除錯,可以設定斷點等

b、 執行shell指令碼加入-x引數

比如:bash –x test.sh

注意:這種模式下,程式會一次性執行完,但是會將執行的程式都列印;

c、 指令碼中加入

set –x:開啟除錯,會將後面的執行命令與引數都列印出來;set +x 會關閉除錯,該語句之後的shell語句不會列印出來。

set –v:會列印讀取到的**段

可以單獨使用,也可以聯合使用;

另外一種寫法: #!/bin/bash -xv

d、 指令碼內部使用變數和函式的方式

例項指令碼:

#!/bin/bash

_debug="on"

function debug

()debug echo

'reading files'

for i in *

do grep 'zbkchuangjun'

$i > /dev/null

[ $? -eq

0 ] && echo

"found in $i file"

done

debug set -x

a=2b=3

c=$(( $a + $b ))

debug set +x

echo

"$a + $b = $c"

執行輸出如下:

reading files

found in

script.sh file

+ a=2

+ b=3

+ c=5

+ debug set +x

+ '[' on

== on

']'+ set +x

2 + 3 = 5

若設定_debug=」off」,輸出如下:

found in

script.sh file

2 + 3 = 5

Linux下除錯總結

感覺linux環境下段錯誤的產生原因及除錯方法小結寫的不錯,列舉了幾個主要的除錯方式。有幾點補充 1.在使用core dump的時候,關於開啟 關閉生成core檔案的命令 ulimit c unlimited 使core檔案大小沒有限制。ulimit c 0 限制core檔案大小為0,即不產生cor...

linux下除錯python程式

之前除錯python程式都是用print引數,感覺有點弱爆啊,最近發現python也有類似c語言gdb的工具pdb,記錄下pdb的使用方法和心得。先找了段簡單的測試程式 usr bin python from ftplib import ftpimport sysimport socket impo...

Linux下除錯PostgreSQL資料庫

準備原始碼包為 postgresql 9.4.1.tar.gz 作業系統 ubuntu 14.04 x64 server 解壓原始碼包 tar zxvf postgresql 9.4.1.tar.gz cd postgresql 9.4.1 configure enable debug withou...