Ошибка Eclipse: "Не удалось подключиться к удаленной виртуальной машине"

Я получаю следующую ошибку при запуске Debug из Eclipse IDE.

Сообщение: "Failed to connect to remote VM. Connection Refused"

В чем может быть причина?

Ответ 1

Установили ли вы удаленную виртуальную машину для приема соединений?

java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=10000,suspend=n yourServer

Существует ли межсетевой экран?

Указываете ли вы правильный хост/порт?

Вы подключены к VPN?

Ответ 2

Удалите прокси-сервер из eclipse!

Перейдите к сетевым соединениям в разделе "Общие настройки" (Windows → "Настройки" ) и установите "Активный провайдер" на "Прямой"

remove proxy

Перезагрузите свое Eclipse после этого

Ответ 3

добавить к вашему прогону script:

export JPDA_ADDRESS=8787
export JPDA_TRANSPORT=dt_socket
export JPDA_HOST=localhost

JAVA_OPTS=$JAVA_OPTS -Xms128m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000
JAVA_OPTS=$JAVA_OPTS -Dsun.rmi.dgc.server.gcInterval=3600000
JAVA_OPTS=-Xdebug -Xnoagent -Xrunjdwp:transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=n $JAVA_OPTS

Ответ 4

В нашем образе развития на нем установлена ​​установка сервиса Tomcat, поэтому настройка переменных среды и т.д. не имела никакого эффекта. Если вам нужно сделать это через службу Tomcat Windows, вам нужно знать несколько вещей:

  • Комментарий Дэвида Цитрона - последний бит, который мне нужен, чтобы заставить мое соединение работать. Файл hosts на наших компьютерах прокомментировал localhost (он предположительно разрешен через DNS, но это не работает для отладочного соединения). Я раскоментировал его и смог подключиться.
  • Если управление доступом пользователя включено, вам необходимо использовать учетные данные администратора для доступа к панели управления службами или приложению мониторинга Tomcat или к тому, что вы используете для переключения состояния сервера. Приложение монитора (зарегистрированное здесь), вероятно, является лучшим, потому что вы можете редактировать настройки сервера для параметров отладки и запускать и останавливать сервер.
  • Я подумал, что, возможно, вам нужно запустить Eclipse в качестве администратора, чтобы иметь возможность завершить процесс Tomcat, но вы этого не сделаете. Когда у вас есть это удаленное приложение, вы сможете работать с сервисом до завершения.

Ответ 5

Дэвид Цитрон прав - если локальный хост не разрешает правильно, это может вызвать эту проблему. Здесь, как проверить:

Если он работает, когда ваш компьютер не подключен к сети (нет Wi-Fi, нет сетевых кабелей). Если он работает в этих условиях, возможно, вам нужно убедиться, что адреса правильно соответствуют localhost. Сообщения, которые DDMS и adb.exe используют для отладки и связи с виртуальной машиной, должны правильно разрешаться на localhost на вашем ПК. (Да, странно, что другие команды, использующие DDMS и adb, работают нормально, но отладка не делает. Кажется, что что-то в DDMS или adb необходимо стандартизировать, чтобы все они работали при тех же условиях.)

Если вам нужно убедиться в правильности решения localhost:

1) Убедитесь, что эта строка находится в файле /Windows/System32/drivers/etc/hosts:

127.0.0.1  localhost

(у вас может быть любое количество пробелов между "127.0.0.1" и "localhost" )

И - как предложил Дэвид Цитрон - убедитесь, что файл hosts действителен и не имеет ошибок или ошибок.

2) Если это не сработает, вам может потребоваться также добавить IPv4-адрес вашего компьютера в файл hosts и разрешить его localhost. (Вы можете узнать адрес IPv4 для вашего компьютера с помощью команды ipconfig.) Если, например, адрес вашего компьютера IPv4 192.168.1.100, вы должны добавить строку

192.168.1.100  localhost

в ваш файл hosts. (Вы можете добавить его под строкой "127.0.0.1 localhost" в файле.)

Вы можете проверить, что adb (и ваш эмулятор, если вы его используете) прослушивает порты, используя команду netstat -b. (Обратите внимание, что вам нужны права администратора для параметра -b. Я открываю окно команд с помощью команды "Запуск от имени администратора".)

Ответ 6

Примечание. Порт может принимать только соединение один, и любые последующие соединения будут отклонены.

Ответ 7

Возможная причина для этой ошибки:

  • Приложение Remote Java не работает.
  • Проверьте свой хост и порт, много раз эти записи неверны.
  • Брандмауэр не разрешает доступ к вашему удаленному порту.

Вы также можете проверить это как руководство по удаленной отладке eclipse для получения более подробной информации.

Ответ 8

Проверьте, неправильно ли вы указали порт 8080 вместо 8000. Это случилось со мной.

Ответ 9

Следующие работали для меня: отредактируйте последнюю строку tomcat startup.sh из

