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

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 10 марта 2012

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

Ух ты, эти дпроджи беспорядок.Я привык редактировать вещи, чтобы отсортировать нумерацию версий, которая «идет не так», но я думаю, что время от времени нужна чистая.

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

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

0 голосов
/ 09 июля 2012

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

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

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

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