2012-10-09 11 views
26

में डीबगर पोर्ट खोलने में असमर्थ इंटेलिज में डीबगर पोर्ट खोलने में असमर्थ। पोर्ट नंबर 9 00 उस एप्लिकेशन से मेल खाता है जो एप्लिकेशन के लिए कॉन्फ़िगरेशन फ़ाइल में सेट किया गया है। IntelliJ मेंIntelliJ

<java-config debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9009" system-classpath="" native-library-path-prefix="D:\Project\lib\windows\64bit" classpath-suffix=""> 
    <jvm-options>-XX:MaxPermSize=192m</jvm-options> 
    <jvm-options>-client</jvm-options> 
    <jvm-options>-XX:+UnlockDiagnosticVMOptions</jvm-options> 
    <jvm-options>-XX:+LogVMOutput</jvm-options> 
    <jvm-options>-XX:LogFile=${com.sun.aas.instanceRoot}/logs/jvm.log</jvm-options> 
    <jvm-options>-Djava.endorsed.dirs=${com.sun.aas.installRoot}/modules/endorsed${path.separator}${com.sun.aas.installRoot}/lib/endorsed</jvm-options> 
    <jvm-options>-Djava.security.policy=${com.sun.aas.instanceRoot}/config/server.policy</jvm-options> 
    <jvm-options>-Djava.security.auth.login.config=${com.sun.aas.instanceRoot}/config/login.conf</jvm-options> 
    <jvm-options>-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as</jvm-options> 
    <jvm-options>-Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}/config/keystore.jks</jvm-options> 
    <jvm-options>-Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}/config/cacerts.jks</jvm-options> 
    <jvm-options>-Djava.ext.dirs=${com.sun.aas.javaRoot}/lib/ext${path.separator}${com.sun.aas.javaRoot}/jre/lib/ext${path.separator}${com.sun.aas.instanceRoot}/lib/ext</jvm-options> 
    <jvm-options>-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver</jvm-options> 
    <jvm-options>-DANTLR_USE_DIRECT_CLASS_LOADING=true</jvm-options> 
    <jvm-options>-Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory</jvm-options> 
    <jvm-options>-Dosgi.shell.telnet.port=4766</jvm-options> 
    <jvm-options>-Dosgi.shell.telnet.maxconn=1</jvm-options> 
    <jvm-options>-Dosgi.shell.telnet.ip=127.0.0.1</jvm-options> 
    <jvm-options>-Dfelix.fileinstall.dir=${com.sun.aas.installRoot}/modules/autostart/</jvm-options> 
    <jvm-options>-Dfelix.fileinstall.poll=5000</jvm-options> 
    <jvm-options>-Dfelix.fileinstall.debug=1</jvm-options> 
    <jvm-options>-Dfelix.fileinstall.bundles.new.start=true</jvm-options> 
    <jvm-options>-Dorg.glassfish.web.rfc2109_cookie_names_enforced=false</jvm-options> 
    <jvm-options>-XX:NewRatio=2</jvm-options> 
    <jvm-options>-Xmx2048m</jvm-options> 
    </java-config> 

विन्यास:

enter image description here

जब मैं कोशिश करते हैं और यह निम्न त्रुटि के साथ आता है इस आवेदन के लिए में दूरस्थ डिबगिंग को सक्षम: enter image description here

+0

बंदरगाह खुला नहीं प्रतीत होता है। आपके अनुप्रयोग लॉग फ़ाइल क्या कहती है? आम तौर पर यह कुछ ऐसा कहता है: 'पते पर परिवहन dt_socket के लिए सुनना: 9 00 '। – maba

+0

@ माबा: बंदरगाह खुला था क्योंकि मैंने टेलनेट 192.168.2.100 9 00 चलाया था। हालांकि नेटस्टैट काम नहीं कर रहा था, जिसका मतलब था कि ग्लासफ़िश कॉन्फ़िगरेशन में कोई समस्या थी। इसलिए मैंने ग्लासफ़िश में जावा-कॉन्फ़िगरेशन में निम्न कॉन्फ़िगरेशन पैरामीटर जोड़ा मेरा जवाब नीचे और यह काम किया। आपके योगदान के लिए धन्यवाद। – MindBrain

उत्तर

8

निम्नलिखित पैरामीटर जोड़ें ग्लासफ़िश कॉन्फ़िगरेशन में इस पंक्ति में डीबग-सक्षम = "सत्य"। उदाहरण:

<java-config debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9009" debug-enabled="true" 
    system-classpath="" native-library-path-prefix="D:\Project\lib\windows\64bit" classpath-suffix=""> 

प्रारंभ और glassfish डोमेन या सेवा है जो इस विन्यास का उपयोग कर रहा था बंद करो।

