Condividi tramite


Eseguire il debug di moduli WASM in VS Code

È possibile eseguire il debug dei moduli WASM in locale usando punti di interruzione e il debugger integrato in Visual Studio Code. Questo articolo illustra come configurare e usare il debugger con l'ambiente di sviluppo locale Azure IoT Operations.

Prima di completare i passaggi descritti in questo articolo, configurare l'ambiente di sviluppo locale ed eseguire un'applicazione graph in locale. Per altre informazioni, vedere Creare moduli WASM per i flussi di dati.

Prerequisiti

Eseguire l'esempio Utilizzare il registro degli schemi con i moduli WASM per configurare l'area di lavoro di esempio.

Configurare il debug

  1. Aprire il file operators/filter/src/lib.rs nell'area schema-registry-scenario di lavoro.

  2. Individuare la filter funzione e impostare un punto di interruzione facendo clic sul margine accanto al numero di riga o premendo F9.

    fn filter(input: DataModel) -> Result<bool, Error> {
        let DataModel::Message(message) = input else {
            return Err(Error {message: "Unexpected input type.".to_string()});
        };
        // ... rest of function
    }
    

Compilazione per il debug

  1. Premere Ctrl+Shift+P per aprire la palette comandi e cercare Azure IoT Operations: Costruisci tutti gli operatori Data Flow.

  2. Selezionare Debug come modalità di compilazione. Attendere il completamento del processo di compilazione.

Esecuzione con debug abilitato

Premere Ctrl+Shift+P per aprire il riquadro comandi e cercare Azure IoT Operations: Avvia ambiente di sviluppo. Selezionare Debug come modalità di esecuzione.

  1. Premere Ctrl+Shift+P e cercare Azure IoT Operations: Esegui Application Graph.

  2. Selezionare il file del lldb-debug.graph.dataflow.yaml grafico.

  3. Selezionare Debug come modalità di esecuzione.

  4. Selezionare la cartella nell'area data di lavoro di VS Code per i dati di input. Il contenitore DevX si avvia per eseguire il grafico con l'input di esempio.

  5. Dopo l'avvio del contenitore DevX, viene visualizzato il contenitore host-app che inizia con un lldb-server per il debug.

Eseguire il debug del modulo WASM

  1. L'esecuzione si arresta automaticamente in corrispondenza del punto di interruzione impostato nella filter funzione .

  2. Usare l'interfaccia di debug di VS Code per:

    • Esaminare i valori delle variabili nel pannello Variabili .
    • Procedere nel codice usando F10 o F11.
    • Visualizzare lo stack di chiamate nel pannello Stack di chiamate .
    • Aggiungere i watch per variabili o espressioni specifiche.
  3. Continuare l'esecuzione premendo F5 o selezionando il pulsante Continua .

  4. Il debugger si arresta in corrispondenza del punto di interruzione per ogni messaggio in fase di elaborazione, consentendo di esaminare il flusso di dati.

Suggerimenti per il debug

  • Usare la console di debug per valutare le espressioni ed esaminare lo stato di runtime.
  • Impostare punti di interruzione condizionali facendo clic con il pulsante destro del mouse su un punto di interruzione e aggiungendo condizioni.
  • Usare F9 per attivare e disattivare i punti di interruzione senza rimuoverli.
  • Il pannello Variabili mostra lo stato corrente delle variabili locali e dei parametri di funzione.

Questa funzionalità di debug consente di risolvere i problemi, comprendere il flusso di dati e convalidare la logica del modulo WASM prima della distribuzione nell'ambiente di produzione.