Déboguer un botDebug a bot

Cet article explique comment déboguer votre bot à l’aide d’un environnement de développement intégré (IDE) tels que Visual Studio ou Visual Studio Code et l’émulateur Bot Framework.This article describes how to debug your bot using an integrated development environment (IDE) such as Visual Studio or Visual Studio Code and the Bot Framework Emulator. Vous pouvez utiliser ces méthodes pour déboguer n’importe quel bot localement, mais cet article utilise un bot C# ou un bot Javascript créé dans le démarrage rapide.While you can use these methods to debug any bot locally, this article uses a C# bot or Javascript bot created in the quickstart.

Notes

Dans cet article, nous utilisons Bot Framework Emulator pour envoyer et recevoir des messages à partir du robot durant le débogage.In this article, we use the Bot Framework Emulator to send and receive messages from the bot during debugging. Si vous recherchez d’autres façons de déboguer votre robot à l’aide de Bot Framework Emulator, veuillez lire l’article Déboguer avec Bot Framework Emulator.If you are looking for other ways to debug your bot using the Bot Framework Emulator, please read the Debug with the Bot Framework Emulator article.

PrérequisPrerequisites

Déboguer un bot JavaScript à l’aide de points d’arrêt dans Visual Studio CodeDebug a JavaScript bot using breakpoints in Visual Studio Code

Dans Visual Studio Code, vous pouvez définir des points d’arrêt et exécuter le bot en mode débogage pour parcourir votre code.In Visual Studio Code, you can set breakpoints and run the bot in debug mode to step through your code. Pour définir des points d’arrêt dans VS Code, procédez comme suit :To set breakpoints in VS Code, do the following:

  1. Lancez VS Code et ouvrez le dossier de votre projet de bot.Launch VS Code and open your bot project folder.
  2. Dans la barre de menus, cliquez sur Déboguer, puis sur Démarrer le débogage.From the menu bar, click Debug and click Start Debugging. Si vous êtes invité à sélectionner un moteur d’exécution pour exécuter votre code, sélectionnez Node.js.If you are prompted to select a runtime engine to run your code, select Node.js. À ce stade, le bot s’exécute localement.At this point, the bot is running locally.
  3. Cliquez sur le fichier .js et définissez les points d’arrêt selon vos besoins.Click the .js file and set breakpoints as necessary. Dans VS Code, vous pouvez définir des points d’arrêt en plaçant votre souris sur la colonne à gauche des numéros de ligne.In VS Code, you can set breakpoints by hovering your mouse over the column to the left of the line numbers. Un petit point rouge s’affiche.A small red dot will appear. Si vous cliquez sur ce point, le point d’arrêt est défini.If you click on the dot, the breakpoint is set. Si vous cliquez à nouveau sur le point, le point d’arrêt est supprimé.If you click the dot again, the breakpoint is removed. Définir un point d’arrêt dans VS CodeSet breakpoint in VS Code
  4. Démarrez Bot Framework Emulator et connectez-vous à votre robot, comme décrit dans l’article Déboguer avec Bot Framework Emulator.Start the Bot Framework Emulator and connect to your bot as described in the Debug with the Bot Framework Emulator article.
  5. À partir de l’émulateur, envoyez un message à votre robot (par exemple, envoyer le message « Salut »).From the emulator, send your bot a message (for example, send the message "Hi"). L’exécution s’arrêtera à la ligne où vous placez le point d’arrêt.Execution will stop at the line where you place the breakpoint. Déboguer dans VS CodeDebug in VS Code

Déboguer un bot C# à l’aide de points d’arrêt dans Visual StudioDebug a C# bot using breakpoints in Visual Studio

Dans Visual Studio (VS), vous pouvez définir des points d’arrêt et exécuter le bot en mode débogage pour parcourir votre code.In Visual Studio (VS), you can set breakpoints and run the bot in debug mode to step through your code. Pour définir des points d’arrêt dans VS, procédez comme suit :To set breakpoints in VS, do the following:

  1. Accédez au dossier de votre bot et ouvrez le fichier .sln.Navigate to your bot folder and open the .sln file. Cela permet d’ouvrir la solution dans Visual Studio.This will open the solution in VS.
  2. Dans la barre de menus, cliquez sur Générer puis sur Générer la solution.From the menu bar, click Build and click Build Solution.
  3. Dans l’Explorateur de solutions, cliquez sur le fichier .cs et définissez les points d’arrêt selon vos besoins.In the Solution Explorer, click the .cs file and set breakpoints as necessary. Ce fichier définit la logique principale de votre bot.This file defines your main bot logic. Dans VS, vous pouvez définir des points d’arrêt en plaçant votre souris sur la colonne à gauche des numéros de ligne.In VS, you can set breakpoints by hovering your mouse over the column to the left of the line numbers. Un petit point rouge s’affiche.A small red dot will appear. Si vous cliquez sur le point, le point d’arrêt est défini.If you click on the dot the breakpoint is set. Si vous cliquez à nouveau sur le point, le point d’arrêt est supprimé.If you click the dot again the breakpoint is removed.
  4. Dans le menu, cliquez sur Déboguer, puis sur Démarrer le débogage.From the menu, click Debug and click Start Debugging. À ce stade, le bot s’exécute localement.At this point, the bot is running locally.

