Fouten opsporen in WASM-modules in VS Code

U kunt lokaal fouten opsporen in WASM-modules met behulp van onderbrekingspunten en het geïntegreerde foutopsporingsprogramma in Visual Studio Code. In dit artikel wordt beschreven hoe u het foutopsporingsprogramma instelt en gebruikt met de Azure IoT Operations lokale ontwikkelomgeving.

Voordat u de stappen in dit artikel uitvoert, moet u uw lokale ontwikkelomgeving instellen en lokaal een grafiektoepassing bouwen en uitvoeren. Zie voor meer informatie Build WASM-modules voor gegevensstromen.

Vereiste voorwaarden

Voer het Gebruik het schemaregister met WASM-modules voorbeeld uit om de voorbeeldwerkruimte in te stellen.

Debugging instellen

  1. Open het bestand operators/filter/src/lib.rs in de schema-registry-scenario werkruimte.

  2. Zoek de filter functie en stel een onderbrekingspunt in door in de marge naast het regelnummer te klikken of door op te drukken 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
    }
    

Build voor foutopsporing

  1. Druk op Ctrl+Shift+P om het opdrachtenpalet te openen en te zoeken naar Azure IoT Operations: Bouw alle Data Flow operators.

  2. Selecteer debug als de buildmodus. Wacht tot de opbouw is voltooid.

Uitvoeren met foutopsporing ingeschakeld

Druk op Ctrl+Shift+P om het opdrachtenpalet te openen en te zoeken naar Azure IoT Operations: Ontwikkelomgeving starten. Selecteer foutopsporing als de uitvoeringsmodus.

  1. Druk op Ctrl+Shift+P en zoeken naar Azure IoT Operations: Run Application Graph.

  2. Selecteer het lldb-debug.graph.dataflow.yaml grafiekbestand.

  3. Selecteer foutopsporing als de uitvoeringsmodus.

  4. Selecteer de data map in uw VS Code-werkruimte voor uw invoergegevens. De DevX-container wordt gestart om de grafiek uit te voeren met de voorbeeldinvoer.

  5. Nadat de DevX-container is gestart, ziet u dat de host-app-container begint met een lldb-server voor foutopsporing.

Fouten opsporen in de WASM-module

  1. De uitvoering stopt automatisch bij het onderbrekingspunt dat u in de filter functie hebt ingesteld.

  2. Gebruik de interface voor foutopsporing in VS Code om:

    • Inspecteer variabelewaarden in het deelvenster Variabelen .
    • Doorloop code door gebruik te maken van F10 of F11.
    • Bekijk de aanroepstack in het deelvenster Oproepstack .
    • Voeg horloges toe voor specifieke variabelen of expressies.
  3. Druk op F5 of selecteer de knop Doorgaan om door te gaan met de uitvoering.

  4. Het foutopsporingsprogramma stopt op het onderbrekingspunt voor elk bericht dat wordt verwerkt, zodat u de gegevensstroom kunt inspecteren.

Tips voor foutopsporing

  • Gebruik de Console voor foutopsporing om expressies te evalueren en runtimestatus te inspecteren.
  • Stel voorwaardelijke onderbrekingspunten in door met de rechtermuisknop op een onderbrekingspunt te klikken en voorwaarden toe te voegen.
  • Gebruik F9 deze optie om onderbrekingspunten in of uit te schakelen zonder ze te verwijderen.
  • In het deelvenster Variabelen ziet u de huidige status van lokale variabelen en functieparameters.

Met deze foutopsporingsfunctie kunt u problemen oplossen, de gegevensstroom begrijpen en uw WASM-modulelogica valideren voordat u implementeert in productie.