1.strace簡介
strace常用來跟蹤進程執(zhí)行時的系統(tǒng)調(diào)用和所接收的信號。 通過strace可以知道應用程序打開了哪些文件,以及讀寫了什么內(nèi)容,包括消耗的時間以及返回值等。在Linux世界,進程不能直接訪問硬件設備,當進程需要訪問硬件設備(比如讀取磁盤文件,接收網(wǎng)絡數(shù)據(jù)等等)時,必須由用戶態(tài)模式切換至內(nèi)核態(tài)模式,通 過系統(tǒng)調(diào)用訪問硬件設備。strace可以跟蹤到一個進程產(chǎn)生的系統(tǒng)調(diào)用,包括參數(shù),返回值,執(zhí)行消耗的時間。
2.安裝strace命令
首先需要以下兩個文件:
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”值去掉補丁的第一個路徑 “”指補丁文件位置,“../” 指返回上個目錄
#./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 記錄跟蹤信息的時間,以S為單位
-tt 記錄跟蹤信息的時間,以uS為單位
4.實例
通過strace來測試led_text應用程序
#insmod led.ko //裝載led驅(qū)動
# strace -o log.txt ./led_text led1 on
//測試led_text應用程序,打開led1,并將跟蹤信息輸出到log.txt中
其中l(wèi)og.txt的內(nèi)容如下所示:
總結(jié)
以上所述是小編給大家介紹的Linux應用調(diào)試之strace命令詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(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命令簡介
- 一天一個shell命令 linux文本操作系列-tree命令詳解
- Linux tr命令的使用