Définir le point d’arrêt dans Visual Studio

  1. Démarrez l’émulateur Bot Framework et connectez-vous à votre bot, comme décrit dans la section ci-dessus.Start the Bot Framework Emulator and connect to your bot as described in the section above.
  2. À partir de l’émulateur, envoyez un message à votre bot (par exemple : le message « Salut »).From the emulator, send your bot a message (e.g.: send the message "Hi"). L’exécution s’arrêtera à la ligne où vous placez le point d’arrêt.Execution will stop at the line where you place the breakpoint. Déboguer dans VSDebug in VS

Déboguer un bot Plan consommation C# FunctionsDebug a Consumption plan C# Functions bot

L’environnement de plan consommation sans serveur C# de Bot Service partage plus d’éléments avec Node.js qu’une application C# standard, car il nécessite un hôte de runtime, comme le moteur du nœud.The Consumption plan serverless C# environment in Bot Service has more in common with Node.js than a typical C# application because it requires a runtime host, much like the Node engine. Dans Azure, le runtime fait partie de l’environnement d’hébergement dans le cloud, mais vous devez répliquer cet environnement localement sur votre bureau.In Azure, the runtime is part of the hosting environment in the cloud, but you must replicate that environment locally on your desktop.

PrérequisPrerequisites

Avant de pouvoir déboguer votre bot C# Plan de consommation, vous devez effectuer ces tâches.Before you can debug your Consumption plan C# bot, you must complete these tasks.

Si vous souhaitez être en mesure de déboguer votre code à l’aide de points d’arrêt dans Visual Studio 2017, vous devez également effectuer ces tâches.If you want to be able to debug your code by using breakpoints in Visual Studio 2017, you must also complete these tasks.

Notes

Visual Studio Code n’est pas pris en charge pour le moment.Visual Studio Code is not currently supported.

Déboguer un bot Plan consommation C# Functions à l’aide de l’émulateurDebug a Consumption plan C# Functions bot using the emulator

La façon la plus simple de déboguer votre bot localement consiste à démarrer le bot puis à vous y connecter à partir de l’émulateur Bot Framework.The simplest way to debug your bot locally is to start the bot and then connect to it from Bot Framework Emulator. Tout d’abord, ouvrez une invite de commandes et accédez au dossier où se trouve le fichier project.json dans votre référentiel.First, open a command prompt and navigate to the folder where the project.json file is located in your repository. Exécutez ensuite la commande dotnet restore pour restaurer les différents packages référencés dans votre bot.Then, run the command dotnet restore to restore the various packages that are referenced in your bot.

Notes

Visual Studio 2017 modifie la façon dont Visual Studio gère les dépendances.Visual Studio 2017 changes how Visual Studio handles dependencies. Bien que Visual Studio 2015 utilise project.json pour gérer les dépendances, Visual Studio 2017 utilise un modèle .csproj lors du chargement dans Visual Studio.While Visual Studio 2015 uses project.json to handle dependencies, Visual Studio 2017 uses a .csproj model when loading in Visual Studio. Si vous utilisez Visual Studio 2017, téléchargez ce fichier .csproj dans le dossier /messages de votre référentiel avant d’exécuter la commande dotnet restore.If you are using Visual Studio 2017, download this .csproj file to the /messages folder in your repository before you run the dotnet restore command.

Invite de commande

Exécutez maintenant debughost.cmd pour charger et démarrer votre bot.Next, run debughost.cmd to load and start your bot.

Invite de commandes run debughost.cmd

À ce stade, le bot s’exécute localement.At this point, the bot is running locally. À partir de la fenêtre de console, copiez le point de terminaison sur lequel debughost est à l’écoute (dans cet exemple, http://localhost:3978).From the console window, copy the endpoint that debughost is listening on (in this example, http://localhost:3978). Ensuite, démarrez l’émulateur Bot Framework et collez le point de terminaison dans la barre d’adresse de l’émulateur.Then, start the Bot Framework Emulator and paste the endpoint into the address bar of the emulator. Pour cet exemple, vous devez également ajouter /api/messages au point de terminaison.For this example, you must also append /api/messages to the endpoint. Puisque vous n’avez pas besoin de sécurité pour le débogage local, vous pouvez laisser vides les champs ID d’application Microsoft et Mot de passe d’application Microsoft.Since you do not need security for local debugging, you can leave the Microsoft App ID and Microsoft App Password fields blank. Cliquez sur CONNECT (Connexion) pour établir une connexion à votre bot à l’aide du point de terminaison spécifié.Click Connect to establish a connection to your bot using the specified endpoint.

Configurer l’émulateur

Une fois que vous avez connecté l’émulateur à votre bot, envoyez un message à votre bot en tapant un texte dans la zone de texte en bas de la fenêtre de l’émulateur (où Tapez votre message... s’affiche dans le coin inférieur gauche).After you have connected the emulator to your bot, send a message to your bot by typing some text into the textbox that is located at the bottom of the emulator window (i.e., where Type your message... appears in the lower-left corner). Dans les panneaux Log et Inspector sur le côté droit de la fenêtre de l’émulateur, vous pouvez visualiser les demandes et les réponses à mesure que des messages sont échangés entre l’émulateur et le bot.By using the Log and Inspector panels on the right side of the emulator window, you can view the requests and responses as messages are exchanged between the emulator and the bot.

tester via l’émulateur

En outre, vous pouvez afficher les détails du journal dans la fenêtre de console.Additionally, you can view log details in the console window.

Fenêtre de console

Ressources supplémentairesAdditional resources

Étapes suivantesNext steps