exec "$PRGDIR"/"$EXECUTABLE" start "[email protected]"`

к

export JPDA_ADDRESS=8000 export JPDA_TRANSPORT=dt_socket  
exec "$PRGDIR"/"$EXECUTABLE" jpda start "[email protected]" 

Ответ 10

Я щелкнул правой кнопкой мыши кнопку перспективы отладки и выбрал reset. Он работал соответствующим образом.

Ответ 11

Я решил установить его в Eclipse:

Windows --> Preferences --> Java --> Debug --> Debugger timeout: 10000

До того, как я установил "Debugger timeout: 3000", и у меня были проблемы с таймаутом.

Ответ 12

У меня была и решена эта проблема, отключив все удаленные приложения Java в окне отладки/перспективы и перезапустив Eclipse. После этого я мог бы подключиться снова.

Ответ 13

Удалите и установите снова плагин ADT android.

Ответ 14

Если вы используете windows os, то замените строку в конфигурации tomcat Tomcat6\bin\startup.bat.

Заменить

call "%EXECUTABLE%" start %CMD_LINE_ARGS%

с

call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%

Ответ 15

Если вам нужно отладить приложение, работающее с Tomcat, убедитесь, что ваша Tomcat-папка/bin/startup.bat(если используется Windows) содержит следующие строки:

set JPDA_TRANSPORT="dt_socket"
set JPDA_ADDRESS=8000

call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%

Ответ 16

У меня была проблема с Tomcat, работающим на Ubuntu. Проблема была связана с selinux, и по какой-то причине она не позволит Eclipse подключиться к порту отладки. Отключение selinux или включение его в разрешающий режим решили проблему для меня.

Ответ 18

Увеличить значение памяти свойств

  • MEM_PERM_SIZE_64BIT
  • MEM_MAX_PERM_SIZE_64BIT

в setDomainEnv.cmd файле из %weblogic_home%\user_projects\domains\your_domain\bin

Ответ 19

Я добавлю еще одно возможное решение, если вы используете это на виртуальной машине (vmware и т.д.), некоторые другие процессы на хосте или другой виртуальной машине могут уже иметь порт, с которым вы пытаетесь подключиться, Либо остановите этот другой процесс, либо выберите другой порт.

Ответ 20

Решение, которое сработало для меня, было странным

  • Просто удалите все точки останова
  • Перезагрузите tomcat в режиме отладки (с помощью запуска Catalina.sh jpda)
  • Теперь попробуйте подключиться, и это сработало!!!!

Ответ 21

Создайте файл setenv.bat в папке nib Tomcat. Добавить SET JPDA_ADDRESS = 8787; Переопределить порт jpda Откройте cmd, перейдите в папку bin Tomcat и запустите tomcat, используя Catalina jpda start Настроить точку отладки на eclipse Затем скомпилируйте свой проект. Проверьте localhost: 8080/ Разверните войну или кувшин в папке webapps, и это должно развернуть войну на Tomcat. Затем отправьте запрос. удалите точку отладки ПРИМЕЧАНИЕ. Не редактируйте файл catalina.bat. внести изменения в файл setenv.bat

Ответ 22

Если вы используете Jboss:

измените файл jboss7.1.1\bin\standalone.conf.bat строку:

rem set "JAVA_OPTS=%JAVA_OPTS% -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"

в

set "JAVA_OPTS=%JAVA_OPTS% -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"

Ответ 23

Я попробовал несколько вещей, упомянутых здесь, но метод ниже работал у меня:

Перейдите в консоль отладки Eclipse, где вы найдете имя процесса, который уже существует. Щелкните правой кнопкой мыши на этом процессе и выберите "Завершить и удалить", это завершит процесс. Теперь попробуйте снова начать процесс, и он будет работать.

Ответ 24

В моем случае я включаю брандмауэр Windows off

1- Откройте брандмауэр Windows, нажав кнопку "Пуск" Рисунок кнопки "Пуск", а затем "Панель управления". В поле поиска введите брандмауэр и нажмите "Брандмауэр Windows".

2- Нажмите Включить или выключить брандмауэр Windows. Требуется разрешение администратора. Если вам будет предложено ввести пароль администратора или подтверждение, введите пароль или подайте подтверждение.

3- Нажмите "Отключить брандмауэр Windows (не рекомендуется) в каждом сетевом расположении, которое вы хотите прекратить пытаться защитить, а затем нажмите" ОК ". Была ли эта страница полезной?

Несколько раз вам также нужно

  • Чтобы остановить все клиентские службы Vpn (fortiClient, vpn Client...)
  • Чтобы остановить антивирусный брандмауэр (например, Kaspersky = > Configuration = > Anti-Hacker)

Ответ 25

Я использую jboss, поэтому решение вашей проблемы было перезапущено.

service jboss-portal restart

Ответ 26

убедитесь, что ваш сервер приложений поднят и прослушивает правильный порт.

Ответ 27

Я встречался вот так в Hybris.

  • Проверьте свой порт в "Мониторе ресурсов" > "Сеть". Проверьте, пользуется ли другой сервис вашим портом.

1.2 Если да, то вам нужно изменить свои свойства в project.properties

1.3 Измените свой адрес, любой доступный адрес. В моем случае я изменился с 8000 до 8080. Затем сохраните.

java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8080,suspend=n yourServer
  1. В консоли консоли откройте команду ant с помощью команды ant all

  2. Затем отлаживаем снова, используя команду "hybrisserver.bat debug"

Ответ 28

ПРИМЕЧАНИЕ. Для входа в систему Glassfish Server через консоль администратора → Конфигурации → server-config → JVM-настройки. * Не забудьте установить флажок Включить для Debug. Теперь Обратите внимание на адрес, этот адрес будет использоваться в порту eclipse Remote Java Application Debug. Здесь можно проверить snap-снимок на сервере в стеклянной лавке

Ответ 29

Другая возможность заключается в том, что агент отладки связывается с неправильным сетевым интерфейсом.

Я только что видел это при попытке отладки виртуальной машины Windows 10 внутри виртуальной виртуальной машины, и я пытаюсь подключиться к Eclipse, запущенной на хосте VirtualBox. В моем случае агент привязан только к интерфейсу 127.0.0.1.

Чтобы исправить, вы можете квалифицировать address, включая IP интерфейса, к которому вы хотите привязать. Например:

java -agentlib:jdwp=transport=dt_socket,server=y,address=192.168.0.5:8000,suspend=n <other arguments>

Ответ 30

не устанавливайте jdk 7.. удалите вашу версию jdk 7 и установите JDK 6 в любые версии с аппадетами.