最簡單的調試命令當然是使用echo命令。您可以使用echo在任何懷疑出錯的地方打印任何變量值。這也是絕大多數的shell程序員要花費80%的時間來調試程序的原因。Shell程序的好處在于不需要重新編譯,插入一個echo命令也不需要多少時間。

創(chuàng)新互聯(lián)于2013年成立,是專業(yè)互聯(lián)網技術服務公司,擁有項目成都網站設計、成都做網站網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元大渡口做網站,已為上家服務,為大渡口各地企業(yè)和個人服務,聯(lián)系電話:13518219792
shell也有一個真實的調試模式。如果在腳本"strangescript" 中有錯誤,您可以這樣來進行調試:
sh -x strangescript
這將執(zhí)行該腳本并顯示所有變量的值。
shell還有一個不需要執(zhí)行腳本只是檢查語法的模式。可以這樣使用:
sh -n your_script
這將返回所有語法錯誤。
linux/unix shell l腳本調試方法
Shell提供了一些用于調試腳本的選項,如下所示:
-n
讀一遍腳本中的命令但不執(zhí)行,用于檢查腳本中的語法錯誤
-v
一邊執(zhí)行腳本,一邊將執(zhí)行過的腳本命令打印到標準錯誤輸出
-x
提供跟蹤執(zhí)行信息,將執(zhí)行的每一條命令和結果依次打印出來
使用這些選項有三種方法,一是在命令行提供參數
$ sh -x ./script.sh二是在腳本開頭提供參數
#! /bin/sh -x第三種方法是在腳本中用set命令啟用或禁用參數
#! /bin/sh
if [ -z "$1" ]; then
set -x
echo "ERROR: Insufficient Args."
exit 1
set +x
fiset -x和set +x分別表示啟用和禁用-x參數,這樣可以只對腳本中的某一段進行跟蹤調試。
Gdb調試
注意:在Gcc編譯選項中一定要加入
–g
退出GDB:quit
或
Ctrl+d
調試過程:
1.
查看文件
命令:
(gdb)
l
命令:(gdb)
b
行號
注:到第17行停止,并沒有執(zhí)行17行
3.
查看斷點情況
info
b
4.
運行代碼
r
命令:
(gdb)
r
(也可以指定行開始運行,在r后面加上行號)
5.
查看變量值
p
命令:(gdb)
p
變量名
6.
設置監(jiān)視點:
watch
z
(變量名)
也可以是復雜的表達式
7.
單步運行
命令:(gdb)
n
(逐過程)
8.逐步,會進入函數
命令:(gdb)
s
9.條件斷點
將正常斷點轉變?yōu)闂l件斷點:condition
如:condition
1
i
==
10
只有當滿足條件i
==
1時,才會在斷點1處暫停
10.
恢復程序運行
c
命令:
(gdb)
c
(程序就會運行,如果沒有斷點,就運行剩下部分,如果有斷點,就會運行到下一個斷點)
11.
去除斷點
clear
line_number
clear
filename:line_number
12.
help
12.1
help找出類別
12.2help從列表中
根據這些可以查看系統(tǒng)調用的完整性,比如說服務器連接數一直漲,說明fd沒有close,close調用在上邊有缺失
strace -t -T -v -f -p 16705 -Te write 只看write系統(tǒng)調用
sudo gcore xxpid 生成dump文件
sudo dlv core binfile core.xxxx 調試coredump文件,查看調用棧、goroutines
查看系統(tǒng)級別日志 /var/log/messages
messages 日志是核心系統(tǒng)日志文件。它包含了系統(tǒng)啟動時的引導消息,以及系統(tǒng)運行時的其他狀態(tài)消息。IO 錯誤、網絡錯誤和其他系統(tǒng)錯誤都會記錄到這個文件中。其他信息,比如某個人的身份切換為 root,也在這里列出。如果服務正在運行,比如 DHCP 服務器,您可以在 messages 文件中觀察它的活動。通常,/var/log/messages 是您在做故障診斷時首先要查看的文件。
tcpdump -i lo -nnA 'port 7076' and 'tcp[13] 4 != 0 ' 抓rst包,發(fā)送給7076端口或者是7076端口發(fā)出去的
mac osx系統(tǒng):sudo tcpdump -i lo0 -nnA 'port 3000'
只需要在linux的命令行下執(zhí)行: matlab -nodesktop -nosplash -r “你的程序的名字” (前提是matlab所在的目錄在你的PATH變量包含的目錄中)
網站名稱:linux命令行調試代碼 linux命令行編程
本文網址:http://www.jbt999.com/article28/hhhpjp.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站內鏈、做網站、軟件開發(fā)、App設計、品牌網站建設、手機網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)