Linux調(diào)試工具strace和gdb常用命令小結(jié)_第1頁
Linux調(diào)試工具strace和gdb常用命令小結(jié)_第2頁
Linux調(diào)試工具strace和gdb常用命令小結(jié)_第3頁
Linux調(diào)試工具strace和gdb常用命令小結(jié)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、 strace 和 gdb 是 Linux 環(huán)境下的兩個常用調(diào)試工具,這里是個人在使用過程中對這兩個工具常用參數(shù)的總結(jié),留作日后查看使 用。strace 調(diào)試工具strace 工具用于跟蹤進程執(zhí)行時的系統(tǒng)調(diào)用和所接收的信號,包括參數(shù)、返回值、執(zhí)行時間。在 Linux 中,用戶程序要訪問系 統(tǒng)設(shè)備,必須由用戶態(tài)切換到內(nèi)核態(tài),這是通過系統(tǒng)調(diào)用發(fā)起并完成的。strace 常用參數(shù):-c 統(tǒng)計每種系統(tǒng)調(diào)用執(zhí)行的時間、調(diào)用次數(shù)、出錯次數(shù),程序退出時給出報告-p pid跟蹤指定的進程,可以使用多個 -p 同時跟蹤多個進程-o filenamestrace 默認(rèn)輸出到 stdout , -o 可以將輸出寫入

2、到指定的文件-f 跟蹤由 fork 產(chǎn)生的子進程的系統(tǒng)調(diào)用-ff 常與 -o 選項一起使用,不同進程 (子進程 產(chǎn)生的系統(tǒng)調(diào)用輸出到各個 filename.pid 文件中-F 嘗試跟蹤 vfork 子進程系統(tǒng)調(diào)用,注意:與 -f 同時使用時 , vfork不被跟蹤-e expr輸出過濾表達式,可以過濾掉不想輸出的 strace 結(jié)果-e trace=set指定跟蹤 set 中的系統(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跟蹤所有與進程通訊有關(guān)的系統(tǒng)調(diào)用-e signal=set指定跟

3、蹤 set 中的信號-e read=set輸出從指定文件中讀出的數(shù)據(jù),例如 -e read=3,5-e write=set輸出寫入到指定文件中的數(shù)據(jù),例如 -e write=1-r 打印每一個系統(tǒng)調(diào)用的相對時間-t 在輸出中的每一行前加上時間信息-tt 在輸出中的每一行前加上時間信息,時間精確到微秒級-ttt 在輸出中的每一行前加上時間信息,輸出為相對時間-s 指定每一行輸出字符串的長度(默認(rèn)為 32strace 使用舉例:strace -t whoami #跟蹤 whoami 可執(zhí)行程序,每行輸出結(jié)果前打印執(zhí)行的時間strace -p 17151 -p 17152 -p 17153 #同時跟

4、蹤進程 17151、 17152、 17153strace -f -e trace=read,write -p 17151 -o log #跟蹤進程 17151及子進程中 read 和 write 系統(tǒng)調(diào)用,輸出到 log 文件gdb 調(diào)試工具GDB 是 GNU 開源組織發(fā)布的一個強大的 UNIX 下的程序調(diào)試工具。 gcc 編譯時加上 -g 參數(shù),可以使可執(zhí)行程序加上 gdb 調(diào)試 信息。(1 info簡寫:i ,列出 gdb 子命令的信息,如 info break, info variables, info stack等。(2 list file:function簡寫:l ,查看當(dāng)前行的上下文,默認(rèn)為 10行,也可以設(shè)置在某個函數(shù)處列出源碼。(3 edit file:function簡寫:e ,編輯當(dāng)前所在的行,也可以編輯某個函數(shù)的源碼。(4 break file:function簡寫:b ,設(shè)置斷點,可以設(shè)置在某行或某個函數(shù)處。(5 run arglist簡寫:r ,運行程序至斷點處停住, run 命令之后可以加上調(diào)試程序需要的參數(shù)。(6 next簡寫:n ,單條語句執(zhí)行。(7 continue簡寫:c ,繼續(xù)運行程序至下一個斷點。(8 print簡寫:p ,打印變量的值。(9 bt查看函數(shù)堆棧信息。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論