1. 程式人生 > 實用技巧 >Python用 matplotlib 工具包來繪製世界地圖

Python用 matplotlib 工具包來繪製世界地圖

strace 功能說明: 跟蹤程序的系統呼叫
strace會追蹤程式執行時的整個生命週期,輸出每一個系統呼叫的名字、引數、返回值和執行所消耗的時間等。

引數選項:
-c 統計每一個系統呼叫的所執行的時間,次數和出錯的次數等 
-d 輸出strace關於標準錯誤的除錯資訊 
-f 跟蹤由fork呼叫所產生的子程序 
-ff 如果提供-o filename,則所有程序的跟蹤結果輸出到相應的filename.pid中,pid是各程序的程序號 
-F 嘗試跟蹤vfork呼叫,在-f時,vfork不被跟蹤 
-h 輸出簡要的幫助資訊 
-i 輸出系統呼叫的入口指標 
-q 禁止輸出關於脫離的訊息 
-r 輸出每一個系統呼叫的相對時間
-t 在輸出中的每一行前加上時間資訊,例如 16:45:28 -tt 在輸出中的每一行前加上時間資訊,精確到微秒。例如 16:45:28.759546 -ttt 在輸出中的每一行前加上時間資訊,精確到微秒,而且時間表示為UNIX時間戳。例如 1486222462.759546 -T 顯示每次系統呼叫所花費的時間 -v 輸出所有的系統呼叫,一些呼叫關於環境變數、狀態、輸入輸出等呼叫由於使用頻繁,預設不輸出 -V 輸出strace的版本資訊. -x 以十六進位制形式輸出非標準字串 -xx 所有字串以十六進位制形式輸出 -a column 設定返回值的輸出位置,預設為40 -e expr 輸出過濾器,通過表示式,可以過濾掉不想要的輸出。expr 是一個表示式,用來控制如何跟蹤,格式:[qualifier=][!]value1[,value2]... 說明:(
1)qualifier只能是 trace,abbrev,verbose,raw,signal,read,write其中之一 (2)value是用來限定的符號或數字 (3)預設的 qualifier是 trace (4)感嘆號是否定符號 例如:-eopen等價於 -e trace=open,表示只跟蹤open呼叫。而-etrace!=open 表示跟蹤除了open以外的其他呼叫.有兩個特殊的符號 all 和 none 注意有些shell使用!來執行歷史記錄裡的命令,所以要使用\\. -e trace=set 只跟蹤指定的系統呼叫.例如:-e trace=open,close,rean,write表示只跟蹤這四個系統呼叫。預設的為set=all
-e trace=file 只跟蹤有關檔案操作的系統呼叫 -e trace=process 只跟蹤有關程序控制的系統呼叫 -e trace=network 跟蹤與網路有關的所有系統呼叫 -e strace=signal 跟蹤所有與系統訊號有關的系統呼叫 -e trace=ipc 跟蹤所有與程序通訊有關的系統呼叫 -e abbrev=set 設定strace輸出的系統呼叫的結果集 -e raw=set 將指定的系統呼叫的引數以十六進位制顯示 -e signal=set 指定跟蹤的系統訊號.預設為all.如 signal=!SIGIO(或者signal=!io),表示不跟蹤SIGIO訊號 -e read=set 輸出從指定檔案中讀出的資料.例如: -e read=3,5 -e write=set 輸出寫入到指定檔案中的資料 -o filename 將strace的輸出寫入檔案filename -p pid 跟蹤指定的程序pid,要同時跟蹤多個pid,重複多次-p選項即可 -s strsize 指定輸出的字串的最大長度,預設為32,檔名一直全部輸出 -u username 以username的UID和GID執行被跟蹤的命令。