Share via


Esercitazione: Eseguire il debug di un progetto CMake in un computer Windows remoto

Questa esercitazione usa Visual Studio C++ in Windows per creare e compilare un progetto CMake che è possibile distribuire ed eseguire il debug in un computer Windows remoto. L'esercitazione è specifica di Windows ARM64, ma i passaggi possono essere generalizzati per altre architetture.

In Visual Studio l'esperienza di debug predefinita per ARM64 è il debug remoto di un computer Windows ARM64. Configurare le impostazioni di debug come illustrato in questa esercitazione. In caso contrario, quando si tenta di eseguire il debug di un progetto CMake ARM64, si riceverà un errore che Visual Studio non riesce a trovare il computer remoto.

Questa esercitazione illustra come:

  • creare un progetto CMake
  • configurare un progetto CMake per la compilazione per ARM64
  • configurare un progetto CMake per l'esecuzione in un computer Windows ARM64 remoto
  • eseguire il debug di un progetto CMake in esecuzione in un computer Windows ARM64 remoto

Prerequisiti

Nel computer host

Per configurare Visual Studio per lo sviluppo C++ multipiattaforma, installare gli strumenti di compilazione per l'architettura di destinazione. Per questa esercitazione, installare gli strumenti di compilazione ARM64 seguendo questa procedura:

  1. Eseguire il programma di installazione di Visual Studio. Se Visual Studio non è ancora stato installato, vedere Installare Visual Studio
  2. Nella schermata iniziale Programma di installazione di Visual Studio scegliere Modifica.
  3. Nelle scelte in alto scegliere Singoli componenti.
  4. Scorrere verso il basso fino alla sezione Compilatori, strumenti di compilazione e runtime .
  5. Assicurarsi che siano selezionate le opzioni seguenti:
    • Strumenti CMake C++ per Windows
    • MSVC v142 - VS 2019 C++ ARM64 build tools (ultima versione) È importante scegliere gli ARM64 strumenti di compilazione e non gli ARM strumenti di compilazione (cercare la versione 64) e che si sceglie la versione corrispondente a VS 2019.
  6. Selezionare Modifica per installare gli strumenti.

Nel computer remoto

  1. Installare gli strumenti remoti nel computer remoto. Per questa esercitazione, installare gli strumenti ARM64 seguendo le istruzioni riportate in Scaricare e installare gli strumenti remoti.
  2. Avviare e configurare il debugger remoto nel computer remoto. Per questa esercitazione, seguire le istruzioni riportate in Configurare il debugger remoto nel computer Windows remoto.

Creare un progetto CMake

Nel computer host Windows:

  1. Eseguire Visual Studio
  2. Nel menu principale selezionare File>Nuovo>Progetto.
  3. Selezionare Il progetto>CMake Avanti
  4. Assegnare un nome al progetto e scegliere un percorso. Selezionare quindi Crea.

Assegnare a Visual Studio alcuni istanti per creare il progetto e popolare il Esplora soluzioni.

Configurare per ARM64

Per specificare come destinazione un computer Windows ARM64, è necessario compilare usando gli strumenti di compilazione ARM64.

Selezionare l'elenco a discesa Configurazione di Visual Studio e selezionare Gestisci configurazioni.

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

Aggiungere una nuova configurazione selezionando Aggiungi una nuova configurazione (il pulsante verde + ).
Nella finestra di dialogo CMake Impostazioni visualizzata selezionare arm64-debug e quindi scegliere Seleziona:

Add arm64-debug configuration.

Questo comando aggiunge una configurazione di debug denominata arm64-Debug al CmakeSettings.json file. Questo nome di configurazione è un nome descrittivo univoco che semplifica l'identificazione di queste impostazioni nell'elenco a discesa Configurazione .

L'elenco a discesa Set di strumenti è impostato su msvc_arm64_x64. Le impostazioni dovrebbero ora avere un aspetto simile al seguente:

CMake settings dialog.

Nota

Nell'elenco a discesa Set di strumenti msvc_arm64 seleziona gli strumenti host a 32 bit per la compilazione incrociata in ARM64, mentre msvc_arm64 x64 seleziona gli strumenti host a 64 bit per la compilazione incrociata in ARM64, operazione che verrà eseguita in questa esercitazione. Per altre informazioni sugli ambienti del set di strumenti disponibili, vedere Ambienti predefiniti.

Salvare il file CMakeSettings.json. Nell'elenco a discesa della configurazione selezionare arm64-debug. L'operazione potrebbe richiedere qualche istante dopo il salvataggio del CMakeSettings.json file perché venga visualizzata nell'elenco:

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

Aggiungere un file di configurazione di debug

Aggiungere quindi informazioni di configurazione che indicano a Visual Studio dove trovare il computer remoto, insieme ad altri dettagli di configurazione.

Modificare la visualizzazione Esplora soluzioni in visualizzazione destinazioni selezionando il pulsante Cambia visualizzazioni:

Solution explorer switch view button.

Quindi, nella Esplora soluzioni fare doppio clic su Visualizzazione destinazioni CMake per visualizzare il progetto.

