मैं "डीबग" मोड के तहत रन टाइम में अलग-अलग व्यवहार कैसे कर सकता हूं (उदाहरण के लिए ग्रहण में "जावा अनुप्रयोग के रूप में डीबग" के रूप में उभारा) (उदाहरण के लिए "जावा एप्लिकेशन के रूप में चलाएं" ग्रहण ")? उदाहरण के लिए, कोड" हाहा, आप डीबग में हैं "प्रिंट कर सकते हैं जब" जावा एप्लिकेशन के रूप में डीबग करें "लेकिन" जावा एप्लिकेशन के रूप में चलाएं "के दौरान कुछ भी प्रिंट न करें (मैं किसी भी तर्क को जोड़ना नहीं चाहता मुख्य विधि का आह्वान करना)। क्या यह लागू करने के लिए कोई सामान्य तरीका है जो ग्रहण, इंटेलिजे आदि जैसे किसी भी आईडीई के तहत काम कर सकता है?आईडीई में "डीबग" मोड में मेरा कोड कैसे चल रहा है?
उत्तर
मैंने इसे निम्नलिखित के रूप में कार्यान्वित किया है। मैं जेवीएम पैरामीटर की जांच करता हूं और -Xdebug
पर एक की तलाश करता हूं। कृपया कोड देखें।
private final static Pattern debugPattern = Pattern.compile("-Xdebug|jdwp");
public static boolean isDebugging() {
for (String arg : ManagementFactory.getRuntimeMXBean().getInputArguments()) {
if (debugPattern.matcher(arg).find()) {
return true;
}
}
return false;
}
यह मेरे लिए काम करता है क्योंकि ग्रहण अनुप्रयोग को निष्पादित करता है जिसे अलग प्रक्रिया के रूप में डीबग किया जा रहा है और जेडीआई (जावा डिबगिंग इंटरफेस) का उपयोग करके इसे जोड़ता है।
मैं जानना चाहता
+1: 'debubg '?? ;) आप स्थैतिक पैटर्न बनाने के बजाय DEBUG के लिए स्थिर फ़ील्ड सेट कर सकते हैं क्योंकि मैं इसे बदलने की अपेक्षा नहीं करता। –
धन्यवाद, @ पीटर लॉरी। ऐसा लगता है कि यह मेरे लिए काम करता है क्योंकि मैंने jdwp जोड़ा। मैं इसे अपने कोड में ठीक कर दूंगा। – AlexR
इन मोड के बीच अंतर यह है कि डिबग मोड में अपने आईडीई सिर्फ एक डीबगर के साथ आवेदन निष्पादित से कनेक्ट करेगा (आमतौर पर है कि क्या यह अन्य IDEs (जैसे इंटेलीजे) के साथ काम करता खुशी होगी बाइनरी सॉकेट के माध्यम से)। एक डीबगर संलग्न होने से आईडीई को ब्रेकपॉइंट्स हिट, अपवाद फेंकने आदि की खोज करने की अनुमति मिलती है। यह सामान्य मोड में नहीं होगा।
जावा कोड से डीबग और सामान्य मोड के बीच अंतर करने के लिए कोई मानक और आसान उपयोग करने का तरीका नहीं है।
- 1. डिबग मोड में चल रहा है RSpec
- 2. प्रोग्रामेटिक रूप से जांच कैसे करें कि ऐप डीबग मोड में चल रहा है या नहीं?
- 3. यह पता लगाने के लिए कि मेरा एएसपी.NET कोड किस खाते में चल रहा है?
- 4. क्या डीबग = "सत्य" में कोई वेब जोखिम चल रहा है?
- 5. डीबग मोड में विजुअल स्टूडियो 2008 में कोड संपादित करना
- 6. मेरा एप्लिकेशन रिलीज मोड में क्यों क्रैश होता है लेकिन डीबग मोड में नहीं?
- 7. एक प्रोग्राम संगतता मोड में चल रहा है
- 8. कोड रिलीज बनाम डीबग मोड
- 9. डीबग नोड, यह क्या चल रहा है?
- 10. मैं कैसे पता लगा सकता हूं कि आईडीई में उपयोगकर्ता नियंत्रण चल रहा है, डीबग मोड में, या जारी किए गए EXE में?
- 11. VBA डीबग मोड छोड़ा जा रहा है
- 12. मैं कैसे जांचूं कि मेरा मल्टीथ्रेड कोड वास्तव में एकाधिक धागे पर चल रहा है?
- 13. किसी एप्लिकेशन सर्वर में ग्रहण डीबग कोड कैसे करता है?
- 14. उत्पादन मोड में पतली सर्वर चल रहा है मेरी संपत्ति
- 15. डीबग मोड
- 16. रिलीज मोड में डीबग कैसे करें?
- 17. एंड्रॉयड चल रहा है वास्तव में
- 18. डीबग मोड में फ्लेक्स ऐप चल रहा है तो आप प्रोग्रामेटिक रूप से कैसे बता सकते हैं?
- 19. केवल डीबग मोड में मेनू आइटम दिखाएं?
- 20. डीबग मोड?
- 21. प्रोजेक्ट डीबग मोड में शुरू नहीं होगा
- 22. ifstream :: विजुअल स्टूडियो डीबग मोड में काम नहीं कर रहा
- 23. जावा, सर्वर मोड में चल रहा है, कहता है कि संस्करण "मिश्रित मोड" है?
- 24. डीबग मोड
- 25. पता लगाएं कि मेरा ऐप वर्तमान में विजुअल स्टूडियो के डीबग मोड
- 26. रिलीज मोड में डीबग प्रतीकों
- 27. नेटबीन्स में PHP कोड (डीबग) चरण कोड
- 28. डीबग मोड
- 29. मैं कैसे पता लगा सकता हूं कि मेरा कोड कंसोल में रेल 3 में चल रहा है या नहीं?
- 30. डीबग मोड?
इस विषय पर इस विषय पर चर्चा की गई है: http://stackoverflow.com/questions/1109019/determine-if-a-java-application-is-in-debug-mode-in-eclipse –