Удаленная отладка Delphi 2010 - невозможно установить точки останова - PullRequest
10 голосов
/ 16 февраля 2011

Я недавно опубликовал этот вопрос о моей неспособности заставить Delphi 2010 работать с удаленной отладкой.У меня не было никакого успеха, и я решил опубликовать простую пошаговую методику тестирования, которая могла бы подчеркнуть, что я делаю неправильно.Это действительно важно для меня - я пользуюсь Delphi начиная с версии 1.0 и зарабатываю на этом.Застрять так, как будто это боль, и это удерживает меня на Delphi 7.

В любом случае, вот так.

  1. Убедитесь, что в Delphi 2010 есть обновления 4 и 5.

  2. Запустите Delphi 2010, затем Файл |Новый |VCL Forms App.Поместите кнопку в форму, вставьте 'ShowMessage (' привет ') в событие кнопки OnClick.Сохраните проект и его модуль в локальной папке «C: \ scratch».Создайте проект, запустите его, нажмите кнопку, появится «привет», все в порядке.

  3. На сетевом ПК (194.168.1.64) создайте новую папку «c: \ DebugTest»."и поделитесь им с правами доступа R / W.

  4. В 194.168.1.64 установите Remote Debugger из последней загрузки на веб-сайте Embarcadero (RemoteDebugger_upd2.exe).Нажмите rmtdbg140.exe для запуска.Примите сообщение «un-block» от брандмауэра.

  5. Отредактируйте настройки компилятора конфигурации сборки DEBUG с помощью Output directory = \ 192.168.1.64 \ DebugTest и выходного каталога модуля = c: \ scratch- см. Compiler settings

  6. Измените параметры связывания, чтобы установить Отладочную информацию = True, Включить символы удаленной отладки = True.См. Linking settings

  7. Оставьте настройки компиляции по умолчанию.См. Compiling settings

  8. Выполнить полную сборку.Соответствующие exe-проекты "project2.exe" и "project2.rsm" появляются в удаленной папке \ 192.168.1.64 \ DebugTest.Синие точки видны в Unit2 в IDE.

  9. Установить точку останова в строке «ShowMessage» (событие OnClick кнопки).

  10. Использовать «Выполнить» |«Процесс загрузки» с удаленным путем = c: \ DebugTest \ Project2.exe, удаленным хостом = 192.168.1.64 и рабочим каталогом = c: \ DebugTest см. Load Process remote tab

  11. Нажмите «Загрузить»».Видимая точка останова немедленно отключается, проект запускается, открывает окно ЦП и останавливается.Нажатие клавиши f9 приводит к тому, что исполняемый файл полностью запускается на удаленной машине, кнопка работает, вы просто не можете ее отладить.

Я пробовал различные «очевидные» вещи, такие как отключение брандмауэра, но все, чтобыбезрезультатно.Может ли какой-нибудь добрый человек предложить другие идеи?

Большое спасибо.

Ответы [ 4 ]

6 голосов
/ 30 марта 2011

Что ж, для меня проблема теперь решена, хотя как «обходной путь» и после значительного взаимодействия с Embarcadero и обновления до XE (которое также не работало).

Может показаться, что удаленный отладчик нестабилен (или, возможно, просто разборчив) в своей способности загружать файлы rsm (удаленные символы) - они все еще изучают, почему мой не загружается. Мой rsm-файл имеет размер около 50 МБ, хотя для удаленного отладчика Delphi 7 это не проблема.

Чтобы обойти эту проблему, необходимо выполнить обновление до Delphi XE, а затем выбрать параметр ссылки компилятора «Поместить информацию об отладке в отдельный файл TDS». Похоже, это создает файл tds на удаленной цели вместо файла rsm, и точки останова работают нормально.

Я отправил свои rsm и tds файлы в Embarcadero для выяснения причин, по которым это происходит.

5 голосов
/ 16 февраля 2011

Какая ОС Windows? Может быть, запустите rmtdbg140.exe от имени администратора.

Я запускаю удаленную отладку D2010 на XP вместо XP. Мой How-To на http://blog.runbits.com/post/Remote-debugging-Delphi.aspx

0 голосов
/ 20 июля 2017

Обязательно иметь правильный часовой пояс и часы на удаленной системе. В моем случае я настроил удаленную отладку, и при загрузке процесса точки останова стали зелеными. Я проверил часовой пояс и часы удаленной системы, установил их правильно и удаленный перезаписчик снова заработал.

0 голосов
/ 02 сентября 2011

У меня была эта проблема.Установка обновления 4 для Delphi 2010 решила мою проблему.Он также указан в списке исправленных проблем в обновлении 4.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...