<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

        linux的strace命令分析

        時(shí)間: 佳洲1085 分享

          linux下的strace命令是用來跟蹤進(jìn)程執(zhí)行時(shí)的系統(tǒng)調(diào)用和所接受的信號,下面由學(xué)習(xí)啦小編為大家搜集整理了linux的strace命令分析的相關(guān)知識,希望對大家有幫助!

          linux的strace命令分析

          簡介

          strace常用來跟蹤進(jìn)程執(zhí)行時(shí)的系統(tǒng)調(diào)用和所接收的信號。 在Linux世界,進(jìn)程不能直接訪問硬件設(shè)備,當(dāng)進(jìn)程需要訪問硬件設(shè)備(比如讀取磁盤文件,接收網(wǎng)絡(luò)數(shù)據(jù)等等)時(shí),必須由用戶態(tài)模式切換至內(nèi)核態(tài)模式,通 過系統(tǒng)調(diào)用訪問硬件設(shè)備。strace可以跟蹤到一個(gè)進(jìn)程產(chǎn)生的系統(tǒng)調(diào)用,包括參數(shù),返回值,執(zhí)行消耗的時(shí)間。

          輸出參數(shù)含義

          root@ubuntu:/usr# strace cat /dev/null

          execve("/bin/cat", ["cat", "/dev/null"], [/* 22 vars */]) = 0

          brk(0) = 0xab1000

          access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)

          mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29379a7000

          access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)

          ...

          brk(0) = 0xab1000

          brk(0xad2000) = 0xad2000

          fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0

          open("/dev/null", O_RDONLY) = 3

          fstat(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0

          read(3, "", 32768) = 0

          close(3) = 0

          close(1) = 0

          close(2) = 0

          exit_group(0) = ?

          每一行都是一條系統(tǒng)調(diào)用,等號左邊是系統(tǒng)調(diào)用的函數(shù)名及其參數(shù),右邊是該調(diào)用的返回值。

          strace 顯示這些調(diào)用的參數(shù)并返回符號形式的值。strace 從內(nèi)核接收信息,而且不需要以任何特殊的方式來構(gòu)建內(nèi)核。

          strace參數(shù)

          -c 統(tǒng)計(jì)每一系統(tǒng)調(diào)用的所執(zhí)行的時(shí)間,次數(shù)和出錯(cuò)的次數(shù)等.

          -d 輸出strace關(guān)于標(biāo)準(zhǔn)錯(cuò)誤的調(diào)試信息.

          -f 跟蹤由fork調(diào)用所產(chǎn)生的子進(jìn)程.

          -ff 如果提供-o filename,則所有進(jìn)程的跟蹤結(jié)果輸出到相應(yīng)的filename.pid中,pid是各進(jìn)程的進(jìn)程號.

          -F 嘗試跟蹤vfork調(diào)用.在-f時(shí),vfork不被跟蹤.

          -h 輸出簡要的幫助信息.

          -i 輸出系統(tǒng)調(diào)用的入口指針.

          -q 禁止輸出關(guān)于脫離的消息.

          -r 打印出相對時(shí)間關(guān)于,,每一個(gè)系統(tǒng)調(diào)用.

          -t 在輸出中的每一行前加上時(shí)間信息.

          -tt 在輸出中的每一行前加上時(shí)間信息,微秒級.

          -ttt 微秒級輸出,以秒了表示時(shí)間.

          -T 顯示每一調(diào)用所耗的時(shí)間.

          -v 輸出所有的系統(tǒng)調(diào)用.一些調(diào)用關(guān)于環(huán)境變量,狀態(tài),輸入輸出等調(diào)用由于使用頻繁,默認(rèn)不輸出.

          -V 輸出strace的版本信息.

          -x 以十六進(jìn)制形式輸出非標(biāo)準(zhǔn)字符串

          -xx 所有字符串以十六進(jìn)制形式輸出.

          -a column

          設(shè)置返回值的輸出位置.默認(rèn) 為40.

          -e expr

          指定一個(gè)表達(dá)式,用來控制如何跟蹤.格式如下:

          [qualifier=][!]value1[,value2]...

          qualifier只能是 trace,abbrev,verbose,raw,signal,read,write其中之一.value是用來限定的符號或數(shù)字.默認(rèn)的 qualifier是 trace.感嘆號是否定符號.例如:

          -eopen等價(jià)于 -e trace=open,表示只跟蹤open調(diào)用.而-etrace!=open表示跟蹤除了open以外的其他調(diào)用.有兩個(gè)特殊的符號 all 和 none.

          注意有些shell使用!來執(zhí)行歷史記錄里的命令,所以要使用\.

          -e trace=set

          只跟蹤指定的系統(tǒng) 調(diào)用.例如:-e trace=open,close,rean,write表示只跟蹤這四個(gè)系統(tǒng)調(diào)用.默認(rèn)的為set=all.

          -e trace=file

          只跟蹤有關(guān)文件操作的系統(tǒng)調(diào)用.

          -e trace=process

          只跟蹤有關(guān)進(jìn)程控制的系統(tǒng)調(diào)用.

          -e trace=network

          跟蹤與網(wǎng)絡(luò)有關(guān)的所有系統(tǒng)調(diào)用.

          -e strace=signal

          跟蹤所有與系統(tǒng)信號有關(guān)的 系統(tǒng)調(diào)用

          -e trace=ipc

          跟蹤所有與進(jìn)程通訊有關(guān)的系統(tǒng)調(diào)用

          -e abbrev=set

          設(shè)定 strace輸出的系統(tǒng)調(diào)用的結(jié)果集.-v 等與 abbrev=none.默認(rèn)為abbrev=all.

          -e raw=set

          將指 定的系統(tǒng)調(diào)用的參數(shù)以十六進(jìn)制顯示.

          -e signal=set

          指定跟蹤的系統(tǒng)信號.默認(rèn)為all.如 signal=!SIGIO(或者signal=!io),表示不跟蹤SIGIO信號.

          -e read=set

          輸出從指定文件中讀出 的數(shù)據(jù).例如:

          -e read=3,5

          -e write=set

          輸出寫入到指定文件中的數(shù)據(jù).

          -o filename

          將strace的輸出寫入文件filename

          -p pid

          跟蹤指定的進(jìn)程pid.

          -s strsize

          指定輸出的字符串的最大長度.默認(rèn)為32.文件名一直全部輸出.

          -u username

          以username 的UID和GID執(zhí)行被跟蹤的命令

          linux的strace命令實(shí)例

          通用的完整用法:

          strace -o output.txt -T -tt -e trace=all -p 28979

          上面的含義是 跟蹤28979進(jìn)程的所有系統(tǒng)調(diào)用(-e trace=all),并統(tǒng)計(jì)系統(tǒng)調(diào)用的花費(fèi)時(shí)間,以及開始時(shí)間(并以可視化的時(shí)分秒格式顯示),最后將記錄結(jié)果存在output.txt文件里面。

        linux的strace命令分析

        linux下的strace命令是用來跟蹤進(jìn)程執(zhí)行時(shí)的系統(tǒng)調(diào)用和所接受的信號,下面由學(xué)習(xí)啦小編為大家搜集整理了linux的strace命令分析的相關(guān)知識,希望對大家有幫助! linux的strace命令分析 簡介 strace常用來跟蹤進(jìn)程執(zhí)行時(shí)的系統(tǒng)調(diào)用和所接收
        推薦度:
        點(diǎn)擊下載文檔文檔為doc格式
        3632294 主站蜘蛛池模板: 日韩精品无码免费专区网站| 色吊丝二区三区中文字幕| 好吊视频在线一区二区三区| 色天使色偷偷色噜噜| 亚洲欧洲一区二区精品| 入禽太深在线观看免费高清| 高清国产亚洲精品自在久久| 精品在免费线中文字幕久久| 亚洲av永久无码天堂影院| 亚洲成av人片乱码色午夜| 3d动漫精品一区二区三区| 亚洲AVAV天堂AV在线网阿V| 亚洲色中色| 久久精产国品一二三产品| 欧美熟妇另类久久久久久不卡| 欧洲亚洲国内老熟女超碰| 久久精品蜜芽亚洲国产av| 欧美色丁香| 加勒比无码专区中文字幕| 欧美成人在线免费| 国产成人啪精品视频免费APP| 久久精品第九区免费观看| 中文字幕亚洲人妻一区| 亚洲精品国产一二三无码AV| 亚洲综合国产激情另类一区| 国产成人综合色视频精品| 亚洲成a人片在线观看中| 国产精品一区二区久久精品无码| 99精品日本二区留学生| 亚洲国产精品午夜福利| 国产肥白大熟妇bbbb视频| 人妻少妇精品中文字幕| 久久成人综合亚洲精品欧美 | 九九热在线视频免费观看| 麻豆一区二区中文字幕| 精品国产一区二区三区av色诱| 国产欧美日韩亚洲一区二区三区| 中文字幕在线日韩| 国产乱子伦农村xxxx| 最近中文字幕mv在线视频2018| 国产综合有码无码中文字幕|