Отладка Maven Eclipse "Не удалось инициализировать JDWP Transport dt_socket, TRANSPORT_INIT (510)" - PullRequest
30 голосов
/ 08 декабря 2011

Я пытаюсь отладить тесты Maven в Eclipse. Когда я запускаю тесты с опцией maven maven.surefire.debug, я получаю эту ошибку:

ERROR: transport error 202: bind failed: Address already in use
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]
/bin/sh: line 1: 27500 Abort trap        

То же самое, когда я пытался запустить отладку в своей оболочке.

Я попытался добавить параметр maven forkMode = never, и у меня возникла другая ошибка с моим артефактом сварки, которого у меня нет без параметра maven.surefire.debug:

Error loading Weld bootstrap, check that Weld is on the classpath

Тем не менее, Weld на моем пути к классам.

Есть идеи?

Ответы [ 7 ]

25 голосов
/ 24 февраля 2012

Чтобы убить процесс, прослушивающий порт:

Эта команда должна выводить список процессов, прослушивающих все порты:

netstat -ano

Опция -o отобразит идентификатор процесса.

Если вы используете * nix систему, вы можете немного улучшить ее с помощью:

netstat -ano | grep <badport> 

Если у вас есть идентификатор процесса, вы можете прекратить его с помощью:

Windows

  • Откройте диспетчер задач, добавьте столбец PID с помощью View> Select Columns> PID
  • Найдите процесс и щелкните правой кнопкой мыши, чтобы убить его

Другие:

kill <PID>
4 голосов
/ 10 декабря 2015

Вопрос задавался давно, но у меня недавно была такая же проблема.

  1. Открыть диспетчер задач

  2. Убить весь процесс java.exe

  3. Перезапустить mvnотладка

Надеюсь, это поможет

4 голосов
/ 09 сентября 2012

Перейдите на вкладку Debug configuration -> Remote Java Application -> Connect, отметьте Allow termination of remote JVM.

Затем, когда вы собираетесь перезапустить сервер / maven, перейдите к Debug perspective инажмите кнопку read / stop .....

3 голосов
/ 12 июня 2018

Обычно проблема заключается в том, что другой процесс поддерживает открытый порт отладки Maven 5005.На моем Mac я проверил, какой процесс поддерживает этот порт открытым, выполнив:

lsof -i tcp:5005

Вывод был:

COMMAND  PID        USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java    9089 my_user    7u  IPv4 0xe88ec542fd4cffc9      0t0  TCP *:avt-profile-2 (LISTEN)

И затем я убил процесс:

kill -9 9089

Если вы хотите, чтобы эти 2 процесса могли работать вместе, вам придется изменить порт отладки Maven хотя бы для одного из них.Смотри: http://maven.apache.org/surefire/maven-surefire-plugin/examples/debugging.html.

1 голос
/ 03 апреля 2018

Только для документации, у меня была та же самая ошибка, работающая на моем локальном компьютере:

ОШИБКА: ошибка транспорта 202: сбой привязки: адрес уже используется ФАТАЛЬНАЯ ОШИБКА в собственном методе: JDWP Нет транспортовинициализировано, jvmtiError = AGENT_ERROR_TRANSPORT_INIT (197) ОШИБКА: не удалось инициализировать транспортный dt_socket JDWP, TRANSPORT_INIT (510)

в моем случае это не проблема, а файл хоста.Решение состоит в том, чтобы добавить / повторно добавить / раскомментировать:

127.0.0.1 localhost

В файле конфигурации по умолчанию устанавливается localhost, поэтому решение заключается в том, чтохост или измените его на пользовательский.

0 голосов
/ 26 мая 2017

Решением для меня было удаление точек останова проекта! Если у вас много веток и они недавно изменились, иногда затмение теряет некоторые точки останова.

0 голосов
/ 23 декабря 2013

Чтобы добавить ... У меня была похожая проблема на прошлой неделе, когда отладка с использованием eclipse стала невозможной.

FATAL ERROR in native method: JDWP No transports initialized,
jvmtiError=AGENT_ERROR_TRANSPORT_LOAD(196)
ERROR: transport library not found: dt_socket
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_LOAD(509)
JDWP exit error AGENT_ERROR_TRANSPORT_LOAD(196): No transports initialized [../../../src/share/back/debugInit.c:690]

К сожалению, решение, которое я могу найти в Интернете, оказалось полезным.

Проблема оказалась в том, что каким-то образом брандмауэр удалил все библиотеки в моей корзине JRE ... (поэтому dt_socket.dll полностью пропал).

Помогла переустановка всей JRE.

...