Руководство. Отладка проекта CMake на удаленном компьютере Windows

В этом руководстве используется Visual Studio C++ в Windows для создания и построения проекта CMake, который можно развернуть и отладить на удаленном компьютере Windows. Это руководство относится только к Windows ARM64, однако описываемые в нем действия можно обобщить для других архитектур.

Процесс отладки по умолчанию для ARM64 в Visual Studio — это удаленная отладка компьютера Windows ARM64. Настройте параметры отладки, как показано в этом руководстве. В противном случае, когда вы попытаетесь отладить проект ARM64 CMake, вы получите сообщение об ошибке, где будет указано, что Visual Studio не может найти удаленный компьютер.

Из этого руководства вы узнаете, как выполнять следующие задачи:

  • создание проекта CMake;
  • настройка проекта CMake для сборки для ARM64;
  • настройка проекта CMake для запуска на удаленном компьютере Windows ARM64;
  • отладка проекта CMake, выполняющегося на удаленном компьютере Windows ARM64.

Необходимые компоненты

На хост-компьютере

Для настройки Visual Studio для кроссплатформенной разработки C++ следует установить средства сборки для целевой архитектуры. В рамках этого руководства установите средства сборки ARM64, выполнив следующие действия:

  1. Запустите установщик Visual Studio. Установите Visual Studio, если вы еще не сделали этого.
  2. На начальном экране установщика Visual Studio Installer нажмите Изменить.
  3. В верхней части выберите Отдельные компоненты.
  4. Прокрутите вниз до раздела Компиляторы, средства сборки и среды выполнения.
  5. Убедитесь, что выбрано следующее:
    • Средства C++ CMake для Windows
    • Средства сборки MSVC версии 142 - VS 2019 C++ ARM64 (актуальная версия) Важно выбрать средства сборки ARM64, а не средства сборки ARM (обратите внимание на 64), а также убедиться, что выбрана версия VS 2019.
  6. Выберите Изменить, чтобы установить средства.

На удаленном компьютере

  1. Установите средства на удаленном компьютере. Для работы с этим руководством установите средства ARM64, следуя инструкциям в разделе Скачивание и установка инструментов удаленной отладки.
  2. Запустите и настройте удаленный отладчик на удаленном компьютере. Для работы с этим руководством следуйте указаниям, приведенным в разделе настройки удаленного отладчика на удаленном компьютере Windows.

Создание проекта CMake

На хост-компьютере Windows:

  1. Запустите Visual Studio.
  2. В главном меню выберите Файл>Создать>Проект.
  3. Выберите Проект CMake>Далее.
  4. Присвойте проекту имя и выберите расположение. Затем выберите Создать.

Дайте Visual Studio несколько секунд, чтобы создать проект и заполнить обозреватель решений.

Настройка для ARM64

Чтобы настроить проект для компьютера Windows ARM64, необходимо выполнить сборку с помощью средств сборки ARM64.

В Visual Studio в раскрывающемся меню Конфигурация выберите Управление конфигурациями.

Choose Manage Configurations in the Visual Studio configurations drop-down.

Добавьте новую конфигурацию, нажав кнопку "Добавить новую" (зеленую + кнопку).
В появившемся диалоговом окне CMake Параметры выберите arm64-debug и нажмите кнопку Select:

Add arm64-debug configuration.

Эта команда добавляет конфигурацию отладки с именем arm64-Debug в файл CmakeSettings.json. Это имя конфигурации представляет собой уникальное понятное имя, которое упрощает поиск этих параметров в раскрывающемся списке Конфигурация.

В раскрывающемся списке Набор инструментов выбирается параметр msvc_arm64_x64. Настройки должны выглядеть так:

CMake settings dialog.

Примечание.

При выборе в раскрывающемся списке Набор инструментов параметра msvc_arm64 выбираются 32-разрядные средства узла для перекрестной компиляции в ARM64, а при выборе параметра msvc_arm64 x64 — 64-разрядные средства узла для перекрестной компиляции в ARM64, чем вы и будете заниматься в этом руководстве. Дополнительные сведения о доступных средах набора инструментов см . в предварительно определенных средах.

Сохраните файл CMakeSettings.json. В раскрывающемся списке "Конфигурация" выберите arm64-Debug. (После сохранения файла CMakeSettings.json он может появиться в списке спустя некоторое время):

Ensure that arm64-debug is selected in the Visual Studio configurations drop-down.

Добавление файла конфигурации отладки

Затем добавьте сведения о конфигурации, которые сообщают Visual Studio, где найти удаленный компьютер, а также другие сведения о конфигурации.

Измените представление Обозреватель решений для отображения конечных объектов, выбрав Переключить представления.

Solution explorer switch view button.

Затем в обозревателе решений дважды щелкните Представление целевых объектов CMake, чтобы увидеть проект.

Откройте папку проекта (в этом примере — Проект CMakeProject3), а затем щелкните исполняемый файл правой кнопкой мыши и выберите Добавить конфигурацию отладки.

Select add debug configuration.

