Профилиров Netbeans: навсегда подключиться к цели vm - программирование
Подтвердить что ты не робот

Профилиров Netbeans: навсегда подключиться к цели vm

Я пытаюсь подключить профилировщик Netbeans к моему Java-проекту, но он застревает с Connecting to the target vm.

Я нашел этот старый отчет об ошибке, но это уже исправлено. Моя версия 7.1.2 с Java 1.7.0_04 на Windows 7.

Я попытался отключить брандмауэр и запустить Netbeans как администратор, но все же у меня такая же проблема.

Немного странно, что калибровка работает нормально.

У меня такое чувство, что это проблема с Java 7. Потому что, если я смотрю на profiler\lib\deployed, нет папки jdk17. Только jdk16 и jdk15.

Любые мысли?

4b9b3361

Ответ 1

Я обнаружил, что работает профайлер, если я прикрепляю его динамически. Для этого вам нужно сначала запустить приложение (с точкой останова). Затем вы нажмете "Профиль" > "Прикрепить профилировщик"... В верхней части выберите свой проект и прикрепите локальный динамический профилировщик. Если вы уже создали неправильный, вы можете изменить его в нижней части диалогового окна Attach Profiler. Теперь выберите текущий процесс и что он.

Ответ 2

У меня была такая же проблема с использованием NetBeans 8.0.2 для профилирования теста junit в многомодульном проекте maven.

Я работал над этим, извлекая тест в автономный проект maven и добавляя другие модули в качестве зависимостей.

Причина, по которой он не работает в многомодульном проекте, заключается в том, что при нажатии Файл теста профиля NetBeans генерирует неправильную командную строку. Например. в многомодульном проекте он производит:

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

TL; DR - аргумент -Dexec.args = пуст в многомодульном проекте.