क्या IntelliJ IDEA डिबगर को एक चल रही जावा प्रक्रिया से जोड़ना संभव है? यदि हाँ, तो कैसे?
क्या IntelliJ IDEA डिबगर को एक चल रही जावा प्रक्रिया से जोड़ना संभव है? यदि हाँ, तो कैसे?
जवाबों:
हाँ! यहां बताया गया है कि आपने इसे कैसे सेट किया है।
दूरस्थ रन कॉन्फ़िगरेशन बनाएँ:
ऊपर दिया गया कॉन्फ़िगरेशन तीन रीड-ओनली फ़ील्ड प्रदान करता है। ये विकल्प हैं जो JVM को आपके एप्लिकेशन को चलाते समय दूरस्थ डिबगिंग के लिए पोर्ट 5005 खोलने के लिए कहते हैं। आपके द्वारा डिबगिंग कर रहे एप्लिकेशन के JVM विकल्पों में उपयुक्त एक को जोड़ें। ऐसा करने का एक तरीका यह हो सकता है:
export JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
लेकिन यह इस बात पर निर्भर करता है कि आपका आवेदन कैसे चलता है। यदि आप सुनिश्चित नहीं हैं कि आप में से कौन सा तीन पर लागू होता है, तो पहले से शुरू करें और सूची में नीचे जाएं जब तक कि आपको वह काम न मिल जाए।
आप अपने एप्लिकेशन को इंतेलीज से जुड़ने तक प्रतीक्षा suspend=n
करने के suspend=y
लिए बदलने के लिए बदल सकते हैं । यह मददगार है अगर आप जिस ब्रेकपॉइंट को हिट करना चाहते हैं, वह एप्लिकेशन स्टार्टअप पर होता है।
अपना आवेदन शुरू करें जैसा कि आप सामान्य रूप से करेंगे, फिर इंटेलीज में नए कॉन्फ़िगरेशन का चयन करें और 'डीबग' को हिट करें।
इंटेलीज जेवीएम से जुड़ेगा और रिमोट डिबगिंग शुरू करेगा।
अब आप अपने कोड में जहां चाहें वहां ब्रेकपॉइंट जोड़कर एप्लिकेशन को डीबग कर सकते हैं। एप्लिकेशन का आउटपुट अभी भी वहीं दिखाई देगा जहां उसने पहले किया था, लेकिन आपका ब्रेकप्वाइंट IntelliJ में हिट होगा।
Remote
सामुदायिक संस्करण पर उपलब्ध नहीं है? मैं सशुल्क संस्करण का उपयोग कर रहा हूं। क्या समुदाय संस्करण वाला कोई भी पुष्टि कर सकता है?
System.out.println
रिमोट डिबगिंग के समय इंटेलीज में आउटपुट कैसे पकड़ा जाता है ?
यह संभव है, लेकिन आपको अपना आवेदन शुरू करते समय कुछ जेवीएम झंडे जोड़ने होंगे।
आपको दूरस्थ डीबग कॉन्फ़िगरेशन जोड़ना होगा: कॉन्फ़िगरेशन संपादित करें -> दूरस्थ।
तब आपको प्रदर्शित डायलॉग विंडो पैरामीटर्स में मिलेंगे जिन्हें आपको प्रोग्राम एक्जीक्यूशन में जोड़ना होगा, जैसे:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
फिर जब आपका आवेदन लॉन्च किया जाता है तो आप अपने डिबगर को संलग्न कर सकते हैं। यदि आप चाहते हैं कि आपका एप्लिकेशन डिबगर से कनेक्ट होने तक प्रतीक्षा करें, तो बस ध्वज को y में बदल दें ( suspend=y
)
AndroidStudio या विचार में
"VM विकल्प" कॉन्फ़िगर करें
“-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005”
"पता याद रखें" जोड़ें
इसके अलावा मैं Tomcat GUI ऐप (मेरे मामले में: C: \ tomcat \ bin \ Tomcat9w.bin) का उपयोग करता हूं।
जावा टैब पर जाएं :
उदाहरण के लिए, अपने जावा गुण सेट करें:
जावा वर्चुअल मशीन
C: \ Program Files \ Java \ jre-10.0.2 \ bin \ server \ jvm.dll
जावा वर्चुअल मशीन
C: \ बिल्ला \ बिन \ bootstrap.jar; C: \ बिल्ला \ बिन \ बिल्ला-juli.jar
जावा विकल्प :
-Dcatalina.home = C: \ बिल्ला
-Dcatalina.base = C: \ बिल्ला
-Djava.io.tmpdir = C: \ बिल्ला \ अस्थायी
-Djava.util.logging.config.file = C: \ बिल्ला \ conf \ logging.properties
-agentlib: jdwp = परिवहन = dt_socket, सर्वर = y, निलंबित = n, पता = *: 8000
जावा 9 विकल्प :
--add-खोलता = java.base / java.lang = सभी अनाम
--add-खोलता = java.base / java.io = सभी अनाम
--add-खोलता = java.rmi / sun.rmi.transport = सभी अनाम