डिबगर को आम तौर पर एक रनिंग jvm में संलग्न करने के लिए, आपको jvm को निम्न जैसे तर्कों के साथ शुरू करने की आवश्यकता होगी:
> java -Xdebug -Xrunjdwp:transport=dt_socket,address=1000,server=y,suspend=n
अब अगर मैं एक ऐसी प्रक्रिया को डिबग करना चाहता हूं जो डिबग मोड में शुरू नहीं हुई थी, तो मैं क्या कर सकता हूं?
यह स्थिति तब उत्पन्न होती है जब एक उत्पादन प्रणाली (यानी डिबग आर्गन्स के बिना शुरू की गई) एक 'यादृच्छिक' प्रदर्शित करती है (मैं ढीले शब्द का उपयोग करता हूं)। इसलिए मैं jvm को उचित तर्कों के साथ फिर से शुरू नहीं कर सकता, क्योंकि कोई भी नहीं जानता कि बग को फिर से कैसे बनाया जाए। क्या इस स्थिति में जेवीएम से जुड़ना असंभव है?
बस यह स्पष्ट करना संभव नहीं है कि पहले से चल रहे जेवीएम को संलग्न करने के लिए जेडीबी जैसे उपकरणों का उपयोग करना संभव नहीं है, जब तक कि वे डिबेट में शुरू नहीं हुए थे
JVM मैन पेज से
Jdb का उपयोग करने का एक अन्य तरीका इसे पहले से चल रहे जावा वीएम से जोड़कर है। एक VM जिसे jdb के साथ डिबग किया जाना है, उसे निम्नलिखित विकल्पों के साथ शुरू किया जाना चाहिए: