Tutorial: Depurar um projeto do CMake em um computador Windows remoto
Este tutorial usa o Visual Studio C++ no Windows para criar e criar um projeto do CMake que você pode implantar e depurar em um computador Windows remoto. O tutorial é específico do Windows ARM64, mas as etapas podem ser generalizadas para outras arquiteturas.
No Visual Studio, a experiência de depuração padrão para ARM64 é a depuração remota de um computador WINDOWS ARM64. Defina as configurações de depuração conforme mostrado neste tutorial. Caso contrário, ao tentar depurar um projeto do CMake ARM64, você receberá um erro de que o Visual Studio não consegue localizar o computador remoto.
Neste tutorial, você aprenderá como:
- criar um projeto CMake
- configurar um projeto CMake para compilar para ARM64
- configurar um projeto do CMake para ser executado em um computador remoto do Windows ARM64
- depurar um projeto CMake em execução em um computador remoto do Windows ARM64
Pré-requisitos
No computador host
Para configurar o Visual Studio para desenvolvimento em C++ multiplataforma, instale as ferramentas de build para a arquitetura de destino. Para este tutorial, instale as ferramentas de build do ARM64 executando essas etapas:
- Execute o instalador do Visual Studio. Se você ainda não instalou o Visual Studio, consulte Instalar o Visual Studio
- Na tela inicial Instalador do Visual Studio, escolha Modificar.
- Nas opções na parte superior, escolha Componentes individuais.
- Role para baixo até a seção Compiladores, ferramentas de compilação e runtimes.
- Certifique-se de que os seguintes itens estejam selecionados:
- Ferramentas C++ CMake para Windows
- MSVC v142 – Ferramentas de build C++ ARM64 do VS 2019 (mais recente) É importante que você escolha as ferramentas de build
ARM64
e não as ferramentas de buildARM
(procure por 64) e escolha a versão que acompanhaVS 2019
.
- Selecione Modificar para instalar as ferramentas.
No computador remoto
- Instale as ferramentas remotas no computador remoto. Para este tutorial, instale as ferramentas ARM64 seguindo as instruções em Baixar e instalar as ferramentas remotas.
- Inicie e configure o depurador remoto no computador remoto. Para este tutorial, siga as instruções em configuração do depurador remoto no computador Windows remoto.
Crie um projeto CMake
No computador host Windows:
- Execute o Visual Studio
- No menu principal, selecione Arquivo>Novo>Projeto.
- Selecione Projeto CMake>Próximo
- Dê um nome ao projeto e escolha um local. Em seguida, selecione Criar.
Espere até que o Visual Studio alguns crie o projeto e preencha o Gerenciador de soluções.
Configurar para ARM64
Para direcionar um computador ARM64 Windows, você precisa criar usando ferramentas de build ARM64.
Selecione a opção Configuração no menu suspenso do Visual Studio e selecione Gerenciar configurações.
Adicione uma nova configuração selecionando Adicionar uma nova configuração (o botão verde +).
Na caixa de diálogo CMakeSettings que aparece, selecione arm64-debug e, depois, escolha Selecionar:
Esse comando adiciona uma configuração de depuração nomeada arm64-Debug
ao arquivo CmakeSettings.json
. Esse nome de configuração é um nome exclusivo e amigável que facilita a identificação dessas configurações no menu suspenso Configuração.
O menu suspenso Conjunto de ferramentas está definido como msvc_arm64_x64. Suas configurações devem ter essa aparência:
Observação
No menu suspenso Conjunto de Ferramentas, msvc_arm64 seleciona ferramentas de host de 32 bits para compilar cruzadamente para o ARM64, enquanto msvc_arm64 x64 seleciona ferramentas de host de 64 bits para compilar em ARM64, que é o que você fará neste tutorial. Para obter mais informações sobre os ambientes de conjunto de ferramentas disponíveis, consulte Ambientes predefinidos.
Salve o arquivo CMakeSettings.json
. No menu suspenso de configuração, selecione arm64-debug. (Pode demorar um pouco depois de salvar o arquivo CMakeSettings.json
para que ele apareça na lista):
Adicionar um arquivo de configuração de depuração
Em seguida, adicione informações de configuração que informem ao Visual Studio onde encontrar seu computador remoto, juntamente com outros detalhes de configuração.
Altere o modo de exibição Gerenciador de soluções para a exibição de destinos selecionando o botão Alternar exibições:
Em seguida, no Gerenciador de Soluções, clique duas vezes no Modo de exibição de destinos do CMake para ver o projeto.
Abra a pasta do projeto (neste exemplo, Projeto CMakeProject3) e clique com o botão direito do mouse no executável e selecione Adicionar configuração de depuração:
Esse comando cria um arquivo launch.vs.json
no seu projeto. Abra-o e altere as seguintes entradas para habilitar a depuração remota:
projectTarget
: esse valor será definido para você se você adicionou o arquivo de configuração de depuração da exibição de destinos do Gerenciador de Soluções de acordo com as instruções acima.remoteMachineName
: definido como o endereço IP do computador ARM64 remoto ou o nome do computador.
Para obter mais informações sobre configurações do launch.vs.json
, consulte referência de esquema launch.vs.json
.
Observação
Se você estiver usando a exibição de pasta em vez da exibição de destinos no Gerenciador de soluções, clique com o botão direito do mouse no arquivo CMakeLists.txt
e selecione Adicionar configuração de depuração. Essa experiência difere da adição da configuração de depuração da exibição de destinos das seguintes maneiras:
- Será solicitado que você selecione um depurador (selecione Depuração remota do Windows C/C++).
- O Visual Studio fornecerá menos informações de modelo de configuração no arquivo
launch.vs.json
, portanto, você precisará adicioná-lo por conta própria. Você precisará fornecer as entradasremoteMachineName
eprojectTarget
. Quando você adiciona a configuração do modo de exibição de destinos, só precisa especificarremoteMachineName
. - Para o valor de configuração
projectTarget
, verifique a lista suspensa do item de inicialização para obter o nome exclusivo do seu destino, por exemplo, neste tutorial, ele éCMakeProject3.exe
'.
Inicie o monitor de depurador remoto no computador Windows remoto
Antes de executar seu projeto do CMake, verifique se o depurador remoto do Visual Studio 2019 está em execução no computador Windows remoto. Talvez seja necessário alterar as opções de depurador remoto, dependendo da situação de autenticação.
Por exemplo, no computador remoto, na barra de menus Depurador remoto do Visual Studio, selecione Opções>Ferramentas. Defina o modo de autenticação para corresponder à configuração do ambiente:
Em seguida, no Visual Studio, no computador host, atualize o arquivo launch.vs.json
para que ele seja compatível. Por exemplo, se você escolher Sem autenticação no depurador remoto, atualize o arquivo launch.vs.json
em seu projeto adicionando "authenticationType": "none"
à seção configurations
launch.vs.json
. Caso contrário, o padrão de "authenticationType"
é "windows"
e ele não precisa ser explicitamente declarado. Esse exemplo mostra um arquivo launch.vs.json
configurado para não ter autenticação:
{
"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"
}
]
}
Depurar o aplicativo
No computador host, no Gerenciador de soluções do Visual Studio, abra o arquivo CPP do seu projeto do CMake. Se você ainda estiver no Modo de exibição de destinos do CMake, precisará abrir o nó (executável) para vê-lo.
O arquivo CPP padrão é um aplicativo de console “hello world” simples. Defina um ponto de interrupção em return 0;
Na barra de ferramentas do Visual Studio, use o menu suspenso Item de inicialização para selecionar o nome especificado para "name"
em seu arquivo launch.vs.json
:
Para iniciar a depuração, na barra de ferramentas do Visual Studio, escolha Depurar>Iniciar Depuração (ou pressione F5).
Se não for iniciado, verifique se o seguinte está definido corretamente no arquivo launch.vs.json
:
"remoteMachineName"
deve ser definido como o endereço IP, ou o nome do computador, do computador remoto ARM64 Windows."name"
deve corresponder à seleção na lista suspensa de item de inicialização do Visual Studio."projectTarget"
deve corresponder ao nome do destino do CMake que você deseja depurar."type"
deve ser"remoteWindows"
- Se o tipo de autenticação no depurador remoto estiver definido como Sem autenticação, será preciso definir
"authenticationType": "none"
no arquivolaunch.vs.json
. - Se você estiver usando autenticação do Windows, entre quando solicitado usando uma conta reconhecida pelo computador remoto.
Após a compilação do projeto, o aplicativo deverá aparecer no computador remoto arm64 do Windows:
O Visual Studio no computador host deve ser interrompido no ponto de interrupção para return 0;
.
O que você aprendeu
Neste tutorial, você criou um projeto do CMake, configurou-o para compilar para Windows no ARM64 e depurou-o em um computador remoto ARM64 Windows.
Próximas etapas
Saiba mais sobre como configurar e depurar projetos do CMake no Visual Studio: