1.strace簡(jiǎn)介
strace常用來(lái)跟蹤進(jìn)程執(zhí)行時(shí)的系統(tǒng)調(diào)用和所接收的信號(hào)。 通過(guò)strace可以知道應(yīng)用程序打開(kāi)了哪些文件,以及讀寫(xiě)了什么內(nèi)容,包括消耗的時(shí)間以及返回值等。在Linux世界,進(jìn)程不能直接訪問(wèn)硬件設(shè)備,當(dāng)進(jìn)程需要訪問(wèn)硬件設(shè)備(比如讀取磁盤(pán)文件,接收網(wǎng)絡(luò)數(shù)據(jù)等等)時(shí),必須由用戶(hù)態(tài)模式切換至內(nèi)核態(tài)模式,通 過(guò)系統(tǒng)調(diào)用訪問(wèn)硬件設(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命令文件,放入我們開(kāi)發(fā)板的根目錄/bin中,便能使用了
#cp strace /nfs_root/bin/ //nfs_root:開(kāi)發(fā)板的nfs系統(tǒng)根目錄
3.strace命令使用
常用參數(shù)如下所示:
-o 指定跟蹤信息的輸出文件
-t 記錄跟蹤信息的時(shí)間,以S為單位
-tt 記錄跟蹤信息的時(shí)間,以u(píng)S為單位
4.實(shí)例
通過(guò)strace來(lái)測(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)用程序,打開(kāi)led1,并將跟蹤信息輸出到log.txt中
其中l(wèi)og.txt的內(nèi)容如下所示:

總結(jié)
以上所述是小編給大家介紹的Linux應(yīng)用調(diào)試之strace命令詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- Linux命令 sort、uniq、tr工具詳解
- Linux tr命令的使用方法
- Linux traceroute命令使用詳解
- Linux命令中Ctrl+z、Ctrl+c和Ctrl+d的區(qū)別和使用詳解
- Trash-Cli:Linux上的命令行回收站工具
- 詳解linux下tree命令的用法
- Linux shell tr 命令詳解
- 詳解linux中的strings命令簡(jiǎn)介
- 一天一個(gè)shell命令 linux文本操作系列-tree命令詳解
- Linux tr命令的使用