真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux中如何調(diào)試程序

1、使用'print' 語句

10年積累的成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有雙塔免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

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

它的缺點(diǎn)是需要進(jìn)行程序編輯,添加'print'語句,必須重新編譯,重新運(yùn)行來獲得輸出。若需要調(diào)試的程序比較大,這將是一個耗時費(fèi)力的方法。

2、使用查詢

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

ls -l /proc的輸出結(jié)果,通過對系統(tǒng)中運(yùn)行的每一個進(jìn)程在/proc文件系統(tǒng)中有一個以進(jìn)程id命名的項。每個進(jìn)程的細(xì)節(jié)信息可以在進(jìn)程id對應(yīng)的目錄下的文件中獲得。也可以'ls /proc/pid'的輸出。

3、使用跟蹤

strace的和ltrace是兩個在Linux中用來追蹤程序的執(zhí)行細(xì)節(jié)的跟蹤工具。

strace:

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

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

使用strace的基本語法是:

strace 命令

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

用 '-p pid' 選項來綁到運(yùn)行中的進(jìn)程。

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

linux中如何調(diào)試程序

strace過濾成只有系統(tǒng)調(diào)用的輸出。

ltrace:

ltrace跟蹤和記錄一個進(jìn)程的動態(tài)(運(yùn)行時)庫的調(diào)用及其收到的信號。它也可以跟蹤一個進(jìn)程所作的系統(tǒng)調(diào)用。它的用法是類似與strace。

ltrace command

'-i' 選項在調(diào)用庫時打印指令指針。

'-S' 選項被用來現(xiàn)實系統(tǒng)調(diào)用和庫調(diào)用.

linux中如何調(diào)試程序

trace捕捉'STRCMP'庫調(diào)用的輸出。

以上就是linux中程序調(diào)試的方法有哪些的詳細(xì)內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!


當(dāng)前標(biāo)題:linux中如何調(diào)試程序
網(wǎng)頁網(wǎng)址:http://weahome.cn/article/jchcss.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部