Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È 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
- Visual Studio Code
- Estensione Azure IoT Operations Data Flow per VS Code.
- Estensione CodeLLDB per VS Code per abilitare il debug dei moduli WASM
- Docker
- Immagini Docker come descritto in Compilare moduli WASM per i flussi di dati
Eseguire l'esempio Utilizzare il registro degli schemi con i moduli WASM per configurare l'area di lavoro di esempio.
Configurare il debug
Aprire il file
operators/filter/src/lib.rsnell'areaschema-registry-scenariodi lavoro.Individuare la
filterfunzione e impostare un punto di interruzione facendo clic sul margine accanto al numero di riga o premendoF9.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
Premere
Ctrl+Shift+Pper aprire la palette comandi e cercare Azure IoT Operations: Costruisci tutti gli operatori Data Flow.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.
Premere
Ctrl+Shift+Pe cercare Azure IoT Operations: Esegui Application Graph.Selezionare il file del
lldb-debug.graph.dataflow.yamlgrafico.Selezionare Debug come modalità di esecuzione.
Selezionare la cartella nell'area
datadi lavoro di VS Code per i dati di input. Il contenitore DevX si avvia per eseguire il grafico con l'input di esempio.Dopo l'avvio del contenitore DevX, viene visualizzato il contenitore host-app che inizia con un
lldb-serverper il debug.
Eseguire il debug del modulo WASM
L'esecuzione si arresta automaticamente in corrispondenza del punto di interruzione impostato nella
filterfunzione .Usare l'interfaccia di debug di VS Code per:
- Esaminare i valori delle variabili nel pannello Variabili .
- Procedere nel codice usando
F10oF11. - Visualizzare lo stack di chiamate nel pannello Stack di chiamate .
- Aggiungere i watch per variabili o espressioni specifiche.
Continuare l'esecuzione premendo
F5o selezionando il pulsante Continua .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
F9per 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.