Как удаленная отладка реализована в целом - PullRequest
2 голосов
/ 17 января 2011

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

Когда я изменяю java-код и перестраиваю класс в jdeveloper на удаленной машине, где я отлаживаю сервер, изменения кода автоматически выбираютсядо сервера.Как это произошло?Отправляет ли инструмент скомпилированный класс Java по сети на сервер?

Может ли кто-нибудь поделиться какими-либо документами / ссылками, объясняющими технические особенности удаленной отладки.

1 Ответ

0 голосов
/ 19 января 2011

Не уверен, если вы спрашиваете об удаленной отладке в целом или о конкретных инструментах, которые вы описываете.

Я не знаю много о Java / jdeveloper, но в целом удаленная отладка работает следующим образом:

  • На целевой машине специальный серверный процесс подключается к исполняемому файлу, который вы хотите отлаживать, так же, как отладчик при локальной работе.Этот сервер не должен знать о символах и исходном коде, просто должен быть запущен исполняемый файл.Используя системные команды, он может попросить его остановить и проверить пространство памяти.
  • На хост-компьютере запускается сам отладчик, а также копия исполняемого файла и его исходного кода.Отладчик связывается с сервером на целевой машине, используя какой-то протокол (TCP / IP или, может быть, последовательный для встроенных устройств), и просит его выполнить шаг, исследует определенные области памяти, о которых он знает, из информации отладки в исполняемом файле, может показатьисходный код, отлаживаемый пользователю и т. д.

Прочтите, например, gdbserver , который, вероятно, является самым популярным сервером удаленной отладки.

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

...