linux核心除錯方式?

時間 2021-05-11 12:56:46

1樓:panic

學一下systemtap或者dtrace吧給你一片新的世界或者輔助我這個工具https://

2樓:Leedy

看 log

在 boot parameter 裡設定 debug 選項,例如 debug, loglevel=, early_printk=。

有一種技術叫 dynamic debug,可以將以前需要用 debug 核心才能看到的 log 也打出來。

如果你的核心不支援 dynamic debug,可以直接安裝 debug 核心。

自己編譯核心,需要時間太長,並不是很推薦…

使用 debugger

可以試試安裝核心的 debuginfo,然後從 /proc/kcore 可以讀到整個記憶體映象,非常好用。

使用 kdb(local)或者 kgdb(remote),可以參考 Using kgdb, kdb and the kernel debugger internals

大型c 專案在linux下如何除錯

潘慶峰 主要靠log,有時候需要pstack strace 程式掛起或者高cpu的時候 本地除錯有時候用gdb,本地除錯小型程式或者單元測試工具用valgrind,效能測試用valgrind或者gprof,但是大多數時候用pstack先最大的瓶頸就夠了。有coredump的時候用gdb。從來不用xw...

linux 核心的list和STL的list的區別是什麼?兩個的效率哪個更高?

吳詠煒 本質上,std list 幫你做的事情就是把你的物件加上前後向指標存放到容器裡,幫你做生命週期管理。如果你的結點就只存在於乙個鍊錶之中,兩者的效率沒有任何區別,且 std list 使用起來更加方便。std list 的優點在於,標準庫幫你維護物件的生命週期,而且你自己不需要維護前向和後向指...

Linux 為何不把圖形使用者介面寫入核心?

1。linux核心只放最基本的東西,這是設計者的理念問題 2。沒有公司去推動 就這兩點原因,那些扯什麼技術原因更種高深原因的,你解釋一下為啥windows就把圖形介面寫進了核心? Linux核心沒有介面庫是因為linux核心是免費開源的,既然沒有人能從中獲利,並且使用linux都是黑客,根本不需要玩...