溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

strace命令怎么在Linux系統(tǒng)中使用

發(fā)布時(shí)間:2021-03-16 15:25:19 來源:億速云 閱讀:140 作者:Leah 欄目:開發(fā)技術(shù)

strace命令怎么在Linux系統(tǒng)中使用?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

1.strace簡介

strace常用來跟蹤進(jìn)程執(zhí)行時(shí)的系統(tǒng)調(diào)用和所接收的信號(hào)。 通過strace可以知道應(yīng)用程序打開了哪些文件,以及讀寫了什么內(nèi)容,包括消耗的時(shí)間以及返回值等。在Linux世界,進(jìn)程不能直接訪問硬件設(shè)備,當(dāng)進(jìn)程需要訪問硬件設(shè)備(比如讀取磁盤文件,接收網(wǎng)絡(luò)數(shù)據(jù)等等)時(shí),必須由用戶態(tài)模式切換至內(nèi)核態(tài)模式,通 過系統(tǒng)調(diào)用訪問硬件設(shè)備。strace可以跟蹤到一個(gè)進(jìn)程產(chǎn)生的系統(tǒng)調(diào)用,包括參數(shù),返回值,執(zhí)行消耗的時(shí)間。

2.安裝strace命令

首先需要以下兩個(gè)文件:

strace-4.5.15.tar.bz2          
strace-fix-arm-bad-syscall.patch

步驟如下:

#tar -xjf strace-4.5.15.tar.bz2
#cd strace-4.5.15/
#patch -p1 <../strace-fix-arm-bad-syscall.patch
//“p1”值去掉補(bǔ)丁的第一個(gè)路徑 “<”指補(bǔ)丁文件位置,“../” 指返回上個(gè)目錄
#./configure --host=arm-linux CC=arm-linux-gcc     //配置configure
#make                          //生成strace命令文件

然后將strace命令文件,放入我們開發(fā)板的根目錄/bin中,便能使用了

#cp strace /nfs_root/bin/     //nfs_root:開發(fā)板的nfs系統(tǒng)根目錄

3.strace命令使用

常用參數(shù)如下所示:

-o    指定跟蹤信息的輸出文件       
-t     記錄跟蹤信息的時(shí)間,以S為單位
-tt    記錄跟蹤信息的時(shí)間,以u(píng)S為單位

4.實(shí)例

通過strace來測(cè)試led_text應(yīng)用程序

#insmod led.ko          //裝載led驅(qū)動(dòng)
# strace -o log.txt ./led_text led1 on      
     //測(cè)試led_text應(yīng)用程序,打開led1,并將跟蹤信息輸出到log.txt中

其中l(wèi)og.txt的內(nèi)容如下所示:

 strace命令怎么在Linux系統(tǒng)中使用

看完上述內(nèi)容,你們掌握strace命令怎么在Linux系統(tǒng)中使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI