strace學習筆記

2021-06-19 16:09:40 字數 682 閱讀 4079

# strace學習筆記

# v0.1 2013.11.15 ***

# 簡介:stracestrace a.out 可以輸出a.out中依次呼叫的系統呼叫,和gdb一樣strace使

用系統呼叫pstrace實現其功能

# 基本功能:

1. strace ./a.out 依次顯示各個系統呼叫

2. strace -c ./a.out 可以列印出a.out中各個系統呼叫的使用次數和時間等資訊

3. strace -ff -o strace_log ./a.out 可以把輸出的結果存在strace_log.中

4. strace -f 可以在fork之後跟蹤各程序內的系統呼叫

5. strace -i ls 顯示系統呼叫時的instruction pointer

6. strace -r|-t|-tt|-t 現實相對時間戳、絕對時間、微秒時間和系統呼叫消耗時間

7. strace -e 可以跟蹤指定的事件(strace -e open ./a.out)

8. strace -p 可以對指定程序進行跟蹤

9. strace -o <**ms> 可以把**ms的時間認為是strace的開銷,strace在統計時間的時

候會減去**ms時間,這個時間一般是由程式執行時間和strace跟蹤情況下程式的運

行時間相減得到, 是個經驗值

linux平台下程式跟蹤strace筆記

c 統計每一系統呼叫的所執行的時間,次數和出錯的次數等.d 輸出strace關於標準錯誤的除錯資訊.f 跟蹤由fork呼叫所產生的子程序.ff 如果提供 o filename,則所有程序的跟蹤結果輸出到相應的filename.pid中,pid是各程序的程序號.f 嘗試跟蹤vfork呼叫.在 f時,v...

strace實現原理

引子 1.在linux系統中,程序狀態除了我們所熟知的task running,task interruptible,task stopped等,還有乙個task traced。這表明這個程序處於什麼狀態?2.strace可以方便的幫助我們記錄程序所執行的系統呼叫,它是如何跟蹤到程序執行的?3.gd...

strace基本操作

可以發現很多真正在系統層面發生的呼叫,以及很細微的返回錯誤資訊,用於除錯工作。比如,軟體出錯,或是效能變慢。strace p 32000 o strace.txt 基本上完整的用法是這樣 strace o tmp output2.txt t tt e trace desc s 12 p 17129 ...