खोज…


ग्रहण रिमोट डिबगिंग कैसे काम करता है

ग्रहण डिबगिंग एजेंटों के रूप में संदर्भित के साथ शुरू होता है।

JVM , जो .class स्रोतों को चलाता है, एक सुविधा है जो बाहरी पुस्तकालयों (जावा या C ++ में लिखित) को रनटाइम के बारे में JVM में इंजेक्ट करने की अनुमति देती है। इन बाहरी पुस्तकालयों को एजेंट के रूप में संदर्भित किया जाता है और उनमें .class फ़ाइलों की सामग्री को संशोधित करने की क्षमता होती है। इन एजेंटों के पास JVM की कार्यक्षमता तक पहुँच होती है जो JVM के अंदर चलने वाले एक नियमित जावा कोड के भीतर से पहुँच योग्य नहीं होती है और इनका उपयोग दिलचस्प सामान जैसे इंजेक्शन लगाने और रनिंग सोर्स कोड को संशोधित करने के लिए किया जा सकता है , प्रोफाइलिंग आदि जैसे उपकरण JRebel का उपयोग करते हैं। कार्यक्षमता का यह टुकड़ा उनके जादू को प्राप्त करने के लिए।

और एक जेवीएम के लिए एक एजेंट लीब पास करने के लिए, आप एजेंट का उपयोग करते हुए स्टार्ट अप तर्कों के माध्यम से ऐसा करते हैं

 agentlib:libname[=options] format.

हम वास्तव में एक एजेंट लिब को पारित कर रहे थे जिसका नाम jdwp था जो जेवीएम को jdwp चला रहा था। jdwp JVWP (जावा डीबग वायर प्रोटोकॉल) का एक JVM विशिष्ट, वैकल्पिक कार्यान्वयन है, जिसका उपयोग डिबगर और रनिंग JVM के बीच संचार को परिभाषित करने के लिए किया जाता है। यह लागू है, अगर वर्तमान में जेवीएम के मूल पुस्तकालय के रूप में या तो jdwp.so या jdwp.dll रूप में आपूर्ति की जाती है

तो फिर यह क्या करता है?

सरल शब्दों में, हम जिस jdwp एजेंट को पास करते हैं, वह मूल रूप से JVM उदाहरण के बीच एक लिंक और डिबगर (जो या तो रिमोट या स्थानीय स्थित हो सकता है) चलाने के बीच एक कड़ी होने के कार्य को परोस रहा है। चूंकि यह एक एजेंट लाइब्रेरी है, इसलिए इसमें रनिंग कोड को इंटरसेप्ट करने, जेवीएम और डीबगर के बीच एक पुल बनाने और जेवीएम पर लागू डिबगर की कार्यक्षमता है। चूंकि JVM आर्किटेक्चर में, डिबगिंग की कार्यक्षमता JVM के भीतर नहीं पाई जाती है, लेकिन बाहरी उपकरणों में इसे अलग कर दिया जाता है (जिसे aptly डिबगर्स के रूप में संदर्भित किया जाता है), ये उपकरण या तो JVM डिबग किए जा रहे स्थानीय मशीन पर रहते हैं या चलाया जा सकता है बाहरी मशीन से हूँ। यह एक डी-युग्मित, मॉड्यूलर वास्तुकला है जो हमें एक दूरस्थ मशीन पर चलने वाले JVM और JDWP का उपयोग करने की अनुमति देता है, एक दूरस्थ डीबगर इसके साथ संवाद करने में सक्षम है।
संक्षेप में, यह है कि ग्रहण डिबगर कैसे काम करता है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow