Не удается отладить большую кросс-платформу приложения delphi XE2 с целевой платформой Windows XP SP3

Я выполнил первую настройку "удаленной отладки" с помощью XE2 (обновление 3), где я забрал мое приложение с крупными 650 тыс. Строк (которое компилируется и отлаживается в Win7), и обнаружил, что контрольные точки не попадают в удаленный режим. Небольшой тестовый проект "hello world" отлично работает. Я сделал следующее:

  1. Создал виртуальную машину рабочей станции VMWare и установил Windows XP SP3.
  2. Установлен и запущен paServer на XP.
  3. Создал новый удаленный профиль в Delphi XE2, указывающий на виртуальную машину.
  4. Щелкнув "тестовое соединение", все в порядке.
  5. Щелкните правой кнопкой мыши мою обычную конфигурацию сборки "debug" и назначил ей новый удаленный профиль.
  6. Установите контрольную точку в источнике.
  7. Сделал сборку, а затем запустил. После того, как я увижу "развернуть", я вижу, что EXE и RSM файл копируются в папку на виртуальной машине.
  8. Программа работает на моей виртуальной машине отлично, но как только запуск начинается, точка останова отключается и не попадает в нее.
  9. Если я удаляю удаленный профиль и запускаю программу локально, точка останова работает нормально.

Как я уже сказал, небольшой проект работает нормально. Мой файл RSM составляет около 54 М, а exe - около 26 МБ.

Я пробовал различные комбинации файлов TDS вкл/выкл, включая отладочные системы Y/N, все безрезультатно. Есть ли способ узнать, почему отладка недоступна?

2 ответа

Я не привык отвечать на свой вопрос, но после более тщательного расследования есть некоторые доказательства того, что это может быть связано с тем, что мой проект (и это DPROJ) прошел через почти evey Delphi, поскольку dproj были введены и что-то внутри это влияет на мою способность удаленной отладки. Я заметил, что в простом новом проекте XE2 некоторые элементы, такие как файл TDS, были выделены серым цветом, где в моем проекте они не были. Теперь я вложил в свой массивный проект DPR новый пустой проект XE2, создав тем самым новый DPROJ и lo! он останавливается в точке останова.

Ничего себе эти dproj - беспорядок. Я привык редактировать вещи, чтобы отсортировать нумерацию версий, которая "идет не так", но я думаю, что время от времени требуется чистая.

Я стараюсь не волноваться, потому что раньше я видел удачную отладочную отладочку, но я просто подумал, что опубликую эту информацию.

[ПОСЛЕ БОЛЬШЕ РАБОТЫ] Необходимо, чтобы все ложные файлы *.rsm, *.tds удалялись из локальной выходной папки до того, как диспетчер развертывания копирует файл на удаленный компьютер. Если вы этого не сделаете, удаленная отладка не работает. Чтобы проверить, все ли в порядке, вы видите только один exe файл на целевой машине, то есть ваш проект EXE с внутренней отладкой. Не должно быть никаких других выходных символов Delphi или файлов карт.


Я точно такой же, как Брайан, за исключением удаленного отладки приложения, находится на сервере x64 для Windows 2008, отлаженном с i386 XP SP3, работающим с Delphi XE2. Мои размеры приложений также похожи, с 42 МБ.rsm и 28 МБ.exe. он запускается, но точки останова не активируются и отображаются зеленым цветом, когда приложение запускается удаленно. Также, как и Брайан, у меня нет проблем с точкой останова при создании/удаленной отладке нового тестового x64-приложения, созданного с нуля. И мое не отлаживаемое приложение также прошло через различные обновления Delphi в течение последних 10 лет.

На моем конце удаление.dproj,.dproj.local,.deployproj и перезагрузка.dpr однако не сработало. Как было предложено в похожих потоках, перемещение отладочной информации в отдельный.tds файл не является вариантом, так как это 64-битное приложение.

Я все еще ищу основную причину/решение, но в случае, если у кого-то другая проблема, они не одиноки....

licensed under cc by-sa 3.0 with attribution.