2014-09-19 4 views
5

मेरी वर्तमान विकास प्रक्रिया जावा कोड, एमवीएन पैकेज, चींटी अपडेट को बदलने के लिए है, मेरे tomcat सर्वर को पुनरारंभ करें। मैं वास्तव में ब्रेकपॉइंट्स जोड़ने में सक्षम होना चाहता हूं, और मेरे डीएसपीएएस इंस्टेंस लाइव को डीबग करना चाहता हूं। मैंने हाल ही में महासागर लिंक के साथ एक मुद्दे पर भाग लिया, और डीबग करना चाहता था, लेकिन चर देखने के लिए println/log जानकारी का सहारा लेना पड़ा।डीएसपीस में, मैं IntelliJ IDEA का उपयोग करके लाइव कोड कैसे डिबग करूं?

मैं विकि पृष्ठ से परिचित हूँ: https://wiki.duraspace.org/display/DSPACE/IDE+Integration+-+DSpace+and+IDEA

मैं सिर्फ इस विषय पर अगर कोई और अधिक सघन किया गया था, हाल ही में मार्गदर्शन सोच रहा था। वीडियो यह पता चलता है जो तैनात करने के लिए मॉड्यूल के अंत के पास https://www.youtube.com/watch?v=mrLl1qPsy6I

और आप संदर्भ रास्तों कैसे व्यवस्था कर सकते हैं:

+0

बस सुनिश्चित करने के लिए कि मैं सवाल समझ में: आप पहले से ही Maven, चींटी और बिलाव आईडिया के भीतर से चल रहे हैं? यदि आप इंटेलिजे में टॉमकैट शुरू कर रहे हैं और रोक रहे हैं, तो डीबग मोड में प्रवेश करने का मतलब है कि टॉमकैट के लिए नियमित स्टार्ट बटन के बजाय स्टार्ट-डीबग बटन पर क्लिक करना। –

+0

आईडीईए के भीतर इनमें से कोई भी नहीं चल रहा है। मूल सेटअप कोड देखने और बदलने के लिए केवल आईडीईए का उपयोग करना है। कोड बदलने के बाद मैं मैन्युअल रूप से पुन: नियोजित करता हूं: एमवीएन पैकेज, चींटी अपडेट, टोमकैट पुनरारंभ करें। इंटेलिजे गाइड का पालन करने का प्रयास करते समय, यह एक आर्टिफैक्ट तैनात करने का उल्लेख करता है, मुझे नहीं पता कि वहां क्या रखा जाए। (टॉमकैट सर्वर कॉन्फ़िगरेशन का परिनियोजन टैब)। –

उत्तर

5

मैं एक वीडियो पूर्वाभ्यास विचार में हमारी डेवलपर सेटअप का वर्णन बनाया।

दो साल से कम पिछले वीडियो के बाद, यहाँ अंत में डिबगिंग वीडियो है: https://www.youtube.com/watch?v=V5Zi71zYmf8

एक सुपर शक्तिशाली वीडियो में शामिल नहीं विशेषता है "अभिव्यक्ति का मूल्यांकन"। जब कार्यक्रम ब्रेकपॉइंट में रुक जाता है, तो आप प्रोग्राम की वर्तमान स्थिति पर किसी भी मनमानी विधि कॉल निष्पादित करने के लिए "अभिव्यक्ति का मूल्यांकन" कर सकते हैं।

3

ब्रैम ने इस विषय पर एक उत्कृष्ट ट्यूटोरियल प्रदान किया है, एक अन्य रणनीति जिसे मैं अनुशंसा कर सकता हूं कि कभी-कभी सेटअप करने के लिए तेज़ हो सकता है रिमोट डिबगिंग है।

लक्ष्य टॉमकैट में या डीएसपीएएस सीएलआई में आपके मौजूदा तैनात डीएसपीएएस वेबएप पर "रिमोट डीबग मोड" में शामिल होना है। फिर आप इंटेलिज में एम्बेडेड टॉमकैट को कॉन्फ़िगर किए बिना सीधे इसे संलग्न कर सकते हैं। यह बहुत अच्छा है क्योंकि इसे स्थानीय विकास या मौजूदा विकास सर्वर होस्टनाम/आईपी के खिलाफ नेटवर्क पर दूरस्थ रूप से स्थानीय रूप से पूरा किया जा सकता है।

  1. करें भागो> संपादित विन्यास
  2. का चयन करें (+) विकल्प> रिमोट
  3. कॉन्फ़िगर रिमोट सेटिंग्स, अपने चल बिल्ला या CLI मेजबान स्थान के लिए उपयुक्त होस्ट/पोर्ट विन्यास की स्थापना की और (एक उपयुक्त नाम प्रदान डीएसपीएएस रिमोट)
  4. अपनी टेक्स्ट टोमकैट या सीएलआई इंस्टेंस में एनवी सेटिंग्स में पहली टेक्स्ट बॉक्स सेटिंग्स कॉपी करें।

    -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 
    

    4. ए। Dspace CLI के लिए में [DSACE_HOME]/bin/Dspace निम्न पंक्ति सिर्फ जावा आदेश से पहले जोड़ने (ध्यान दें हम y के लिए निलंबित आश्वस्त करने के लिए हम डिबगिंग पोर्ट से कनेक्ट करने के लिए पहले आवेदन निष्पादित करता है का अवसर है कि निर्धारित किया है।

    export JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005" 
    

    4.b पहले से ही बिल्ला catalina.sh स्क्रिप्ट डिबग मोड में बिल्ला शुरू करने के लिए में प्रदान की बिलाव विन्यास निर्यात env सेटिंग के लिए। (एक बार ध्यान दें कि हम n करने के लिए निलंबित बिल्ला ठीक से शुरू करने के लिए अनुमति देने के लिए निर्धारित किया है।

    export JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 
    %TOMCAT_HOME%/bin/catalina.sh jpda start 
    
  5. आपने सीएलआई ऐप या टॉमकैट शुरू कर दिया है, तो आप अपनी कॉन्फ़िगर की गई डीबग सेटिंग्स को कनेक्ट कर सकते हैं। पहले टी से अपनी डीबग कॉन्फ़िगरेशन का चयन करें वह टूलबार पर रन/डीबग ड्रॉपडाउन और "डीबग" आइकन का उपयोग करके डीबग मोड में शुरू करें।

यह डीबग पोर्ट से कनेक्ट होगा (यदि आपको फ़ायरवॉल प्रतिबंधों की समस्या है)। अब आप सर्वर पर निष्पादित होने पर इंटेलिज में ब्रेकपॉइंट्स सेट करने और अपने कोड के माध्यम से कदम उठाने में सक्षम होना चाहिए।

चेतावनी यह है कि आपको चल रहे टोमकैट/क्ली एप्लिकेशन में अपने किसी भी बदलाव को प्राप्त करने के लिए पूरे एमवीएन बिल्ड/चींटी तैनाती को पूरा करने की आवश्यकता होगी। तेजी से डेवलपर टर्नअराउंड के लिए, इंटेलिज में युद्ध/क्ली को सीधे चलाने के लिए सबसे अच्छा है और ब्रैम के ट्यूटोरियल का उपयोग उस उद्देश्य के लिए उत्कृष्ट है। हालांकि, जब यह संभव नहीं है, तो यह मौजूदा लाइव टेस्ट साइट पर डीबग करने में सक्षम होने का एक शानदार विकल्प है।

चीयर्स, मार्क