2012-11-02 11 views
5

के बाद लिनक्स कर्नेल डीबग जानकारी प्राप्त करना कर्नेल क्रैश होने के बाद कर्नल पिछली डीबग जानकारी प्राप्त करने का कोई तरीका है।कर्नेल क्रैश

मैं एक कर्नेल मॉड्यूल विकसित करने की कोशिश कर रहा हूं जो कुछ संशोधन के बाद कर्नेल नेटवर्क स्टैक & के अंदर आईपी परत में आईपी पैकेट को मूल रूप से कैप्चर करता है, मुझे ट्रांसमिशन के लिए एनआईसी में एक ही पैकेट वापस भेजना पड़ता है। इन सभी प्रक्रियाओं के दौरान मैं प्रिंटक() की सहायता से डीबग जानकारी लिख रहा हूं। लेकिन अगर कोई चीज गलत हो जाती है & कर्नेल विफलता होती है तो हमें सिस्टम को पुनरारंभ करना होगा। तो क्या मेरी पिछली डीबग जानकारी प्राप्त करने का कोई तरीका है क्योंकि डीबग जानकारी को रिबूट करने के बाद मैं dmesg कमांड प्राप्त करने का प्रयास करता हूं।

उत्तर

7

असल में/var/log/dmesg फ़ाइल वर्तमान बूट प्रिंट संदेश लॉग होता है। /var/log/kern.log फ़ाइल में आपके पिछले बूट कर्नेल प्रिंट संदेश लॉग में ubuntu शामिल है। अन्य लिनक्स स्वादों में इसमें फेडोरा आदि में/var/log/messages फ़ाइल में शामिल होगा ..

2

आप अपने कीबोर्ड या सीरियल कंसोल के माध्यम से magic SysRq कुंजी अनुक्रम दर्ज करके अपनी लटका प्रणाली से बातचीत करने का प्रयास कर सकते हैं।

+0

असल में जब मैं अपना मॉड्यूल सिस्टम चलाता हूं तो बस लटकता है इसलिए मैं कुछ भी करने में सक्षम नहीं हूं और मुझे जादू SysRq कुंजी अनुक्रमों के साथ प्रयास करने के लिए reboot.im को मजबूर करना पड़ता है लेकिन मुझे परिणाम नहीं मिल रहा है .. – akp

+0

आपको * जादू sysrq * आपके कर्नेल की कॉन्फ़िगरेशन और निर्माण के दौरान। –

4

कर्नेल लॉग संदेशों को सिस्टम के पुनरारंभ करने के बाद भी /var/log/dmesg फ़ाइलों में देखा जा सकता है।

dmesg.X के साथ इतनी सारी फ़ाइलें होंगी, वे फ़ाइलें पिछले कर्नेल लॉग हैं। dmesg नवीनतम फ़ाइल है।

difference between dmesg and /var/log/kern.log

2

लिनक्स समर्थन crash dumps के हाल के संस्करण। सफल होने पर, इसमें कर्नेल लॉग संदेश और स्टैक निशान सहित स्मृति का पूर्ण डंप शामिल होगा।

0

वास्तव में, क्रैश जानकारी (dmesg) स्थान/var/crash/में मौजूद है। यहां हमारे पास प्रत्येक सिस्टम क्रैश के लिए फ़ोल्डर्स हैं। 127.0.0.1-दिनांक-समय जैसे फ़ोल्डर नाम। फ़ोल्डरों के अंदर vmcore-dmesg.txt मौजूद हैं। इन फाइलों से, हमें dmesg मिल गया है जो क्रैश से पहले निष्पादित किया गया है।

संबंधित मुद्दे