2009-06-26 10 views
7

मेरे पास एक लिनक्स बॉक्स पर जावा प्रक्रिया चल रही है, लेकिन इसे डीबग मोड में शुरू/पुनः शुरू नहीं किया जा सकता है। मैंने jsadebugd कमांड के बारे में पढ़ा और डेमॉन शुरू किया, लेकिन मैं इसे आईडीई (संभवतः ग्रहण) डीबगर या शायद आपकेकिट या जेकनसोल से कनेक्ट करना चाहता हूं। मैं यह कैसे कर सकता हूँ? रिमोट जेवीएम 1.6+ है।क्या मैं ग्रहण/आईडीई डीबगर से दूरस्थ मशीन पर jsadebugd प्रक्रिया से कनेक्ट कर सकता हूं?

+2

जहां आप अपनी समस्या का समाधान ढूंढ सकते हैं? – ekeren

उत्तर

1

मुझे लगता है जब से तुम Yourkit और अन्य उल्लेख किया उपकरण जो आप वास्तव में करना चाहते हैं वह आपके अनुप्रयोगों के अंदर ऑब्जेक्ट स्थिति को देखता है। कुछ विकल्प हैं, हालांकि मुझे नहीं लगता कि यह आपको ग्रहण या अन्य डीबगर जैसे ब्रेक-पॉइंट सेट करने की क्षमता प्राप्त करता है (हालांकि मुझे यह सुनकर अंतःस्थापित किया जाएगा कि डीबग मोड में प्रक्रिया शुरू करने से आपको क्या प्रतिबंधित करता है - तकनीकी प्रक्रिया?)

  1. क्या आपने कनेक्ट करने का प्रयास किया है: VisualVM? मुझे विश्वास नहीं है कि आपको डीबग मोड में शुरू करने की आवश्यकता है, और यह आपको ऑब्जेक्ट ग्राफ़ नेविगेट करने और ऑब्जेक्ट का निरीक्षण करने की क्षमता देता है। आप इसे हेपडम्प लेने के लिए भी उपयोग कर सकते हैं और OQL क्वेरी का उपयोग करके उनके द्वारा कुछ विज्ञापन-विश्लेषण विश्लेषण कर सकते हैं।

  2. यदि आप जेडीके 6 + पर चल रहे हैं - क्या आपने बीट्रेस के साथ उपकरण की कोशिश की है? कुछ notes from the sailfin team ने वादा किया, और सोलारिस में डीटी्रेस की तरह, ऐसा लगता है कि यह विभिन्न स्थितियों में उपयोगी होगा।

+0

प्रक्रिया पहले ही चल रही थी और मैं देखना चाहता था कि मैं किसी भी तरह से JVM में देख सकता हूं या नहीं। इसे डीबग मोड में शुरू नहीं किया गया था, इसलिए मैं इसके लिए विकल्पों की खोज कर रहा था। सामान्य रूप से, ग्रहण डीबगर और योरकिट मुद्दों को हल करने के लिए पर्याप्त शक्तिशाली हैं जब तक कि आपके अनुसार प्रक्रियाएं सेट हों। मैंने पहले btrace की कोशिश नहीं की है, लेकिन मैं इसे जांच लेंगे। – Thimmayya

+0

@thimmayya क्या उन नोट्स ने आपके प्रश्न का उत्तर दिया, या फिर भी आप देख रहे हैं? – jayshao

+0

नोट्स सहायक थे। मैंने अभी तक btrace कोशिश की है, लेकिन प्रलेखन कहता है कि एक चल रहा जावा प्रक्रिया के खिलाफ एक बीटीआरएस प्रोग्राम चलाया जा सकता है। धन्यवाद। – Thimmayya

0

मुझे यकीन नहीं है कि मैं आपके प्रतिबंधों को सही तरीके से समझता हूं लेकिन आप डीबगिंग सर्वर (JDWP की सेवा) सक्षम के साथ JVM प्रारंभ कर सकते हैं। उदाहरण के लिए देखें "सन वीएम आमंत्रण विकल्प" http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.html

फिर आप अपने ग्रहण डीबगर को JVM चलाने के लिए कनेक्ट कर सकते हैं। "दूरस्थ डीबगिंग" अनुभाग देखें यहाँ http://www.ibm.com/developerworks/library/os-ecbug/

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

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