歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> strace調試工具

strace調試工具

日期:2017/3/1 16:17:49   编辑:關於Linux
strace調試工具 strace工具用於跟蹤進程執行時的系統調用和所接收的信號,包括參數、返回值、執行時間。在Linux中,用戶程序要訪問系統設備,必須由用戶態切換到內核態,這是通過系統調用發起並完成的。 strace常用參數: -c  統計每種系統調用執行的時間、調用次數、出錯次數,程序退出時給出報告 -p pid  跟蹤指定的進程,可以使用多個-p同時跟蹤多個進程 -o filename  strace默認輸出到stdout,-o可以將輸出寫入到指定的文件 -f  跟蹤由fork產生的子進程的系統調用 -ff  常與-o選項一起使用,不同進程(子進程)產生的系統調用輸出到各個filename.pid文件中 -F  嘗試跟蹤vfork子進程系統調用,注意:與-f同時使用時, vfork不被跟蹤 -e expr  輸出過濾表達式,可以過濾掉不想輸出的strace結果 -e trace=set  指定跟蹤set中的系統調用 -e trace=network  跟蹤與網絡有關的所有系統調用 -e strace=signal  跟蹤所有與系統信號有關的系統調用 -e trace=ipc  跟蹤所有與進程通訊有關的系統調用 -e signal=set  指定跟蹤set中的信號 -e read=set  輸出從指定文件中讀出的數據,例如-e read=3,5 -e write=set  輸出寫入到指定文件中的數據,例如-e write=1 -r  打印每一個系統調用的相對時間 -t  在輸出中的每一行前加上時間信息 -tt  在輸出中的每一行前加上時間信息,時間精確到微秒級 -ttt  在輸出中的每一行前加上時間信息,輸出為相對時間 -s  指定每一行輸出字符串的長度(默認為32) strace使用舉例: 1 strace -t ls #跟蹤ls可執行程序,每行輸出結果前打印執行的時間 1 strace -o output.txt -f -T -tt -e trace=all -p 8979 #跟蹤進程8979及其子進程的所有系統調用
Copyright © Linux教程網 All Rights Reserved