+28

क्या होगा यदि आप ग्लासफ़िश का उपयोग नहीं कर रहे हैं? –

3

मुझे उम्मीद है कि आपकी समस्या अब हल हो गई है। यदि नहीं, तो इसे आज़माएं ... ऐसा लगता है कि आपके पास आपके ऐप और आईडीईए दोनों के लिए server=y है। आईडीईए शायद server=n होना चाहिए। साथ ही, (आईडीईए) क्लाइंट में एक पता होना चाहिए जिसमें होस्ट नाम और पोर्ट दोनों शामिल हों, उदाहरण के लिए, address=127.0.0.1:9009

1

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

16

यदि आपका पोर्ट पहले से किसी अन्य प्रोग्राम द्वारा उपयोग किया जाता है तो आपको डीबगर पोर्ट बदलना पड़ सकता है। ऐसा करने के लिए:

  • संपादित विन्यास
  • स्टार्टअप/कनेक्शन टैब
  • डीबग
  • बदलें यहां बंदरगाह
+0

क्या होगा यदि आप डिफ़ॉल्ट कॉन्फ़िगरेशन का उपयोग नहीं कर रहे हैं, और इसके बजाय कस्टम रिमोट कॉन्फ़िगरेशन बनाया है? –

+0

आपका मतलब स्थानीयहोस्ट पर दूरस्थ डीबगर का उपयोग करना है: 8000? यदि ऐसा है तो आपको अपने एप्लिकेशन (रन) के जेवीएम में डिबगिंग विकल्प निर्दिष्ट करने की आवश्यकता है, लेकिन समस्या एक जैसी है, आपको एक मुफ्त पोर्ट की आवश्यकता है। – Pleymor

+0

@Pleymor मैं मैक ओएसएक्स पर अपने एंड्रॉइड स्टूडियो 2.2.2 में रन> संपादित कॉन्फ़िगरेशन से कोई भी "स्टार्टअप/कनेक्शन" टैब नहीं देख रहा हूं। क्या यह बदल गया है? – MrColes

0

मैं एक ही समस्या थी और इस समाधान भी मेरे लिए चाल किया : यदि आप इस होस्टनाम का उपयोग कर रहे हैं, तो होस्ट नाम "localhost" के बजाय इंटेलिज डीबग कॉन्फ़िगरेशन में आईपी 127.0.0.1 प्रदान करें।

+0

नोप – nuwanjaya

1

मेरे लिए, समस्या यह थी कि catalina.sh में निष्पादन अनुमति नहीं थी। "इंटेलिज में डीबगर पोर्ट खोलने में असमर्थ" संदेश इंटेलिज में दिखाई दिया, लेकिन यह लॉग इन में दिखाई देने वाली 'catalina.sh' त्रुटि को निष्पादित नहीं कर सका।

+0

'apache-tomcat-9.0.5 chmod + x bin/* 'हल नहीं करता है – zhuguowei

0

उत्तर बहुत आसान है, मुझे भी समस्या का सामना करना पड़ा, अंत में मुझे सही समाधान मिला। Create Debug Create Remote debug with following configuration सबसे पहले डीबग द्वारा चलाया जाता है। यह आप सॉकेट 5005 लिए waitng फिर दूरदराज के डिबग साथ टेलनेट के साथ कनेक्ट करने

0

कोशिश चलाने के लिए, अगर यह तो जोड़ता है यह नीचे से पता चलता देता है:

$ टेलनेट 10.238.136.165 9999 कोशिश कर रहा 10.238.136.165 ... 10.238.136.165 से कनेक्ट किया गया। एस्केप कैरेक्टर '^]' है। कनेक्शन विदेशी मेजबान द्वारा बंद कर दिया गया।

तो पोर्ट उपलब्ध नहीं है (क्योंकि या तो किसी और ने पहले यह जुड़ा हुआ है या बंदरगाह आदि खुला नहीं है) तो यह कुछ पता चलता है कि यह नीचे की तरह दिखाता है:

$ टेलनेट 10.238.136.165 9999 10.238 कोशिश कर रहा है .136.165 ... टेलनेट: 10.238.136.165 संबोधित करने के लिए कनेक्ट: कनेक्शन अस्वीकृत टेलनेट: दूरस्थ होस्ट

तो मैं एक को देखने की जरूरत है सोचने के लिए कनेक्ट करने में असमर्थ है कि क्या:

  • आवेदन संपत्ति बंदरगाह के लिए नहीं सुन रहा है या है

  • या किसी और पहले से ही इससे जुड़े है

इसके अलावा/पहले की तरह $ टेलनेट स्थानीय होस्ट कि मीटर पर कनेक्ट करने के लिए ग ही कोशिश 9999