2015-01-02 7 views
7

पर एकाधिक फ़ाइलों के लिए गतिशील डीबग सक्षम करें linux कर्नेल को कमांड लाइन तर्क की आपूर्ति करके एकाधिक फ़ाइलों के लिए बूट पर गतिशील डीबगिंग (pr_debug) को सक्षम करने के लिए कैसे करें?बूट

मैं एक तर्क के रूप में निम्नलिखित प्रदान करने की कोशिश -

dyndbg='file drivers/<filename1> +p file drivers/<filename2> +p file drivers/<filename3> +p'

हालांकि गतिशील डिबगिंग सक्षम नहीं थी।

क्या मेरा वाक्यविन्यास सही है?

उत्तर

2

सेमीकॉलन के साथ अलग नियंत्रण आदेश।

dyndbg='file drivers/<filename1> +p; file drivers/<filename2> +p; file drivers/<filename3> +p' 
2
  1. पहले, देखें कि क्या आप .config फ़ाइल में CONFIG_DYNAMIC_DEBUG=y यह सक्षम है

  2. टेस्ट अगर यह ठीक से काम करता है जब कर्नेल हटा दिया गया है।

    echo -n 'module module_name +p' > /debugfs/dynamic_debug/control 
    
  3. जब dyndbg=QUERY

के साथ निर्दिष्ट के लिए (जहां मॉड्यूल/फ़ोल्डर के लिए पथ सही है) सुनिश्चित करें कि क्वेरी के सही स्वरूप में है निर्मित मॉड्यूल उपयोग dyndbg='module module_name +p'

लोड करने योग्य मॉड्यूल के लिए module_name.dyndbg=<query> पूर्व: xhci_hcd.dyndbg=+p

आप इसे अपने लिनक्स डिफ़ॉल्ट में जोड़ सकते हैं

GRUB_CMDLINE_LINUX_DEFAULT="xhci_hcd.dyndbg=+p" 

Refer link:

डीबग बूट प्रक्रिया के दौरान संदेशों

बूट के दौरान कोर कोड और बिल्ट-इन मॉड्यूल के लिए डिबग संदेशों सक्रिय करने के लिए इस प्रकार /etc/default/grub फ़ाइल लिख कर आदेश पंक्ति प्रक्रिया, उपयोगकर्ता स्पेस और डीबग्स मौजूद होने से पहले, dyndbg = "QUERY", module.dyndbg = "QUERY", या ddebug_query = "QUERY" (ddebug_query dyndbg द्वारा अप्रचलित है, और बहिष्कृत) का उपयोग करें। QUERY उपरोक्त वर्णित वाक्यविन्यास का पालन करता है, लेकिन 1023 वर्णों से अधिक नहीं होना चाहिए। आपका बूटलोडर कम सीमा लगा सकता है।

arch_initcall के हिस्से के रूप में, ddebug तालिकाओं संसाधित होने के बाद ही इन dyndbg पैरा को संसाधित किया जाता है। इस प्रकार आप इस बूट पैरामीटर के माध्यम से इस arch_initcall के बाद चलाए गए सभी कोड में संदेशों को डीबग सक्षम कर सकते हैं।

+0

मैंने पहले ही चरण 1 और चरण 2 की जांच की है और यह ठीक है। शायद मैं अपने प्रश्न से स्पष्ट नहीं हूं। मैं पूछना चाहता था कि कई फाइलों के लिए मेरी QUERY सही है या नहीं। मैं इसे कैसे सत्यापित करूं? – Raj

+0

मैंने कई फाइलों के साथ प्रयास नहीं किया है, लेकिन क्या आप 'dyndbg =' file module_name/path/to/files/* + p' को आजमा सकते हैं यदि यह – askb

+0

काम करता है, तो मैं सभी फाइलें नहीं जोड़ना चाहता, क्योंकि बहुत सारी फाइलें हैं निर्देशिका में – Raj