जवाबों:
आवेदन पर निर्भर करता है। विभिन्न अनुप्रयोगों में विभिन्न लॉगिंग सिस्टम हैं; कोई भी केंद्रीय लॉग नहीं है जिसमें आपके सिस्टम पर चलने वाले सभी कार्यक्रमों से सभी आउटपुट हैं।
कहा जा रहा है, बहुत सारे प्रोग्राम अपनी लॉग फाइल को डायरेक्टरी में रखते हैं /var/log
। फ़ाइल /var/log/syslog
(या हो सकता है /var/log/messages
), विशेष रूप से, "सिस्टम लकड़हारा" से आउटपुट होता है, जो कि सिस्टम द्वारा उपलब्ध कराई गई सेवा है जिसे प्रोग्राम लॉगिंग के लिए उपयोग कर सकते हैं (यदि वे चुनते हैं)। लेकिन सभी प्रोग्राम इसका उपयोग नहीं करते हैं। अधिकतर, आपको उस फ़ाइल में निम्न-स्तरीय सिस्टम सेवाओं से संदेश मिलेंगे, न कि ग्राफ़िकल एप्लिकेशन जो आप आमतौर पर उपयोग करते हैं।
आप मानक लॉग फ़ाइलों के स्थानों के बारे में अधिक पढ़ना चाह सकते हैं ।
क्रैश फाइलें /var/log/crashes/
बग की रिपोर्ट करने के लिए ऐपॉर्ट के उपयोग के लिए जाती हैं। आप के साथ एक कोर डंप निकाल सकते हैं apport-unpack
, उस कोर डंप को gdb के माध्यम से डाल सकते हैं, और पता लगा सकते हैं कि प्रोग्राम को क्रैश करने का कारण क्या है।
यह सब आप एक प्रोग्रामर मान रहे हैं। यदि आप नहीं हैं ... ठीक है, आप वैसे भी दुर्घटना को ठीक नहीं कर सकते हैं!
bt full
"ओह एक बैकट्रेस ... लापता प्रतीकों के साथ मिल सकता है ... लगता है कि मुझे डिबग प्रतीकों को स्थापित करने और क्रैश को पुन: उत्पन्न करने की कोशिश करने की आवश्यकता है ..." मुझे एक बार पता चला कि कैसे सेट करना है breakpoint ... यह सबसे उन्नत है, हालांकि मैं इसके साथ मिल गया हूं।
कुछ अनुप्रयोगों में झंडे होते हैं जिनका उपयोग डिबगिंग को चालू करने के लिए किया जा सकता है, जैसे -d, -D, -debug, आदि एप्लिकेशन के मैन पेज की जाँच करें ( man [my-app]
) -h ध्वज के साथ एप्लिकेशन को चलाएं यह देखने के लिए कि क्या ऐसा है विकल्प।
कई GUI ऐप $ HOME / .xsession-त्रुटियों में लिखते हैं ताकि आउटपुट की जाँच करने के लिए यह एक अच्छी जगह हो।
अच्छा डिबग जानकारी प्राप्त करने के लिए मैको का यह अधिकार कि आशंका शायद सबसे निश्चित है। कभी-कभी यह दुर्घटना पर कब्जा नहीं करता है, हालांकि।
यदि अन्य सभी विफल रहता है, तो आप एप्लिकेशन को gdb में चलाकर जानकारी को इससे बाहर कर सकते हैं। यह कुछ इस तरह होगा:
$ gdb my-app
(gdb) run
... इसे दुर्घटनाग्रस्त करने के लिए जो कुछ भी आवश्यक है वह करें ...
(gdb) bt full
और वहां से जाओ।
यदि आप gdb रूट पर जाते हैं, तो आप पहले ही बताए गए प्रतीकों को स्थापित करना चाहते हैं। सलाह लेने के लिए https://wiki.ubuntu.com/DebuggingProgramCrash देखें ।
यदि आप एक .desktop लॉन्चर फ़ाइल से अपना एप्लिकेशन लॉन्च कर रहे हैं, तो Terminal=true
अपनी .desktop फ़ाइल में विकल्प जोड़ें । जब आप प्रोग्राम चलाते हैं, तो यह एक टर्मिनल खोलेगा, टर्मिनल पर आउटपुट उसी तरह होगा जैसा आप देखेंगे अगर आपने प्रोग्राम को पहली पंक्ति में कमांड लाइन के माध्यम से चलाया था। इस तरह, जब GUI क्रैश या लटका हुआ है, तो आप देख सकते हैं कि कौन सा पाठ आउटपुट इसके लिए अग्रणी था।