



下載本文檔
版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 債務(wù)劃清責(zé)任合同范本簡易
- 雙軟認(rèn)證合同范本
- 農(nóng)村房屋合同范例
- 不買社保勞務(wù)合同范本
- 合作木柴出售合同范本
- 公司裁員合同范本
- 廠房回收拆除合同范例
- 農(nóng)村果林租賃合同范本
- 印花材料供應(yīng)合同范本
- 東麗區(qū)恒溫配送合同范本
- 無線網(wǎng)絡(luò)技術(shù)復(fù)習(xí)題網(wǎng)絡(luò)與通信
- 口腔健康與全身健康課件
- 人教版九年級化學(xué)上冊第四單元作業(yè)設(shè)計 自然界的水
- 腦血管造影病人的護理-課件
- 阿里巴巴管理精髓管理者必修的24招
- 醫(yī)務(wù)科輪轉(zhuǎn)人員規(guī)定
- 統(tǒng)編版一年級語文下冊 口語交際 聽故事講故事 小貓種魚 一等獎創(chuàng)新教學(xué)設(shè)計
- 普通地質(zhì)學(xué)教材
- 《工業(yè)控制網(wǎng)絡(luò)及組態(tài)技術(shù)》教案
- 多重耐藥菌相關(guān)知識
- 2021年云南省中考地理試卷(附答案詳解)
評論
0/150
提交評論