Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez déboguer localement des modules WASM à l’aide de points d’arrêt et du débogueur intégré dans Visual Studio Code. Cet article explique comment configurer et utiliser le débogueur avec l’environnement de développement local Azure IoT Operations.
Avant de suivre les étapes décrites dans cet article, configurez votre environnement de développement local et générez et exécutez une application de graphe localement. Pour plus d’informations, consultez Générer des modules WASM pour les flux de données.
Prerequisites
- Visual Studio Code
- extension Azure IoT Operations Data Flow pour VS Code.
- Extension CodeLLDB pour VS Code pour activer le débogage des modules WASM
- Docker
- Images Docker comme indiqué dans la section Créer des modules WASM pour les flux de données
Lancez l'exemple Utiliser le registre de schéma avec des modules WASM pour installer l’espace de travail d'exemple.
Configurer le débogage
Ouvrez le fichier
operators/filter/src/lib.rsdans l’espaceschema-registry-scenariode travail.Recherchez la
filterfonction et définissez un point d’arrêt en cliquant dans la marge en regard du numéro de ligne ou en appuyantF9sur .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 }
Compilation pour le débogage
Appuyez sur
Ctrl+Shift+Ppour ouvrir la palette de commandes et rechercher Azure IoT Operations : Générer tous les opérateurs Data Flow.Sélectionnez déboguer comme mode de compilation. Attendez la fin de la génération.
Exécuter avec débogage activé
Appuyez sur Ctrl+Shift+P pour ouvrir la palette de commandes et rechercher Azure IoT Operations : Démarrer l’environnement de développement. Sélectionnez déboguer comme mode d’exécution.
Appuyez sur
Ctrl+Shift+Pet recherchez Opérations Azure IoT : exécuter Application Graph.Sélectionnez le
lldb-debug.graph.dataflow.yamlfichier de graphique.Sélectionnez déboguer comme mode d’exécution.
Sélectionnez le
datadossier dans votre espace de travail VS Code pour vos données d’entrée. Le conteneur DevX démarre pour exécuter le graphique avec l’exemple d’entrée.Une fois le conteneur DevX lancé, le conteneur hôte d'application démarre avec un
lldb-serverpour le débogage.
Déboguer le module WASM
L’exécution s’arrête automatiquement au point d’arrêt que vous définissez dans la
filterfonction.Utilisez l’interface de débogage VS Code pour :
- Inspectez les valeurs des variables dans le panneau Variables .
- Parcourez le code à l’aide
F10ouF11. - Affichez la pile des appels dans le panneau Pile des appels .
- Ajoutez des surveillances pour des variables ou des expressions spécifiques.
Poursuivez l’exécution en appuyant ou en sélectionnant
F5le bouton Continuer .Le débogueur s’arrête au point d’arrêt de chaque message en cours de traitement, ce qui vous permet d’inspecter le flux de données.
Conseils de débogage
- Utilisez la console Debug pour évaluer les expressions et inspecter l’état d’exécution.
- Définissez des points d’arrêt conditionnels en cliquant avec le bouton droit sur un point d’arrêt et en ajoutant des conditions.
- Utilisez cette option
F9pour activer et désactiver les points d’arrêt sans les supprimer. - Le panneau Variables affiche l’état actuel des variables locales et des paramètres de fonction.
Cette fonctionnalité de débogage vous permet de résoudre les problèmes, de comprendre le flux de données et de valider votre logique de module WASM avant le déploiement en production.
Contenu connexe
- Générer des modules WASM pour les flux de données
- Tester les modules WASM
- Créer des graphiques WASM à états avec le stockage d'états
- Utiliser le Registre de schémas avec des modules WASM
- Comprendre les modules WebAssembly (WASM) et les définitions de graphiques pour les graphiques de flux de données