strace調試工具

來源:互聯網
上載者:User

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使用舉例:1strace -t ls  #跟蹤ls可執行程式,每行輸出結果前列印執行的時間 1strace -o output.txt -f -T -tt -e trace=all -p 8979 #跟蹤進程8979及其子進程的所有系統調用 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.