2012-06-21 17 views
14

Sto tentando di collegare il profiler Netbeans al mio progetto Java, ma esso viene bloccato con Connecting to the target vm.Netbeans Profiler: Connessione alla destinazione vm per sempre

Ho trovato questo old bug report ma è già stato risolto. La mia versione è 7.1.2 con Java 1.7.0_04 su windows 7.

Ho provato a disabilitare il firewall e avviare Netbeans come amministratore, ma ho ancora lo stesso problema.

Un po 'strano è che la calibrazione funziona bene.

Ho la sensazione che si tratti di un problema con Java 7. Perché se guardo dentro profiler\lib\deployed non c'è la cartella jdk17. Solo jdk16 e jdk15.

Qualche idea?

+1

Hai provato un progetto fittizio (ad esempio una classe, con un main che dorme per sempre) per vedere se è collegato al tuo progetto rispetto a un permesso/setup/... problema? – assylias

+2

Sì, non ha funzionato. Ma è risultato che funziona se uso la modalità di attacco dinamico. Grazie! – PiTheNumber

risposta

12

Ho scoperto che il profiler funziona se lo allego dinamicamente. Quindi devi prima avviare l'applicazione (con un punto di interruzione). Quindi fai clic su Profilo> Allega Profiler ... In alto seleziona il tuo progetto e allega un profiler dinamico locale. Se hai già creato quello sbagliato, puoi modificarlo nella parte inferiore della finestra di dialogo Attach Profiler. Ora seleziona il processo in esecuzione e il gioco è fatto.

+1

JAR agente caricato ma l'inizializzazione dell'agente non è riuscita. –

1

Ho avuto lo stesso problema usando NetBeans 8.0.2 per profilare un test di junit in un progetto multi-module maven.

Ho lavorato attorno ad esso estraendo il test in un progetto autonomo di maven e aggiungendo gli altri moduli come dipendenze.

Il motivo per cui non funziona nel progetto multi-modulo è che quando si fa clic su File di test profilo NetBeans genera una riga di comando errata. E.g. nel progetto multi-modulo, produce:

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\"" 

che dovrebbe essere:

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\"" 

TL; DR - la -Dexec.args = argomento è vuota nel progetto multi-modulo.

+0

Sembra corretto in NetBeans 8.1 – tanderson

Problemi correlati