Modes de fonctionnement

Il existe trois modes dans lesquels l’IDE peut fonctionner, comme suit :

  • Mode de conception

  • Mode d’exécution

  • Mode arrêt

    La manière dont votre moteur de débogage personnalisé (DE) passe entre ces modes est une décision d’implémentation qui nécessite que vous soyez familier avec les mécanismes de transition. Le DE peut ou non implémenter directement ces modes. Ces modes sont en réalité des modes de package de débogage qui basculent en fonction de l’action de l’utilisateur ou des événements du DE. Par exemple, la transition du mode d’exécution au mode de pause est initiée par un événement d’arrêt du DE. La transition de la pause vers soit le mode d’exécution, soit le mode pas à pas est initiée par l’utilisateur effectuant des opérations telles que Pas à pas ou Exécuter. Pour plus d’informations sur les transitions DE, veuillez consulter la rubrique Contrôle de l’exécution.

Mode Conception

Le mode de conception est l’état de non-exécution du débogage de Visual Studio, pendant lequel vous pouvez définir des fonctionnalités de débogage dans votre application.

Seules quelques fonctionnalités de débogage sont utilisées pendant le mode de conception. Un développeur peut choisir de définir des points d’arrêt ou de créer des expressions de surveillance. Le DE n’est jamais chargé ou appelé lorsque l’IDE est en mode de conception. L’interaction avec le DE se fait uniquement pendant les modes d’exécution et de pause.

Mode d’exécution

Le mode d’exécution se produit lorsque un programme s’exécute dans une session de débogage dans l’IDE. L’application s’exécute jusqu’à sa terminaison, jusqu’à ce qu’un point d’arrêt soit atteint ou jusqu’à ce qu’une exception soit levée. Lorsque l’application s’exécute jusqu’à sa terminaison, le DE passe en mode de conception. Lorsqu’un point d’arrêt est atteint ou qu’une exception est levée, le DE passe en mode de pause.

Mode pause

Le mode pause se produit lorsque l’exécution du programme de débogage est suspendue. Le mode pause offre au développeur un instantané de l’application au moment de la pause et permet au développeur d’analyser l’état de l’application et de modifier la façon dont l’application s’exécutera. Le développeur peut afficher et modifier du code, examiner ou modifier des données, redémarrer l’application, mettre fin à l’exécution ou continuer l’exécution à partir du même point.

Le mode de pause est activé lorsque le DE envoie un événement d’arrêt synchrone. Les événements d’arrêt synchrones, également appelés événements d’arrêt, notifient le gestionnaire de session de débogage (SDM) et l’IDE que l’application en cours de débogage a cessé d’exécuter du code. Les interfaces IDebugBreakpointEvent2 et IDebugExceptionEvent2 sont des exemples d’événements d’arrêt.

Les événements d’arrêt sont poursuivis par un appel à l’une des méthodes suivantes, qui font passer le débogueur du mode de pause au mode d’exécution ou de pas à pas :

Mode pas à pas

Le mode pas à pas se produit lorsque le programme passe à la ligne de code suivante, ou dans, par-dessus ou en dehors d’une fonction. Un pas est exécuté en appelant la méthode Step. Cette méthode nécessite des DWORD qui spécifient les énumérations STEPUNIT et STEPKIND en tant que paramètres d’entrée.

Lorsque le programme passe avec succès à la ligne de code suivante ou dans une fonction, ou qu’il s’exécute jusqu’au curseur ou jusqu’à un point d’arrêt défini, le DE revient automatiquement en mode de pause.

Voir aussi