使用linux的strace來除錯程式系統呼叫

2021-08-11 13:52:49 字數 1677 閱讀 5084

命令用法

讓我們看看strace命令如何追蹤乙個程式的執**況。

最簡單的形式,strace後面可以跟任何命令。它將列出許許多多的系統呼叫。一開始,我們並不能理解所有的輸出,但是如果你正在尋找一些特殊的東西,那麼你應該能從輸出中發現它。

linux strace命令詳解 

linux strace 跟蹤程序資訊 

linux下重量級命令strace使用介紹 

linux strace解決段錯誤 

linux程序控制--strace:追蹤訊號和系統呼叫 

linux中程式執行的流程分析工具——strace 

讓我們來看看簡單命令ls的系統呼叫跟蹤情況

這是strace命令輸出的前幾行。其他輸出被截去了。

上面的輸出部分展示了write系統呼叫,它把當前目錄的列表輸出到標準輸出。

下面的展示了使用ls命令列出的目錄內容(沒有使用strace)。

raghu@raghu

-linoxide

~$ ls

選項1 尋找被程式讀取的配置檔案

strace 的用法之一(除了除錯某些問題以外)是你能找到被乙個程式讀取的配置檔案。例如,

選項2 跟蹤指定的系統呼叫

strace命令的-e選項僅僅被用來展示特定的系統呼叫(例如,open,write等等)

讓我們跟蹤一下cat命令的『open』系統呼叫。

選項3 跟蹤程序

strace不但能用在命令上,而且通過使用-p選項能用在執行的程序上。

選項4 strace的統計概要

它包括系統呼叫的概要,執行時間,錯誤等等。使用-c選項能夠以一種整潔的方式展示:

我使用過的linux命令之strace

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

Strace在Linux下使用方法

基本上完整的用法是這樣 strace o tmp output2.txt t tt e trace desc s 12 p 17129 牆內 使用到的引數如下 1 strace p pid 可以跟蹤某個後台程序 2 strace o filename 把跟蹤結果輸出到檔案 3 strace t 記錄...

strace 除錯linux 程式

strace常用引數 c 統計每種系統呼叫執行的時間 呼叫次數 出錯次數,程式退出時給出報告 p pid 跟蹤指定的程序,可以使用多個 p同時跟蹤多個程序 o filename strace預設輸出到stdout,o可以將輸出寫入到指定的檔案 f 跟蹤由fork產生的子程序的系統呼叫 ff 常與 o...