91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux中strace與gdb調試工具介紹

發布時間:2020-06-08 11:53:03 來源:億速云 閱讀:724 作者:Leah 欄目:系統運維

這篇文章給大家分享的是Linux中strace與gdb調試工具的介紹。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

strace調試工具

strace工具用于跟蹤進程執行時的系統調用和所接收的信號,包括參數、返回值、執行時間。在Linux中,用戶程序要訪問系統設備,必須由用戶態切換到內核態,這是通過系統調用發起并完成的。

strace常用參數:

-c  統計每種系統調用執行的時間、調用次數、出錯次數,程序退出時給出報告

-p pid  跟蹤指定的進程,可以使用多個-p同時跟蹤多個進程

-o filename  strace默認輸出到stdout,-o可以將輸出寫入到指定的文件

-f  跟蹤由fork產生的子進程的系統調用

-ff  常與-o選項一起使用,不同進程(子進程)產生的系統調用輸出到各個filename.pid文件中

-F  嘗試跟蹤vfork子進程系統調用,注意:與-f同時使用時, vfork不被跟蹤

-e expr  輸出過濾表達式,可以過濾掉不想輸出的strace結果

-e trace=set  指定跟蹤set中的系統調用

-e trace=network  跟蹤與網絡有關的所有系統調用

-e strace=signal  跟蹤所有與系統信號有關的系統調用

-e trace=ipc  跟蹤所有與進程通訊有關的系統調用

-e signal=set  指定跟蹤set中的信號

-e read=set  輸出從指定文件中讀出的數據,例如-e read=3,5

-e write=set  輸出寫入到指定文件中的數據,例如-e write=1

-r  打印每一個系統調用的相對時間

-t  在輸出中的每一行前加上時間信息

-tt  在輸出中的每一行前加上時間信息,時間精確到微秒級

-ttt  在輸出中的每一行前加上時間信息,輸出為相對時間

-s  指定每一行輸出字符串的長度(默認為32)

strace使用舉例:

strace -t whoami #跟蹤whoami可執行程序,每行輸出結果前打印執行的時間

strace -p 17151 -p 17152 -p 17153 #同時跟蹤進程17151、17152、17153

strace -f -e trace=read,write -p 17151 -o log #跟蹤進程17151及子進程中read和write系統調用,輸出到log文件

gdb調試工具

GDB是GNU開源組織發布的一個強大的UNIX下的程序調試工具。gcc編譯時加上-g參數,可以使可執行程序加上gdb調試信息。

(1)info

簡寫:i,列出gdb子命令的信息,如info break,info variables,info stack等。

(2)list [file:]function

簡寫:l,查看當前行的上下文,默認為10行,也可以設置在某個函數處列出源碼。

(3)edit [file:]function

簡寫:e,編輯當前所在的行,也可以編輯某個函數的源碼。

(4)break [file:]function

簡寫:b,設置斷點,可以設置在某行或某個函數處。

(5)run [arglist]

簡寫:r,運行程序至斷點處停住,run命令之后可以加上調試程序需要的參數。

(6)next

簡寫:n,單條語句執行。

(7)continue

簡寫:c,繼續運行程序至下一個斷點。

(8)print

簡寫:p,打印變量的值。

(9)bt

查看函數堆棧信息。

(10)enter

回車鍵,重復上一次調試命令。

(11)help [name]

顯示指定的gdb命令的幫助信息。

(12)quit

簡寫:q,退出gdb。

看完上述內容,你們對strace與gdb調試工具的用法有進一步的了解嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

静海县| 阜城县| 松江区| 渭源县| 普陀区| 绥棱县| 兴安盟| 海晏县| 晋宁县| 上饶市| 阿荣旗| 什邡市| 托克逊县| 武隆县| 盐城市| 林芝县| 望都县| 成都市| 仁布县| 枣庄市| 饶平县| 新化县| 昌宁县| 桑日县| 柞水县| 长寿区| 和平县| 齐河县| 巴彦县| 准格尔旗| 贵南县| 隆昌县| 凤阳县| 孙吴县| 辽中县| 托里县| 北海市| 息烽县| 静安区| 商洛市| 调兵山市|