strace

strace 可以跟蹤一個(gè)應(yīng)用程序所有的系統(tǒng)調(diào)用及調(diào)用后獲得的返回值。

啟動(dòng)時(shí)跟蹤

-o $file 指定輸出文件撑蒜,默認(rèn)輸出到終端

$ strace -o strace.log vim

打開另一個(gè)終端歹啼,就可以在目錄下找到 strace.log 文件玄渗,例如查看 vim 在啟動(dòng)時(shí)讀取的所有配置文件:

$ cat strace.log | grep "vimrc"
stat64("/usr/share/vim/vimrc", {st_mode=S_IFREG|0644, st_size=2215, ...}) = 0
open("/usr/share/vim/vimrc", O_RDONLY|O_LARGEFILE) = 6
stat64("/usr/share/vim/vimrc", {st_mode=S_IFREG|0644, st_size=2215, ...}) = 0
stat64("/etc/vim/vimrc.local", 0xbfdb7110) = -1 ENOENT (No such file or directory)
open("/etc/vim/vimrc.local", O_RDONLY|O_NONBLOCK|O_LARGEFILE) = -1 ENOENT (No such file or directory)
stat64("/home/kakoi/.vimrc", {st_mode=S_IFREG|0600, st_size=6019, ...}) = 0
open("/home/kakoi/.vimrc", O_RDONLY|O_LARGEFILE) = 7
stat64("/home/kakoi/.vimrc", {st_mode=S_IFREG|0600, st_size=6019, ...}) = 0
read(7, "ir .vimrc in order to\n\"         "..., 4096) = 4096

運(yùn)行時(shí)跟蹤(-p $pid)

-e $func 只跟蹤指定的系統(tǒng)調(diào)用

$ vim

打開另一個(gè)終端運(yùn)行:

$ ps aux|grep vim
kakoi     8599  0.0  0.3  41660  7396 pts/8    Sl+  10:33   0:00 vim a
kakoi    12070  0.0  0.0   6096   820 pts/2    S+   10:36   0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn vim

可以得到 vim 的進(jìn)程號(hào)為 8599,運(yùn)行:

$ sudo strace -e read,write -p 8599

現(xiàn)在就可以實(shí)時(shí)監(jiān)控這個(gè) vim 所有的 read, write 調(diào)用了狸眼。

統(tǒng)計(jì)信息(-c)

strace -c emacs

運(yùn)行一段時(shí)間后退出藤树,可以看到終端返回所有系統(tǒng)調(diào)用的次數(shù)耗時(shí)等信息:

% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 99.09    0.008390           0     48116     46340 open
  0.59    0.000050           3        16         1 waitpid
  0.11    0.000009           0      1843           close
  0.07    0.000006           0      9957           _llseek
  0.07    0.000006           0       612           mmap2
  0.07    0.000006           0      1164       134 stat64
  0.00    0.000000           0      4270         3 read
  0.00    0.000000           0        40           write
  0.00    0.000000           0        10         2 unlink
  0.00    0.000000           0         1           execve
  0.00    0.000000           0        45           time
  0.00    0.000000           0         2           chmod
....

在跟蹤運(yùn)行著的進(jìn)程時(shí),也可以通過 Ctrl-C 來獲得統(tǒng)計(jì)信息而不退出進(jìn)程拓萌。

其他參數(shù)

-f 可以跟蹤所有由 fork 產(chǎn)生的子進(jìn)程(vfork不被跟蹤)
-F 會(huì)嘗試跟蹤 vfork 的調(diào)用
-ff 如果有 -o $file岁钓,則所有進(jìn)程的跟蹤結(jié)果會(huì)輸出到 $file.$pid 中,其中 $pid 為各進(jìn)程的進(jìn)程號(hào)
-t 輸出時(shí)加上時(shí)間信息
-tt 輸出時(shí)加上時(shí)間信息(微秒級(jí))
-T 輸出加上每次系統(tǒng)調(diào)用消耗的時(shí)間
-v 輸出完整的系統(tǒng)調(diào)用信息(默認(rèn)部分頻繁使用的調(diào)用不輸出)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末微王,一起剝皮案震驚了整個(gè)濱河市甜紫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌骂远,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腰根,死亡現(xiàn)場(chǎng)離奇詭異激才,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)额嘿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門瘸恼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人册养,你說我怎么就攤上這事东帅。” “怎么了球拦?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵靠闭,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我坎炼,道長(zhǎng)愧膀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任谣光,我火速辦了婚禮檩淋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘萄金。我一直安慰自己蟀悦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布氧敢。 她就那樣靜靜地躺著日戈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪福稳。 梳的紋絲不亂的頭發(fā)上涎拉,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天瑞侮,我揣著相機(jī)與錄音,去河邊找鬼鼓拧。 笑死半火,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的季俩。 我是一名探鬼主播钮糖,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼酌住!你這毒婦竟也來了店归?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤酪我,失蹤者是張志新(化名)和其女友劉穎消痛,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體都哭,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡秩伞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了欺矫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纱新。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖穆趴,靈堂內(nèi)的尸體忽然破棺而出脸爱,到底是詐尸還是另有隱情,我是刑警寧澤未妹,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布簿废,位于F島的核電站,受9級(jí)特大地震影響教寂,放射性物質(zhì)發(fā)生泄漏捏鱼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一酪耕、第九天 我趴在偏房一處隱蔽的房頂上張望导梆。 院中可真熱鬧,春花似錦迂烁、人聲如沸看尼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽藏斩。三九已至,卻和暖如春却盘,著一層夾襖步出監(jiān)牢的瞬間狰域,已是汗流浹背媳拴。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留兆览,地道東北人屈溉。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像抬探,于是被迫代替她去往敵國(guó)和親子巾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 簡(jiǎn)介 strace常用來跟蹤進(jìn)程執(zhí)行時(shí)的系統(tǒng)調(diào)用和所接收的信號(hào)小压。 在Linux世界线梗,進(jìn)程不能直接訪問硬件設(shè)備,當(dāng)進(jìn)...
    SkTj閱讀 2,204評(píng)論 0 1
  • 系統(tǒng)管理與維護(hù)命令 date date(選項(xiàng))(參數(shù)) | 選項(xiàng) | 說明 | | :-------- | ...
    蓓蓓的萬能男友閱讀 3,899評(píng)論 0 5
  • 簡(jiǎn)介 strace常用來跟蹤進(jìn)程執(zhí)行時(shí)的系統(tǒng)調(diào)用和所接收的信號(hào)怠益。 在Linux世界仪搔,進(jìn)程不能直接訪問硬件設(shè)備,當(dāng)進(jìn)...
    jerrik閱讀 1,344評(píng)論 0 3
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,175評(píng)論 2 33
  • 王源乘電梯下到醫(yī)院一樓,她走到收費(fèi)窗口竹挡,往鐘老師的醫(yī)療賬戶里續(xù)繳了5000塊錢镀娶,就離開了醫(yī)院。 與其尷尬地見面揪罕,不...
    阿果悠悠閱讀 233評(píng)論 0 0