Rust Debug con Visual Studio Code: Guida Completa

Introduzione

Il debug è una fase fondamentale dello sviluppo software, e Rust non fa eccezione. Riuscire a identificare e risolvere i problemi in modo efficace migliora la qualità del codice e la produttività. In questo articolo vedremo come effettuare il Rust debug utilizzando Visual Studio Code, configurando l’ambiente con gli strumenti ufficiali e integrando il processo nel flusso di lavoro quotidiano. Ti guideremo passo dopo passo nell’installazione degli strumenti necessari, nella configurazione su Windows, Linux e macOS, e nell’utilizzo del debugger per eseguire il codice in modo controllato. Infine, affronteremo i problemi più comuni e forniremo suggerimenti utili per risolverli rapidamente.

Seguiremo questi passaggi:

  1. Installazione degli strumenti necessari
  2. Configurazione di Visual Studio Code per il debug su Windows
  3. Configurazione di Visual Studio Code per il debug su Linux/macOS
  4. Esecuzione e utilizzo del debugger
  5. Risoluzione di eventuali problemi

1. Installazione degli strumenti necessari

Per eseguire il debug di un progetto Rust con Visual Studio Code, dobbiamo installare alcuni strumenti fondamentali.

Requisiti:

  • Rust: Se non lo hai già installato, segui la nostra guida dedicata su come installare Rust per configurarlo correttamente.
  • Rust-analyzer: L’estensione principale per Rust su VS Code:
    • Apri Visual Studio Code
    • Vai alla sezione Extensions (Ctrl+Shift+X / Cmd+Shift+X su macOS)
    • Cerca Rust Analyzer e installala

2. Configurazione di Visual Studio Code per il debug su Windows

Per eseguire il debug su Windows, segui questi passaggi:

  1. Installa l’estensione C/C++ di Microsoft:
    • Apri Visual Studio Code
    • Vai alla sezione Extensions (Ctrl+Shift+X / Cmd+Shift+X su macOS)
    • Cerca C/C++ e seleziona l’estensione di Microsoft
    • Clicca su Installa
  1. Installa Microsoft Visual C++ (MSVC) se non lo hai già, tramite Visual Studio Build Tools disponibile su Visual Studio.
  2. Crea una cartella .vscode nella root del progetto se non esiste:
   mkdir -p .vscode
  1. All’interno di .vscode, crea un file launch.json con la seguente configurazione:
   {
       "version": "0.2.0",
       "configurations": [
           {
               "name": "Debug Rust",
               "type": "cppvsdbg",
               "request": "launch",
               "program": "${workspaceFolder}/target/debug/hello_rust.exe",
               "args": [],
               "cwd": "${workspaceFolder}",
               "preLaunchTask": "cargo build",
               "stopAtEntry": false,
               "externalConsole": false
           }
       ]
   }
  • Nota: Il campo program deve contenere il percorso dell’eseguibile Rust generato dopo la compilazione. Per assicurarti che sia corretto:
    1. Compila il progetto con cargo build
    2. Controlla nella cartella target/debug/ il nome del file eseguibile generato
    3. Modifica program in launch.json con il nome corretto dell’eseguibile

3. Configurazione di Visual Studio Code per il debug su Linux/macOS

Per eseguire il debug su Linux/macOS, segui questi passaggi:

  1. Installa l’estensione CodeLLDB di Vadimcn:
    • Apri Visual Studio Code
    • Vai alla sezione Extensions (Ctrl+Shift+X / Cmd+Shift+X su macOS)
    • Cerca CodeLLDB e seleziona l’estensione di Vadimcn
    • Clicca su Installa
  1. Installa LLDB se non è già presente:
    • Linux (Ubuntu/Debian):
      sudo apt install lldb
    • macOS:
      xcode-select --install
  1. Crea una cartella .vscode nella root del progetto se non esiste:
   mkdir -p .vscode
  1. All’interno di .vscode, crea un file launch.json con la seguente configurazione:
   {
       "version": "0.2.0",
       "configurations": [
           {
               "name": "Debug Rust",
               "type": "lldb",
               "request": "launch",
               "program": "${workspaceFolder}/target/debug/hello_rust",
               "args": [],
               "cwd": "${workspaceFolder}",
               "preLaunchTask": "cargo build",
               "stopAtEntry": false
           }
       ]
   }
  • Nota: Assicurati che il valore di program sia corretto e punti all’eseguibile Rust generato in target/debug/

4. Creazione del file tasks.json

Per eseguire la build automatica prima di avviare il debug, crea il file .vscode/tasks.json con il seguente contenuto:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "cargo build",
            "type": "shell",
            "command": "cargo",
            "args": ["build"],
            "group": { "kind": "build", "isDefault": true }
        }
    ]
}

5. Avviare il debug

Dopo aver configurato tutto, puoi avviare il debug con questi passaggi:

  1. In Visual Studio Code apri la vista Esegui e Debug (Ctrl+Shift+D / Cmd+Shift+D su macOS)
  2. Seleziona Debug Rust dal menu a tendina in alto a sinistra
  3. Premi F5 per avviare il debugger

6. Risoluzione di eventuali problemi

Se incontri problemi, ecco alcune soluzioni comuni:

  • Debugger non si avvia? Assicurati che il percorso del file eseguibile in launch.json sia corretto.
  • Breakpoint ignorati? Assicurati di aver compilato il progetto in modalità debug con cargo build senza il flag --release.
  • Errore ‘Configured debug type cppvsdbg is not supported’? Installa l’estensione C/C++ di Microsoft da Visual Studio Code Marketplace.
  • Errore ‘CodeLLDB non trovato’? Assicurati di aver installato l’estensione CodeLLDB su Linux/macOS.

Conclusione

In questo articolo abbiamo visto come configurare il debug per un progetto Rust in Visual Studio Code su Windows e Linux/macOS. Ora puoi impostare breakpoints, ispezionare variabili e controllare il flusso di esecuzione per individuare e correggere bug in modo efficace.

Risorse aggiuntive

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Torna in alto