2012-06-21 24 views
14

मैं नेटबीन्स प्रोफाइलर को अपने जावा प्रोजेक्ट में संलग्न करने की कोशिश कर रहा हूं लेकिन यह Connecting to the target vm से फंस गया है।नेटबींस प्रोफाइलर: लक्ष्य वीएम से हमेशा के लिए कनेक्टिंग

मुझे यह old bug report मिला लेकिन यह पहले ही तय हो चुका है। मेरा संस्करण विंडोज 7 पर जावा 1.7.0_04 के साथ 7.1.2 है।

मैंने फ़ायरवॉल को अक्षम करने और नेटबींस को व्यवस्थापक के रूप में शुरू करने का प्रयास किया लेकिन फिर भी मुझे एक ही समस्या मिली।

थोड़ा अजीब बात यह है कि अंशांकन ठीक काम करता है।

मुझे लगता है कि यह जावा 7 के साथ एक समस्या है। क्योंकि अगर मैंने profiler\lib\deployed में देखा है तो कोई jdk17 फ़ोल्डर नहीं है। केवल jdk16 और jdk15।

किसी भी विचार?

+1

क्या आपने एक डमी प्रोजेक्ट पर कोशिश की है (एक वर्ग कहें, जो हमेशा के लिए सोती है) यह देखने के लिए कि क्या यह आपके प्रोजेक्ट बनाम एक अनुमति/सेटअप/... मुद्दा से संबंधित है? – assylias

+2

हां, यह काम नहीं किया। लेकिन अगर यह गतिशील अनुलग्नक मोड का उपयोग करता है तो यह काम करता है। धन्यवाद! – PiTheNumber

उत्तर

12

यदि मैं इसे गतिशील रूप से संलग्न करता हूं तो मुझे प्रोफाइलर काम मिलते हैं। इसके लिए आपको पहले एप्लिकेशन शुरू करना होगा (ब्रेक पॉइंट के साथ)। फिर आप प्रोफ़ाइल> प्रोफाइल संलग्नक पर क्लिक करें ... शीर्ष पर अपनी परियोजना का चयन करें और एक स्थानीय गतिशील प्रोफाइलर संलग्न करें। यदि आपने पहले से ही गलत बनाया है तो आप इसे अटैच प्रोफाइलर संवाद के नीचे बदल सकते हैं। अब चल रही प्रक्रिया का चयन करें और यही वह है।

+1

एजेंट जेएआर लोड किया गया लेकिन एजेंट शुरू करने में विफल रहा। –

1

मुझे एक बहु-मॉड्यूल मैवेन प्रोजेक्ट में जूनिट टेस्ट प्रोफाइल करने के लिए नेटबीन 8.0.2 का उपयोग करने में एक ही समस्या थी।

मैंने परीक्षण को एक स्टैंडअलोन मेवेन प्रोजेक्ट में निकालने और अन्य मॉड्यूल को निर्भरताओं के रूप में जोड़कर इसके आसपास काम किया।

बहु-मॉड्यूल प्रोजेक्ट में काम नहीं करने का कारण यह है कि पर क्लिक करते समय प्रोफ़ाइल टेस्ट फ़ाइल नेटबीन गलत कमांड लाइन उत्पन्न करता है। ईजी। बहु मॉड्यूल परियोजना में, यह पैदा करता है:

cd C:\test; "JAVA_HOME=C:\\Program Files\\Java\\jdk1.8.0_40" cmd /c "\"\"C:\\Program Files\\NetBeans 8.0.2\\java\\maven\\bin\\mvn.bat\" -Dtest=PerfTest -DforkMode=once -Dmaven.surefire.debug=${exec.args} -Dexec.args= -Dmaven.ext.class.path=\"C:\\Program Files\\NetBeans 8.0.2\\java\\maven-nblib\\netbeans-eventspy.jar\" -Dfile.encoding=UTF-8 surefire:test\"" 

जबकि यह होना चाहिए:

cd C:\test; "JAVA_HOME=C:\\Program Files\\Java\\jdk1.8.0_40" cmd /c "\"\"C:\\Program Files\\NetBeans 8.0.2\\java\\maven\\bin\\mvn.bat\" -Dtest=PerfTest -DforkMode=once -Dmaven.surefire.debug=${exec.args} -Dexec.args=\"-agentpath:\\\"C:/Program Files/NetBeans 8.0.2/profiler/lib/deployed/jdk16/windows-amd64/profilerinterface.dll\\\"=\\\"C:\\Program Files\\NetBeans 8.0.2\\profiler\\lib\\\",5140,10 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=C:\\Users\\foo\\AppData\\Local\\NetBeans\\Cache\\8.0.2\\mavencachedirs\\2029222463\\org-netbeans-modules-profiler \" -Dmaven.ext.class.path=\"C:\\Program Files\\NetBeans 8.0.2\\java\\maven-nblib\\netbeans-eventspy.jar\" -Dfile.encoding=UTF-8 surefire:test\"" 

टी एल; डॉ - -Dexec.args = तर्क बहु मॉड्यूल परियोजना में खाली है।

+0

यह नेटबीन 8.1 में तय किया गया प्रतीत होता है – tanderson