Эта команда создает файл launch.vs.json в проекте. Откройте его и измените следующие записи, чтобы включить удаленную отладку:

  • projectTarget: это значение устанавливается в том случае, если вы добавили файл конфигурации отладки из представления целевых объектов в обозревателе решений в соответствии с инструкциями выше.
  • remoteMachineName: укажите IP-адрес удаленного компьютера ARM64 или его имя компьютера.

Дополнительные сведения о настройках launch.vs.json см. в разделе launch.vs.jsonСправочник по схеме.

Примечание.

Если в обозревателе решений вы используете представление папок вместо представления целевых объектов, щелкните правой кнопкой мыши файл CMakeLists.txt и выберите Добавить конфигурацию отладки. Этот процесс отличается от добавления конфигурации отладки из представления целевых объектов следующим:

  • Вам будет предложено выбрать отладчик (выберите Удаленная отладка Windows C/C++).
  • Visual Studio предоставит меньше сведений о шаблоне конфигурации в файле launch.vs.json, поэтому вам потребуется добавить его самостоятельно. Необходимо указать записи remoteMachineName и projectTarget. При добавлении конфигурации из представления целевых объектов необходимо указать только remoteMachineName.
  • Для значения параметра projectTarget проверьте раскрывающийся список элементов автозагрузки, чтобы получить уникальное имя целевого объекта, например, в этом учебнике это CMakeProject3.exe.

Запуск монитора удаленного отладчика на удаленном компьютере Windows

Перед запуском проекта CMake убедитесь, что на удаленном компьютере Windows запущен удаленный отладчик Visual Studio 2019. В зависимости от проверки подлинности может потребоваться изменить параметры удаленного отладчика.

Например, на удаленном компьютере в строке меню удаленного отладчика Visual Studio выберите Сервис>Параметры. Задайте режим проверки подлинности в соответствии с настройками среды.

Remote debugger authentication options.

Затем в Visual Studio на хост-компьютере обновите файл launch.vs.json соответствующим образом. Например, если в удаленном отладчике выбрать Без проверки подлинности, обновить файл launch.vs.json в проекте, добавив "authenticationType": "none" в configurations раздел launch.vs.json. В противном случае "authenticationType" по умолчанию имеет значение "windows" и его не нужно указывать явно. В этом примере показан файл launch.vs.json, настроенный без необходимости проверки подлинности:

{
  "version": "0.2.1",
  "defaults": {},
  "configurations": [
    {
        "type": "remoteWindows",
        "authenticationType": "none"
        "name": "CMakeLists.txt",
        "project": "CMakeLists.txt",
        "projectTarget": "CMakeProject3.exe",
        "remoteMachineName": "<ip address goes here>",
        "cwd": "${debugInfo.defaultWorkingDirectory}",
        "program": "${debugInfo.fullTargetPath}",
        "deploy": [],
        "args": [],
        "env": {}
    },
    {
      "type": "default",
      "project": "CMakeLists.txt",
      "projectTarget": "CMakeProject3.exe",
      "name": "CMakeProject3.exe"
    }
  ]
}

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

На хост-компьютере в обозревателе решений в Visual Studio откройте файл CPP для проекта CMake. Если вы все еще находитесь в представлении целевых объектов CMake, необходимо открыть узел (исполняемый файл), чтобы увидеть его.

Файл CPP по умолчанию — это простое консольное приложение Hello World. Задайте точку останова в return 0;.

На панели инструментов Visual Studio используйте раскрывающийся список Элемент автозагрузки, чтобы выбрать имя, указанное для "name" в файле launch.vs.json:

Example startup item dropdown with CMakeProject3.exe selected.

Чтобы начать отладку, на панели инструментов Visual Studio выберите Отладка>Начать отладку (или нажмите клавишу F5).

Если отладка не запускается, убедитесь, что в файле launch.vs.json правильно заданы следующие значения:

  • В качестве значения параметра "remoteMachineName" следует задать IP-адрес удаленного компьютера Windows ARM64 или его имя компьютера.
  • Значение параметра "name" должно соответствовать выбору в раскрывающемся списке элементов автозагрузки Visual Studio.
  • Значение "projectTarget" должно соответствовать имени целевого объекта CMake, который необходимо отладить.
  • "type" должно быть "remoteWindows"
  • Если для типа проверки подлинности в удаленном отладчике установлено значение Без проверки подлинности, в файле launch.vs.json должен быть задан параметр "authenticationType": "none".
  • При использовании проверки подлинности Windows войдите в систему, используя учетную запись, распознанную удаленным компьютером.

После сборки проекта приложение должно отобразиться на удаленном компьютере Windows ARM64:

Hello CMake console app running on remote Windows ARM64 machine.

Visual Studio на хост-компьютере следует остановить в точке останова return 0;.

Полученные навыки

В этом руководстве вы создали проект CMake, настроили его для создания Windows на ARM64 и выполнили его отладку на удаленном компьютере Windows ARM64.

Следующие шаги

Дополнительные сведения о настройке и отладке проектов CMake в Visual Studio: