strace命令用法詳解

2022-06-01 19:54:09 字數 623 閱讀 1355

strace常用來跟蹤程序執行時的系統呼叫和所接收的訊號。 在linux世界,程序不能直接訪問硬體裝置,當程序需要訪問硬體裝置(比如讀取磁碟檔案,接收網路資料等等)時,必須由使用者態模式切換至核心態模式,通過系統呼叫訪問硬體裝置。strace可以跟蹤到乙個程序產生的系統呼叫,包括引數,返回值,執行消耗的時間。

-p 跟蹤指定的程序

-f 跟蹤由fork子程序系統呼叫

-f 嘗試跟蹤vfork子程序系統調吸入,與-f同時出現時, vfork不被跟蹤

-o filename 預設strace將結果輸出到stdout。通過-o可以將輸出寫入到filename檔案中

-ff 常與-o選項一起使用,不同程序(子程序)產生的系統呼叫輸出到filename.pid檔案

-r 列印每乙個系統呼叫的相對時間

-t 在輸出中的每一行前加上時間資訊。 -tt 時間確定到微秒級。還可以使用-ttt列印相對時間

-v 輸出所有系統呼叫。預設情況下,一些頻繁呼叫的系統呼叫不會輸出

-s 指定每一行輸出字串的長度,預設是32。檔名一直全部輸出

-c 統計每種系統呼叫所執行的時間,呼叫次數,出錯次數。

-e expr 輸出過濾器,通過表示式,可以過濾出掉你不想要輸出

推薦閱讀

strace命令用法詳解

strace常用來跟蹤程序執行時的系統呼叫和所接收的訊號。在linux世界,程序不能直接訪問硬體裝置,當程序需要訪問硬體裝置 比如讀取磁碟檔案,接收網路資料等等 時,必須由使用者態模式切換至核心態模式,通過系統呼叫訪問硬體裝置。strace可以跟蹤到乙個程序產生的系統呼叫,包括引數,返回值,執行消耗...

strace命令詳解

strace是乙個非常簡單的工具,它可以跟蹤系統呼叫的執行。最簡單的方式,它可以從頭到尾跟蹤binary的執行,然後以一行文字輸出系統呼叫的名字,引數和返回值。其實它可以做的更多 1 找出應用程式在啟動時讀取的是哪個配置檔案 只關心特定的系統呼叫,e 引數指定 2 為什麼某個程序沒有開啟本來該開啟的...

strace命令基本用法

strace的最簡單的用法就是執行乙個指定的命令,在指定的命令結束之後它也就退出了。在命令執行的過程中,strace會記錄和解析命令程序的所有系統呼叫以及這個程序所接收到的所有的訊號值。c 統計每一系統呼叫的所執行的時間,次數和出錯的次數等.f 跟蹤由fork呼叫所產生的子程序.ff 如果提供 o ...