2011-06-17 12 views
7

मैं कर्नेल मॉड्यूल का पता जानना चाहता हूं। असल में, स्टैक ट्रेस से ऐसा लगता है कि क्रैश को कर्नेल मॉड्यूल से ट्रिगर किया गया है (जिसे सिस्टम बूट होने के बाद इंसोड किया गया है)। मैन्युअल रूप से कई मॉड्यूल हैं I तो मुझे यह पता लगाने की जरूरत है कि इनमें से कौन सा मॉड्यूल दुर्घटनाग्रस्त हो रहा है। कृपया मुझे बताएं कि इन्समोड का उपयोग करके लोड किए गए प्रत्येक मॉड्यूल का पता कैसे प्राप्त करें।कर्नेल मॉड्यूल का पता कैसे प्राप्त करें (इन्समोड का उपयोग करके लोड किया गया)

+0

मैं लिनक्स कर्नेल 2.6.34.7 उपयोग कर रहा हूँ। – Souvik

उत्तर

6

बिल्ली/proc/मॉड्यूल आपको चीजों को लोड करने के लिए एक मोटा गाइड देना चाहिए। आपको कर्नेल क्रैश को/proc/kallsyms पर देखकर बिल्कुल एक सुराग मिल सकता है।

+0

जानकारी के लिए बहुत बहुत धन्यवाद। – Souvik

2

/sys/module/<MODULE_NAME>/sections/ आपके मॉड्यूल के सभी अनुभागों के पते शामिल हैं। चूंकि ज्यादातर अनुभाग में एक बिंदु (.) के साथ शुरू, भूल नहीं है जब इस निर्देशिका सामग्री लिस्टिंग ls को -a पारित करने के लिए:

$ ls -a /sys/module/usbcore/sections/ 
.      __ex_table     __param 
..      .fixup      .rodata 
.altinstr_replacement .gnu.linkonce.this_module .rodata.str1.1 
.altinstructions  .init.text     .rodata.str1.8 
.bss     __kcrctab_gpl    .smp_locks 
__bug_table   __ksymtab_gpl    .strtab 
.data     __ksymtab_strings   .symtab 
.data..read_mostly  __mcount_loc    .text 
.data.unlikely   .note.gnu.build-id   .text.unlikely 
.exit.text    .parainstructions   __verbose 
संबंधित मुद्दे