Поделиться через


Отладка кода GPU

Отладка кода C, C++, который выполняется в графическом процессоре (GPU).GPU поддержка отладки в Visual Studio включает обнаружение гонки, ему процессы и вложить им, и интеграции в окна отладки.

Поддерживаемые платформы

Отладка поддерживается в Windows 7, Windows 8, Windows Server 2008 R2 и Windows Server 2012.Для отладки на эмуляторе программного обеспечения для Windows 8 или Windows Server 2012.Для отладки на оборудовании, необходимо установить драйверы для видеокарты.Не все продавцы аппаратной реализуют все функции отладчика.См. в документации поставщика для ограничений.

ПримечаниеПримечание

Независимые поставщики оборудования, необходимо поддерживать GPU отладки в Visual Studio необходимо создать библиотеку DLL, которая реализует интерфейс VSD3DDebug и на которую нацелен собственные драйверов.

Настройка отладки GPU

Отладчик не может прерывается и код ЦП и код GPU в одном работе приложения.По умолчанию отладчик прерывать код ЦП.Для отладки кода GPU используйте один из этих шагов 2:

  • В списке Тип отладки на панели инструментов Стандартная выберите Только GPU.

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

Начальная загрузка и вложение приложений

Можно использовать для отладки Visual Studio команд запуска и остановки GPU отладки.Для получения дополнительной информации см. Запуск, приостановка и остановка отладчика Visual Studio, а также навигация по отладчику.Также можно вложить отладчик GPU к запущенному процесс, но только в том случае, если этот процесс выполняется код GPU.Дополнительные сведения см. в разделе Практическое руководство. Присоединение к выполняемому процессу.

Мозаика выполнения текущей до положения курсора и запущен до положения курсора

При отладке на GPU имеется 2 параметров для запуска в позицию курсора.Команды для обоих параметров доступны в контекстном меню редактора кода.

  1. Команда Выполнить до текущей позиции работает приложение до тех пор, пока он не будет достигнута положение курсора и затем разрыва.Это не означает, что текущий поток выполняется в курсор; вместо этого оно означает, что первый поток, достигает точку курсора активирует прерывания.Для получения дополнительной информации см. [NIB] 12/13 Практическое руководство. Выполнение до положения курсора.

  2. Команда Выполнить текущий Tile до курсора работает приложение до тех пор, пока все потоки в текущей мозаике не достигнут курсор и затем разрыва.

Windows отладки

С помощью некоторых окон отладки можно проверить, флажок и потоки GPU замораживания.Дополнительные сведения см. в следующих разделах.

Исключения синхронизации данных

Отладчик может указать несколько условий синхронизации данных во время выполнения.Если условие обнаружен, он переходит в состояние прерывания.Имеется 2 вариант Прервать или Продолжить.С помощью диалогового окна Исключения можно настроить определяет, следует ли отладчику эти условия, а также для условия, он будет прервано.Дополнительные сведения см. в разделе Обработка исключений (отладка).Можно также использовать диалоговое окно Параметры, чтобы определить, что отладчик должен обрабатывать исключения, если данные, он не изменяет значение данных.Дополнительные сведения см. в разделе Страница "Общие", папка "Отладка", диалоговое окно "Параметры".

Устранение неполадок

Hh873126.collapse_all(ru-ru,VS.110).gifОпределение сочетаний клавиш

Точки останова в коде GPU ударены только если код должен выполняться в сочетании клавиш accelerator::direct3d_ref (REF).Если не указать сочетания клавиш в коде, комбинации клавиш ссылочного автоматически выбран в качестве Тип акселератора отладки свойств проекта.Если код явно выделяет сочетания клавиш, сочетание клавиш ссылочного не будет использоваться во время отладки точки останова не будут ударены при условии, что оборудование GPU не будет иметь поддержку отладки.Выход этого можно написать код таким образом, чтобы он использовал сочетание клавиш ссылочного во время отладки.Дополнительные сведения см. в описании свойства проекта и Использование объектов accelerator и accelerator_view и Параметры проекта для конфигурации отладки C++.

Hh873126.collapse_all(ru-ru,VS.110).gifУсловные точки останова

Условные точки останова в коде GPU поддерживаются, но не каждое выражение для вычисления на устройстве.Если выражение не может быть вычислено на устройстве, оно обрабатывается в отладчике.Отладчик может выполнять медленнее устройство.

Hh873126.collapse_all(ru-ru,VS.110).gifОшибка: Проблемы конфигурации отладки с выбранным типом сочетаний клавиш. 

Эта ошибка происходит, когда число несоответствий между параметрами конфигурации проекта и ПК, отладке включен.Для получения дополнительной информации см. Параметры проекта для конфигурации отладки C++.

Hh873126.collapse_all(ru-ru,VS.110).gifОшибка: Драйвер отладки для выбранного типа сочетания клавиш отладки не установлен на механической мишени.

Эта ошибка происходит при отладке на удаленном ПК.Отладчик не удастся определить до времени выполнения устанавливаются ли драйверы на удаленном ПК.Драйверы доступны из видеокарты организаций.

Hh873126.collapse_all(ru-ru,VS.110).gifОшибка: Обнаружение и ожидания восстановления (TDR) необходимо отключить на удаленном сайте.

Возможно для вычислений C C++ AMP превышать интервал времени по умолчанию, настроенный обнаружением ожидания Windows и процессом восстановления (TDR).В этом случае вычисление отменяется и данные утрачиваются.Дополнительные сведения см. в разделе Обработка TDRs в C, C++ AMP.

См. также

Задачи

Пошаговое руководство. Отладка приложения C++ AMP

Ссылки

Параметры проекта для конфигурации отладки C++

Другие ресурсы

Запустите GPU отладки в Visual Studio