Отладка приложений


Удаленная отладка - часть 4


Запустив MSVCMON.EXE, убедитесь, что ваш отладочный проект установлен правильно на локальной машине. Введите полный путь и имя двоичного (исполняемого) файла удаленной машины в редактируемое поле Remote Executable Path and File Name на вкладке Debug диалогового окна Project Settings. Когда вы заставляете локальный отладчик выполнять отладку удаленно, он фактически не стартует процесс отладки. Его стартует MSVCMON.EXE, поэтому необходимо сообщить этой программе, где следует искать двоичный файл.

После того как проект установлен и нажата кнопка Go, отладка, в значительной степени, выполняется так же, как обычно. Единственное отличие состоит в том, что локальный отладчик будет иногда подсказывать расположение согласованных DLL (вот почему необходимо разделение всех дисков удаленного компьютера — всегда должна быть возможность найти согласованные двоичные файлы, чтобы при встрече с какой-либо проблемой можно было взглянуть на ее источник). Хотя специальный флажок позволяет отключить согласование DLL, делать это не следует. Проблема состоит в том, что раз вы выключили согласование DLL, не существует никакого способа включить его обратно иначе, как удалив ОРТ-файл проекта. Кроме того, в ОРТ-файле проекта сохраняются пути к удаленно согласованным двоичным файлам, так что если позже вы захотите присоединиться к другой машине для удаленной отладки того же проекта, то единственным способом переустановки положения двоичного файла будет удаление и ОРТ-файла проекта. Имейте в виду, что удаление этого файла приведет к потере всех точек прерывания и компоновок экрана.

Можно комбинировать приложение дистанционного управления, например, pcAnywhere фирмы Symantec, с удаленной отладкой, получая возможность отлаживать свое приложение на машине пользователя. Мне приходилось делать это в корпоративных сетях интранет, но не в Интернете. Конечно, это может привести к некоторым проблемам безопасности, но все же неплохо иметь такое средство в своем арсенале. Вполне возможна ситуация, при которой машины пользователя и разработчика находятся на разных континентах, а проблему надо устранить в один день!

И, наконец, два последних не очень существенных замечания относительно удаленной отладки. Во-первых, закончив удаленную отладку, не забудьте установить в IDE Visual C++ режим локальной отладки. Установка удаленной отладки глобальна для всех проектов, хотя, по моему мнению, это должна быть раздельная установка по проектам. Во-вторых, если речь идет о сетевом приложении или о системе, которая чувствительна к сетевому трафику, то удаленная отладка использует TCP/IP, поэтому отладчик может помешать вам. В любой из этих ситуаций следует предпочесть отладчик WinDBG, который поддерживает удаленную отладку, используя последовательные порты и нуль-модемный кабель.

 




Начало  Назад  Вперед



Книжный магазин