Aprire la cartella del progetto (in questo esempio, progetto CMakeProject3), quindi fare clic con il pulsante destro del mouse sul file eseguibile e selezionare Aggiungi configurazione di debug:

Select add debug configuration.

Questo comando crea un launch.vs.json file nel progetto. Aprirlo e modificare le voci seguenti per abilitare il debug remoto:

  • projectTarget: questo valore viene impostato se è stato aggiunto il file di configurazione di debug dalla visualizzazione delle destinazioni di Esplora soluzioni in base alle istruzioni precedenti.
  • remoteMachineName: impostato sull'indirizzo IP del computer ARM64 remoto o sul nome del computer.

Per altre informazioni sulle impostazioni, vedere Informazioni launch.vs.json di launch.vs.json riferimento sullo schema.

Nota

Se si usa la visualizzazione cartelle anziché la visualizzazione destinazioni in Esplora soluzioni, fare clic con il pulsante destro del mouse sul CMakeLists.txt file e scegliere Aggiungi configurazione di debug. Questa esperienza è diversa dall'aggiunta della configurazione di debug dalla visualizzazione destinazioni nei modi seguenti:

  • Verrà chiesto di selezionare un debugger (selezionare Debug windows remoto C/C++).
  • Visual Studio fornirà meno informazioni sul modello di configurazione nel launch.vs.json file, quindi sarà necessario aggiungerle manualmente. Sarà necessario specificare le remoteMachineName voci e projectTarget . Quando si aggiunge la configurazione dalla visualizzazione destinazioni, è sufficiente specificare remoteMachineName.
  • Per il valore dell'impostazione projectTarget , controllare l'elenco a discesa dell'elemento di avvio per ottenere il nome univoco della destinazione, ad esempio in questa esercitazione è CMakeProject3.exe".

Avviare il monitoraggio del debugger remoto nel computer Windows remoto

Prima di eseguire il progetto CMake, assicurarsi che il debugger remoto di Visual Studio 2019 sia in esecuzione nel computer Windows remoto. Potrebbe essere necessario modificare le opzioni del debugger remoto a seconda della situazione di autenticazione.

Ad esempio, nel computer remoto, dalla barra dei menu Debugger remoto di Visual Studio selezionare Opzioni strumenti>. Impostare la modalità di autenticazione in modo che corrisponda alla configurazione dell'ambiente:

Remote debugger authentication options.

Quindi, in Visual Studio nel computer host aggiornare il launch.vs.json file in modo che corrisponda. Ad esempio, se si sceglie Nessuna autenticazione nel debugger remoto, aggiornare il launch.vs.json file nel progetto aggiungendo "authenticationType": "none" alla configurations sezione launch.vs.json. In caso contrario, "authenticationType" per impostazione predefinita "windows" non è necessario specificare in modo esplicito e . Questo esempio mostra un launch.vs.json file configurato per nessuna autenticazione:

{
  "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"
    }
  ]
}

Eseguire il debug dell'app

Nel computer host, in Visual Studio Esplora soluzioni aprire il file CPP per il progetto CMake. Se si è ancora nella visualizzazione Destinazioni CMake, è necessario aprire il nodo (eseguibile) per visualizzarlo.

Il file CPP predefinito è una semplice app console hello world. Impostare un punto di interruzione su return 0;.

Sulla barra degli strumenti di Visual Studio usare l'elenco a discesa Elemento di avvio per selezionare il nome specificato per "name" nel launch.vs.json file:

Example startup item dropdown with CMakeProject3.exe selected.

Per avviare il debug, sulla barra degli strumenti di Visual Studio scegliere Avvia debug> (o premere F5).

Se non viene avviato, assicurarsi che nel file siano impostati correttamente launch.vs.json gli elementi seguenti:

  • "remoteMachineName" deve essere impostato sull'indirizzo IP, o sul nome del computer, del computer Windows ARM64 remoto.
  • "name" deve corrispondere alla selezione nell'elenco a discesa dell'elemento di avvio di Visual Studio.
  • "projectTarget" deve corrispondere al nome della destinazione CMake di cui si vuole eseguire il debug.
  • "type" dovrebbe essere "remoteWindows"
  • Se il tipo di autenticazione nel debugger remoto è impostato su Nessuna autenticazione, è necessario impostare "authenticationType": "none" nel launch.vs.json file.
  • Se si usa autenticazione di Windows, accedere quando richiesto usando un account riconosciuto dal computer remoto.

Dopo la compilazione del progetto, l'app dovrebbe essere visualizzata nel computer Windows ARM64 remoto:

Hello CMake console app running on remote Windows ARM64 machine.

Visual Studio nel computer host deve essere arrestato nel punto di interruzione per return 0;.

Che cosa si è appreso

In questa esercitazione è stato creato un progetto CMake, configurato per la compilazione per Windows in ARM64 e ne è stato eseguito il debug in un computer Windows ARM64 remoto.

Passaggi successivi

Altre informazioni sulla configurazione e il debug di progetti CMake in Visual Studio: