2012-10-29 24 views
16

मैं कुछ साल के लिए प्रोग्रामिंग सीख लिया है, और डिबग इस्तेमाल किया frequently.But मैं अभी भी मूल सिद्धांत डिबग, यह कैसे काम करता है? कैसे झुलसाना करता लाइन डीबगिंग के समझ में नहीं आता (कदम) लागू करें?डीबग का सिद्धांत क्या है?

उदाहरण के लिए जावा भाषा लें।

सीपीयू डीबग कार्यान्वयन के लिए क्या करता है?

जेबएम डीबग कार्यान्वयन के लिए क्या करता है?

डीबग कार्यान्वयन के लिए ग्रहण क्या करता है?

ऊपर सूचीबद्ध तीन सामानों में डीबग से कुछ भी नहीं हो सकता है। मैंने केवल अनुमान लगाया। मैंने कुछ समय के लिए गुगल किया है और मेरे लिए कुछ भी उपयोगी नहीं है (बेशक, डीबग खुद जटिल है), मुझे उम्मीद है कि अधिक सरल व्याख्या होगी।

धन्यवाद।

+3

डीबग कर रहा है संदर्भ के लिए पर एक सारांश देता है: http://docs.oracle। कॉम/जावाज़/1.4.2/डॉक्स/गाइड/जेपीडीए/आर्किटेक्चर.html 'जेपीडीए' के ​​बारे में पढ़ना जवाब देना चाहिए कि जेवीएम डीबग कार्यान्वयन के लिए क्या करता है। –

उत्तर

10

प्रत्येक प्रोसेसर में डिबगिंग तंत्र का अपना डिज़ाइन होता है।

x86 CPU के मामले में, प्रोसेसर में 6 डीबग रजिस्ट्रार हैं जो डीबग ब्रेक-पॉइंट और ब्रेक-कंडीशन स्टोर करते हैं। इंटेल x86 सीपीयू डीबगिंग तंत्र के लिए इस आलेख पर एक संक्षिप्त नज़र डालें: http://en.wikipedia.org/wiki/X86_debug_register

जावा डिबगिंग तंत्र के मामले में, देखें: http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/architecture.html जैसा कि मुकुल गोयल द्वारा प्रश्न के तहत टिप्पणी धारा में बताया गया है।

+1

अच्छी जानकारी !! –

1

डीबगिंग (ब्रेक पॉइंट्स और इस तरह का उपयोग करके) को सुविधाजनक बनाने के लिए, कंपाइलर उत्पन्न किए गए अनुपालन आउटपुट में कुछ अतिरिक्त जानकारी डालता है (यानी जावा के मामले में बाइनरी फ़ाइल या JVM बाइटकोड फ़ाइल)। यह अतिरिक्त जानकारी संकलित आउटपुट की प्रत्येक पंक्ति को संबंधित स्रोत फ़ाइल में मैप करने की अनुमति देती है।

मैंने आपके प्रश्न के सभी हिस्सों का उत्तर नहीं दिया है, लेकिन उम्मीद है कि आप शुरू करने में मदद के लिए पर्याप्त हैं। इन संसाधन देखें:

http://en.wikipedia.org/wiki/Debug_symbol

How does a debugger work?

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

  • कोई संबंधित समस्या नहीं^_^