真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

strace常用命令學習-創(chuàng)新互聯(lián)

  strace是一個非常簡單的工具,它可以跟蹤系統(tǒng)調(diào)用的執(zhí)行。它常用來跟蹤進程執(zhí)行時的系統(tǒng)調(diào)用和所接受的信號。在調(diào)試的時候,strace能幫助我們追蹤到一個程序所執(zhí)行的而系統(tǒng)調(diào)用。當我們想知道程序和操作系統(tǒng)如何交互的時候,這時極其方便的,比如我們想知道執(zhí)行了哪些系統(tǒng)調(diào)用,并且以何種順序執(zhí)行。我們知道,在linux中,進程不能直接訪問硬件設(shè)備,當進程需要直接訪問硬件設(shè)備(比如讀取磁盤文件,接受網(wǎng)絡(luò)數(shù)據(jù)時),必須由用戶態(tài)模式切換至內(nèi)核態(tài)模式,通過系統(tǒng)調(diào)用訪問硬件設(shè)備。strance可以追蹤到一個進程產(chǎn)生的系統(tǒng)調(diào)用,包括參數(shù),返回值,執(zhí)行消耗的時間等等。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:主機域名、虛擬主機、營銷軟件、網(wǎng)站建設(shè)、巴馬網(wǎng)站維護、網(wǎng)站推廣。

       同時,strance是一個集診斷,調(diào)試,統(tǒng)計于一體的工具。我們可以使用strance對應(yīng)用的的系統(tǒng)調(diào)用和信號傳遞的跟蹤結(jié)果來對應(yīng)用進行分析,以達到解決問題或者是了解應(yīng)用工作過程的目的。

我們先來看看strace的命令都有哪些:

                                   strace常用命令學習

接下來我們通過一個打印“hello world”小程序來練習上面一些常用的選項:

      strace常用命令學習

       從上面我們可以看到,當我們用strace執(zhí)行test時,系統(tǒng)首先調(diào)用execv函數(shù)開始一個新的進程,接著進行一些環(huán)境初始化的一些操作,然后再調(diào)用write函數(shù)將“hello world”輸出到屏幕上,最后調(diào)用exit_group退出,就這樣完成整個程序的執(zhí)行過程。

用-s參數(shù)實現(xiàn)截斷輸出:

     -s參數(shù)用來指定trace的結(jié)果的每一行的輸出長度,同樣還是上面的程序,我們看看加了-s參數(shù)后的變化:

      strace常用命令學習

       從上面的結(jié)果我們可以看到,本來我們是要輸出“hello world”的,當我們加上-s 選項之后,輸出了“hell”,實現(xiàn)了截斷。

我們再來看看strace的跟蹤信號傳遞功能:

      我們這里還用上面的test程序,來觀察進程接受信號的情況。我們先strace ./test,然后打開另外一個窗口,輸入如下的命令 killall test,這時我們會看到程序退出了,結(jié)果如下:

     strace常用命令學習

     上面的現(xiàn)象可以體現(xiàn)出來用strace可以跟蹤進程執(zhí)行時所接受的信號。

用-c參數(shù)還能將進程所有的系統(tǒng)調(diào)用做一個統(tǒng)計分析,如下的現(xiàn)象:

     strace常用命令學習

     從上圖我們可以很清楚的知道我們執(zhí)行一個進程時,調(diào)用了哪些系統(tǒng)函數(shù),調(diào)用的次數(shù),消耗的時間等信息,這對我們分析一個程序來說是非常有用的。

用-o選項實現(xiàn)重定向輸出:參數(shù)-o用于將strace的輸出重定向到文件中,如果不指定-o的話,默認的輸出是stderr,格式是 -o filename,和使用2 > filename是一樣的。我們來看看:

   strace常用命令學習

      用-T選項可以打印出每個系統(tǒng)調(diào)用所花費的時間,也就是每行最右邊的尖括號里面(我在圖中用紅顏色的框畫出來的)。這是一個很有用的功能,strace會將系統(tǒng)調(diào)用每次的時間記錄下來,我們可以使用-t/tt/ttt看到,比如下面:

     strace常用命令學習

      我們來說一下這三個參數(shù)的區(qū)別:-t 輸出結(jié)果精確到秒,-tt輸出結(jié)果精確到微秒,-ttt精確到微秒,而且時間表示為unix時間戳。

用-p追蹤一個現(xiàn)有的進程,用法是 strace -p pid,我們看如下例子:

    strace常用命令學習

      我們的程度是先獲得進程的id,并輸出“hello world”,然后sleep 30秒,在這期間,我們用strace追蹤該進程,輸出上圖的信息,30秒后,進程結(jié)束,死奧用seit_group函數(shù)。

用-e選項來進行特定的系統(tǒng)調(diào)用(例如open,write)等:

      strace常用命令學習

      如上,我們我規(guī)定查看open的系統(tǒng)調(diào)用,并輸出了相應(yīng)的信息。

用-r參數(shù)展示系統(tǒng)調(diào)用之間的相對時間戳:

     strace常用命令學習

    其他選項的例子就不一一例舉了,以上幾個選項時比較常用的。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)站標題:strace常用命令學習-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://weahome.cn/article/cseeoh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部