今天給大家分享一個linux內核自帶的調試工具,該工具可用于查看和定位系統問題,進程運行過程探索,進行進程監控,對每個系統調用都可以監測,有助于我們優化系統性能。
話不多說,本文調試過程基于android10內核4.19版本。
strace ls
執行命令時,它會顯示ls命令在運行過程中所進行的所有系統調用及其相關參數和返回值:

strace -h
執行該命令時,會列出strace的用法和相關的解釋:

我們在使用的時候應該是對某個進程和服務進行定位和監控,在調試的時候先大致定位是什么功能有問題,針對性去排查。比如我們要檢查攝像頭功能在執行的過程中有沒有問題:

strace-p1944-T
執行該指令顯示每個系統調用的執行時間,由該信息,我們可以去判斷我們在哪些指令上執行的系統調用花費的時間更長,進而再去定位相關的源代碼,在做調試,后期在融入我們自己的代碼程序時,也可以通過這樣的方式進行調試:

strace-p1944-c
執行該指令會統計每個系統調用的次數、時間消耗等信息,并在程序結束時打印總結報告:

strace -p 1944 -tt
執行該指令,會在每個系統調用前加上時間:

strace -p 1944 -v
執行該指令會獲取更多細節:

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


好了,就介紹到這里,其他指令大家可以自行探索和實踐。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
內核
+關注
關注
4文章
1467瀏覽量
42870 -
Linux系統
+關注
關注
4文章
614瀏覽量
29904 -
調試工具
+關注
關注
1文章
59瀏覽量
12990
發布評論請先 登錄
相關推薦
熱點推薦
自助Linux之問題診斷工具strace
通過系統調用(system call)與操作系統產生交互,其實我們可以通過觀察這些系統調用及其參數、返回值,界定出錯的范圍,甚至找出問題出現的根因。在Linux中,
發表于 02-21 10:13
介紹Lauterbach調試工具的應用
該演示由Lauterbach中國團隊提供,展現您如何通過Lauterbach強大的嵌入式調試工具Trace32來調試和分析運行在Altera Cyclone V SoC芯片上面的軟件。Lauterbach調試工具支持幾乎所有操作
初學GDB調試工具需要注意的事項
GDB是一個由GNU開源組織發布的、UNIX/LINUX操作系統下的、基于命令行的、功能強大的程序調試工具。相比于VS里面的圖形化調試工具,其功能更加強大。
發表于 05-16 17:45
?1610次閱讀
調試工具:Eclipse調試工具欄與窗口的深入分析
摘要 :在嵌入式系統開發領域,高效的調試工具鏈對于項目的成功實施具有決定性意義。本文聚焦于 Eclipse 調試工具欄與窗口的功能特性,深入剖析其在嵌入式開發調試過程中的關鍵作用。以廈
Linux系統性能優化與調試的思路?
在開發過程中,對系統性能的要求越來越高,在求職的過程中很多崗位不單單是要求驅動開發或者系統開發,會解決系統性能瓶頸問題,往往是加分項,有些公司特別是大廠都會把性能優化單獨劃分一個崗位。
Linux系統性能調試工具—strace
評論