Ошибка 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 или включение его в разрешающий режим решили проблему для меня.
Ответ 17
Я получаю эту ошибку для Weblogic после установки Quicktime и удаления QTJava.zip из метода classpath решает проблему.
https://blogs.oracle.com/adfjdev/entry/java_jre7_lib_ext_qtjava
Ответ 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
-
В консоли консоли откройте команду ant с помощью команды ant all
-
Затем отлаживаем снова, используя команду "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 в любые версии с аппадетами.