今天給大家分享一個(gè)linux內(nèi)核自帶的調(diào)試工具,該工具可用于查看和定位系統(tǒng)問題,進(jìn)程運(yùn)行過程探索,進(jìn)行進(jìn)程監(jiān)控,對(duì)每個(gè)系統(tǒng)調(diào)用都可以監(jiān)測(cè),有助于我們優(yōu)化系統(tǒng)性能。
話不多說,本文調(diào)試過程基于android10內(nèi)核4.19版本。
strace ls
執(zhí)行命令時(shí),它會(huì)顯示ls命令在運(yùn)行過程中所進(jìn)行的所有系統(tǒng)調(diào)用及其相關(guān)參數(shù)和返回值:

strace -h
執(zhí)行該命令時(shí),會(huì)列出strace的用法和相關(guān)的解釋:

我們?cè)谑褂玫臅r(shí)候應(yīng)該是對(duì)某個(gè)進(jìn)程和服務(wù)進(jìn)行定位和監(jiān)控,在調(diào)試的時(shí)候先大致定位是什么功能有問題,針對(duì)性去排查。比如我們要檢查攝像頭功能在執(zhí)行的過程中有沒有問題:

strace-p1944-T
執(zhí)行該指令顯示每個(gè)系統(tǒng)調(diào)用的執(zhí)行時(shí)間,由該信息,我們可以去判斷我們?cè)谀男┲噶钌蠄?zhí)行的系統(tǒng)調(diào)用花費(fèi)的時(shí)間更長(zhǎng),進(jìn)而再去定位相關(guān)的源代碼,在做調(diào)試,后期在融入我們自己的代碼程序時(shí),也可以通過這樣的方式進(jìn)行調(diào)試:

strace-p1944-c
執(zhí)行該指令會(huì)統(tǒng)計(jì)每個(gè)系統(tǒng)調(diào)用的次數(shù)、時(shí)間消耗等信息,并在程序結(jié)束時(shí)打印總結(jié)報(bào)告:

strace -p 1944 -tt
執(zhí)行該指令,會(huì)在每個(gè)系統(tǒng)調(diào)用前加上時(shí)間:

strace -p 1944 -v
執(zhí)行該指令會(huì)獲取更多細(xì)節(jié):

此外我們還可以把輸出結(jié)果保存到文本里面,然后pull到電腦上供專業(yè)的人分析:


好了,就介紹到這里,其他指令大家可以自行探索和實(shí)踐。
-
內(nèi)核
+關(guān)注
關(guān)注
4文章
1467瀏覽量
42859 -
Linux系統(tǒng)
+關(guān)注
關(guān)注
4文章
614瀏覽量
29900 -
調(diào)試工具
+關(guān)注
關(guān)注
1文章
59瀏覽量
12986
發(fā)布評(píng)論請(qǐng)先 登錄
自助Linux之問題診斷工具strace
FPGA調(diào)試工具-chipscope
舵機(jī)調(diào)試工具
介紹Lauterbach調(diào)試工具的應(yīng)用
MeeGo操作系統(tǒng)DBus調(diào)試工具
初學(xué)GDB調(diào)試工具需要注意的事項(xiàng)
調(diào)試工具:Eclipse調(diào)試工具欄與窗口的深入分析
RT-Trace調(diào)試工具正式發(fā)布!
Linux系統(tǒng)性能優(yōu)化與調(diào)試的思路?
Linux系統(tǒng)性能調(diào)試工具—strace
評(píng)論