欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

linux命令行調(diào)試代碼 linux命令行編程

如何調(diào)試Linux shell腳本

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

創(chuàng)新互聯(lián)于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元大渡口做網(wǎng)站,已為上家服務(wù),為大渡口各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

shell也有一個(gè)真實(shí)的調(diào)試模式。如果在腳本"strangescript" 中有錯(cuò)誤,您可以這樣來進(jìn)行調(diào)試:

sh -x strangescript

這將執(zhí)行該腳本并顯示所有變量的值。

shell還有一個(gè)不需要執(zhí)行腳本只是檢查語法的模式。可以這樣使用:

sh -n your_script

這將返回所有語法錯(cuò)誤。

linux/unix shell l腳本調(diào)試方法

Shell提供了一些用于調(diào)試腳本的選項(xiàng),如下所示:

-n

讀一遍腳本中的命令但不執(zhí)行,用于檢查腳本中的語法錯(cuò)誤

-v

一邊執(zhí)行腳本,一邊將執(zhí)行過的腳本命令打印到標(biāo)準(zhǔn)錯(cuò)誤輸出

-x

提供跟蹤執(zhí)行信息,將執(zhí)行的每一條命令和結(jié)果依次打印出來

使用這些選項(xiàng)有三種方法,一是在命令行提供參數(shù)

$ sh -x ./script.sh二是在腳本開頭提供參數(shù)

#! /bin/sh -x第三種方法是在腳本中用set命令啟用或禁用參數(shù)

#! /bin/sh

if [ -z "$1" ]; then

set -x

echo "ERROR: Insufficient Args."

exit 1

set +x

fiset -x和set +x分別表示啟用和禁用-x參數(shù),這樣可以只對腳本中的某一段進(jìn)行跟蹤調(diào)試。

linux入門基礎(chǔ)(四)Gdb調(diào)試程序

Gdb調(diào)試

注意:在Gcc編譯選項(xiàng)中一定要加入

–g

退出GDB:quit

Ctrl+d

調(diào)試過程:

1.

查看文件

命令:

(gdb)

l

命令:(gdb)

b

行號

注:到第17行停止,并沒有執(zhí)行17行

3.

查看斷點(diǎn)情況

info

b

4.

運(yùn)行代碼

r

命令:

(gdb)

r

(也可以指定行開始運(yùn)行,在r后面加上行號)

5.

查看變量值

p

命令:(gdb)

p

變量名

6.

設(shè)置監(jiān)視點(diǎn):

watch

z

(變量名)

也可以是復(fù)雜的表達(dá)式

7.

單步運(yùn)行

命令:(gdb)

n

(逐過程)

8.逐步,會(huì)進(jìn)入函數(shù)

命令:(gdb)

s

9.條件斷點(diǎn)

將正常斷點(diǎn)轉(zhuǎn)變?yōu)闂l件斷點(diǎn):condition

如:condition

1

i

==

10

只有當(dāng)滿足條件i

==

1時(shí),才會(huì)在斷點(diǎn)1處暫停

10.

恢復(fù)程序運(yùn)行

c

命令:

(gdb)

c

(程序就會(huì)運(yùn)行,如果沒有斷點(diǎn),就運(yùn)行剩下部分,如果有斷點(diǎn),就會(huì)運(yùn)行到下一個(gè)斷點(diǎn))

11.

去除斷點(diǎn)

clear

line_number

clear

filename:line_number

12.

help

12.1

help找出類別

12.2help從列表中

linux線上程序問題調(diào)試命令

根據(jù)這些可以查看系統(tǒng)調(diào)用的完整性,比如說服務(wù)器連接數(shù)一直漲,說明fd沒有close,close調(diào)用在上邊有缺失

strace -t -T -v -f -p 16705 -Te write 只看write系統(tǒng)調(diào)用

sudo gcore xxpid 生成dump文件

sudo dlv core binfile core.xxxx 調(diào)試coredump文件,查看調(diào)用棧、goroutines

查看系統(tǒng)級別日志 /var/log/messages

messages 日志是核心系統(tǒng)日志文件。它包含了系統(tǒng)啟動(dòng)時(shí)的引導(dǎo)消息,以及系統(tǒng)運(yùn)行時(shí)的其他狀態(tài)消息。IO 錯(cuò)誤、網(wǎng)絡(luò)錯(cuò)誤和其他系統(tǒng)錯(cuò)誤都會(huì)記錄到這個(gè)文件中。其他信息,比如某個(gè)人的身份切換為 root,也在這里列出。如果服務(wù)正在運(yùn)行,比如 DHCP 服務(wù)器,您可以在 messages 文件中觀察它的活動(dòng)。通常,/var/log/messages 是您在做故障診斷時(shí)首先要查看的文件。

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命令行高效的編寫調(diào)試Matlab程序

只需要在linux的命令行下執(zhí)行: matlab -nodesktop -nosplash -r “你的程序的名字” (前提是matlab所在的目錄在你的PATH變量包含的目錄中)

網(wǎng)站名稱:linux命令行調(diào)試代碼 linux命令行編程
本文網(wǎng)址:http://chinadenli.net/article28/hhhpjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、做網(wǎng)站軟件開發(fā)、App設(shè)計(jì)、品牌網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)