中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

linux中如何調試程序

發布時間:2020-06-18 13:46:51 來源:億速云 閱讀:224 作者:鴿子 欄目:建站服務器

1、使用'print' 語句

這是一個基本的調試問題的方法。 我們在程序中懷疑的地方插入print語句來了解程序的運行流程控制流和變量值的改變。

它的缺點是需要進行程序編輯,添加'print'語句,必須重新編譯,重新運行來獲得輸出。若需要調試的程序比較大,這將是一個耗時費力的方法。

2、使用查詢

在某些情況下,我們需要弄清楚在一個運行在內核中的進程的狀態和內存映射。為了獲得這些信息,我們不需要在內核中插入任何代碼。 相反,可以用 /proc文件系統。在/proc的偽文件系統,保留系統啟動運行就收集的運行信息 (cpu信息, 內存容量等)。

ls -l /proc的輸出結果,通過對系統中運行的每一個進程在/proc文件系統中有一個以進程id命名的項。每個進程的細節信息可以在進程id對應的目錄下的文件中獲得。也可以'ls /proc/pid'的輸出。

3、使用跟蹤

strace的和ltrace是兩個在Linux中用來追蹤程序的執行細節的跟蹤工具。

strace:

strace攔截和記錄系統調用及其接收的信號。對于用戶,它顯示了系統調用、傳遞給它們的參數和返回值。strace可以附著到已在運行的進程或一個新的進程。它作為一個針對開發者和系統管理員的診斷、調試工具是很有用的。

它也可以用來當做一個通過跟蹤不同的程序調用來了解系統的工具。這個工具的好處是不需要源代碼,程序也不需要重新編譯。

使用strace的基本語法是:

strace 命令

strace的輸出非常長,我們通常不會對顯示的每一行都感興趣。我們可以用'-e expr'選項來過濾不想要的數據。

用 '-p pid' 選項來綁到運行中的進程。

用'-o'選項,命令的輸出可以被重定向到文件。

linux中如何調試程序

strace過濾成只有系統調用的輸出。

ltrace:

ltrace跟蹤和記錄一個進程的動態(運行時)庫的調用及其收到的信號。它也可以跟蹤一個進程所作的系統調用。它的用法是類似與strace。

ltrace command

'-i' 選項在調用庫時打印指令指針。

'-S' 選項被用來現實系統調用和庫調用.

linux中如何調試程序

trace捕捉'STRCMP'庫調用的輸出。

以上就是linux中程序調試的方法有哪些的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

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

AI

台前县| 揭西县| 汉阴县| 阳朔县| 岚皋县| 西安市| 白朗县| 肃北| 调兵山市| 泗阳县| 克什克腾旗| 且末县| 五指山市| 卓尼县| 新丰县| 崇明县| 曲靖市| 呈贡县| 长丰县| 龙门县| 高尔夫| 浦东新区| 建湖县| 清新县| 赫章县| 乾安县| 宜昌市| 石棉县| 富裕县| 黄骅市| 鲜城| 达日县| 屏边| 鲁甸县| 万宁市| 射洪县| 大足县| 武宁县| 河东区| 西林县| 阿鲁科尔沁旗|