Практическое руководство. Отладка приложения удаленного кластера
Обновлен: Ноябрь 2007
Этот раздел применим к:
Выпуск |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
Standard |
||||
Pro и Team |
Обозначения:
Применяется |
|
Не применяется |
|
Команда или команды скрыты по умолчанию. |
Visual Studio теперь поддерживает отладку на кластерах MPI. Это позволяет отлаживать параллельные программы, работающие на кластере компьютеров, связанных с помощью Message Passing Interface (MPI).
Необходимые условия для MPI–отладки
MPI устанавливается и настраивается на каждом компьютере в кластере. MPI входит в состав Windows Server 2003, Compute Cluster Edition. Доступны и другие реализации MPI.
MPIShim.exe устанавливается на каждом компьютере в кластере. MPIShim входит в состав Visual Studio 2005 и устанавливается с компонентами удаленной отладки для параллельной отладки. MPIShim можно установить в любой каталог, но каталог должен быть один и тот же на каждом компьютере в кластере. Один из возможных путей:
c:\windows\system32\mpishim
Кроме того, он может устанавливаться в каталог, локальный для целевой программы отладки.
Монитор удаленной отладки (msvsmon) должен быть на каждом компьютере в кластере. См. раздел Практическое руководство. Запуск монитора удаленной отладки.
Необходимо настроить узел Visual Studio (компьютер, с которого происходит отладка) с учетной записью, имеющей права, необходимые для отладки компьютеров кластера. (См. раздел Разрешения удаленной отладки).
Чтобы подготовить проект Visual Studio для MPI–отладки
Откройте решение вашего параллельного приложения в Visual Studio.
Щелкните правой кнопкой мыши проект в Обозревателе решений и выберите в контекстном меню пункт Свойства.
В диалоговом окне ПроектСвойства выберите пункт Отладка.
В списке Загружаемый отладчик выберите Отладка кластера MPI.
В поле Команда MPIRun введите адрес MPIRun или MPIExec (запускающие приложение MPI) на компьютере кластера. Пример:
c:\windows\system32\mpiexec.exe
В поле Аргументы MPIRun введите все аргументы, которые требуется передать в MPIRun или MPIExec. Пример:
-np 2
В поле Рабочий каталог MPIRun введите рабочий каталог для MPIRun или MPIExec. Пример:
c:\temp
В поле Команда приложения введите путь к приложению, которое MPI будет выполнять на каждом компьютере кластера (то есть то же приложение, проект которого открыт в Visual Studio). Путь может быть общим (разделяемый ресурс) или локальным — на каждом компьютере в кластере. Локальный путь должен совпадать на каждом компьютере. Пример:
$(TargetPath)
В поле Аргументы приложения введите все аргументы, которые нужно передать в приложение.
В поле Расположение MPIShim введите путь к MPIShim.exe. Пример:
c:\windows\system32\mpishim
Можно оставить для списка Тип отладчика значение авто (по умолчанию) — в этом случае отладчик будет выбирать соответствующий тип отладчика для выполняющегося кода. Кроме того, можно выбрать правильный тип (Машинный код, Управляемый код или Смешанный код) для вашего приложения.
Закройте диалоговое окно ПроектСвойства.
В меню Сервис выберите пункт Параметры.
В диалоговом окне Параметры выберите узел Отладка, категория Общие
Найдите флажок Прерывать все процессы при прерывании одного. Установите или снимите флажок в зависимости от желаемого поведения во время сеанса отладки. (Поскольку это параметр меню "Сервис", этот параметр будет работать для всех проектов, пока не будет изменен) Дополнительные сведения см. в разделе Практическое руководство. Прерывание выполнения.
Нажмите кнопку OK, чтобы закрыть диалоговое окно Параметры.
Чтобы выполнить отладку параллельного приложения
В меню Отладка выберите команду Пуск , чтобы начать отладку.
Если проект правильно настроен, начинается выполнение приложения на всех компьютерах в кластере.
Если в коде установлены точки останова, выполнение прервется на первой встретившейся точке останова.
В меню Отладка выберите пункт Окна и нажмите кнопку Процессы.
Окно Процессы. Можно использовать это окно для установки активного процесса. Для пошагового выполнения только одного активного процесса используйте кнопки пошагового выполнения в верхней части этого окна.
Можно использовать подсказки для получения значений переменных при отладке параллельного приложения. Значения переменных, отображаемые в подсказках, будут основаны на текущем активном процессе в окне Процессы.
См. также
Задачи
Практическое руководство. Использование окна процессов