2013-10-30 57 views
1

我有一個使用-M [/ dev/kmem或vmcore]和-N [名稱列表文件(kernel.debug)]的實用程序選項提取從內核崩潰vmcores信息,類似於如何公用事業像使用-M/-N選項如何從內核崩潰vmcores獲取信息時將內核模塊作爲名稱文件傳遞給libkvm

​​

但把一些出位的內核爲內核模塊之後,現在vmcores「vmstat的」工作具有kernel.debug之外的符號。所以現在我不能只傳遞實用程序-M vmcore -N kernel.debug選項,因爲符號現在在內核模塊中。除了kernel.debug文件之外,是否可以調整libkvm來處理內核模塊?

有關說明......我想

實用-M爲vmcore -N(kernel.debug +內核模塊)

- Shrikanth RK

回答

0

你能使用kgdb(1) ?因爲最近的版本自動加載模塊符號。

否則,如果您想手動執行該操作,則需要步行linker_files列表,從linker_files->tqh_first開始並遵循link.tqe_next指針,直到找到包含所需文件名的條目。該條目的地址成員是模塊的加載地址。使用nm <module.ko> | grep ' t '可以在模塊中找到名稱和符號偏移量。添加模塊的加載地址和符號的偏移量,並具有符號的地址。