Debugger2, interface

L'objet Debugger2 est utilisé pour interroger et manipuler l'état du débogueur et le programme en cours de débogage. L'objet Debugger2 remplace l'objet Debugger.

Espace de noms :  EnvDTE80
Assembly :  EnvDTE80 (dans EnvDTE80.dll)

Syntaxe

'Déclaration
<GuidAttribute("8B5E2BFD-4642-4EFE-8AF4-0B2DA9AAA23C")> _
Public Interface Debugger2 _
    Inherits Debugger
[GuidAttribute("8B5E2BFD-4642-4EFE-8AF4-0B2DA9AAA23C")]
public interface Debugger2 : Debugger
[GuidAttribute(L"8B5E2BFD-4642-4EFE-8AF4-0B2DA9AAA23C")]
public interface class Debugger2 : Debugger
[<GuidAttribute("8B5E2BFD-4642-4EFE-8AF4-0B2DA9AAA23C")>]
type Debugger2 =  
    interface
        interface Debugger
    end
public interface Debugger2 extends Debugger

Le type Debugger2 expose les membres suivants.

Propriétés

  Nom Description
Propriété publique AllBreakpointsLastHit (Hérité de Debugger.)
Propriété publique AllBreakpointsLastHit Obtient une collection des derniers points d'arrêt liés ayant fait l'objet d'un accès simultané.
Propriété publique BreakpointLastHit (Hérité de Debugger.)
Propriété publique BreakpointLastHit Obtient le dernier point d'arrêt ayant fait l'objet d'un accès.
Propriété publique Breakpoints (Hérité de Debugger.)
Propriété publique Breakpoints Obtient une collection de points d'arrêt.
Propriété publique CurrentMode (Hérité de Debugger.)
Propriété publique CurrentMode Obtient le mode actuel du débogueur dans le contexte de l'IDE.
Propriété publique CurrentProcess (Hérité de Debugger.)
Propriété publique CurrentProcess Obtient ou définit le processus actif.
Propriété publique CurrentProgram (Hérité de Debugger.)
Propriété publique CurrentProgram Définit ou retourne le programme actif.
Propriété publique CurrentStackFrame (Hérité de Debugger.)
Propriété publique CurrentStackFrame Obtient ou définit le frame de pile actuel.
Propriété publique CurrentThread (Hérité de Debugger.)
Propriété publique CurrentThread Obtient ou définit le thread actuellement en cours de débogage.
Propriété publique DebuggedProcesses (Hérité de Debugger.)
Propriété publique DebuggedProcesses Obtient la liste des processus actuellement en cours de débogage.
Propriété publique DTE (Hérité de Debugger.)
Propriété publique DTE Obtient l'objet d'extensibilité de niveau supérieur.
Propriété publique HexDisplayMode (Hérité de Debugger.)
Propriété publique HexDisplayMode Obtient ou définit une valeur indiquant si les expressions sont sorties au format hexadécimal ou décimal.
Propriété publique HexInputMode (Hérité de Debugger.)
Propriété publique HexInputMode Obtient ou définit une valeur indiquant si les expressions sont évaluées au format hexadécimal ou décimal.
Propriété publique Languages (Hérité de Debugger.)
Propriété publique Languages Obtient la liste des langages pris en charge par le débogueur.
Propriété publique LastBreakReason (Hérité de Debugger.)
Propriété publique LastBreakReason Obtient la dernière raison d'interruption d'un programme.Si le programme est en cours d'exécution, il retourne DBG_REASON_NONE.
Propriété publique LocalProcesses (Hérité de Debugger.)
Propriété publique LocalProcesses Obtient la liste des processus en cours d'exécution sur cet ordinateur.
Propriété publique Parent (Hérité de Debugger.)
Propriété publique Parent Obtient l'objet parent immédiat de l'objet Debugger2 (DTE2).
Propriété publique Transports Obtient une collection de transports de débogage pris en charge.

Début

Méthodes

  Nom Description
Méthode publique Break(Boolean) (Hérité de Debugger.)
Méthode publique Break(Boolean) Entraîne la suspension de l'exécution du processus donné afin que son état actuel puisse être analysé.
Méthode publique DetachAll() (Hérité de Debugger.)
Méthode publique DetachAll() Détache de tous les programmes attachés.
Méthode publique ExecuteStatement(String, Int32, Boolean) (Hérité de Debugger.)
Méthode publique ExecuteStatement(String, Int32, Boolean) Exécute l'instruction spécifiée.Si l'indicateur TreatAsExpression est true, la chaîne est interprétée comme une expression, et la sortie est envoyée à la Commande, fenêtre.
Méthode publique GetExpression(String, Boolean, Int32) (Hérité de Debugger.)
Méthode publique GetExpression(String, Boolean, Int32) Évalue une expression sur la base du frame de pile actuel.Si l'expression peut être analysée mais pas évaluée, un objet est retourné mais ne contient pas de valeur valide.
Méthode publique GetExpression2 Évalue une expression sur la base du frame de pile actuel.Si l'expression peut être analysée mais pas évaluée, un objet est retourné mais ne contient pas de valeur valide.
Méthode publique GetProcesses Permet à l'appelant d'obtenir une collection de processus d'un ordinateur distant.
Méthode publique Go(Boolean) (Hérité de Debugger.)
Méthode publique Go(Boolean) Démarre l'exécution du programme à partir de l'instruction actuelle.
Méthode publique RunToCursor(Boolean) (Hérité de Debugger.)
Méthode publique RunToCursor(Boolean) Exécute le programme jusqu'à la position actuelle du curseur du fichier source.
Méthode publique SetNextStatement() (Hérité de Debugger.)
Méthode publique SetNextStatement() Définit l'instruction suivante à exécuter, en fonction de la position du curseur dans le fichier source actuel.
Méthode publique StepInto(Boolean) (Hérité de Debugger.)
Méthode publique StepInto(Boolean) Effectue un pas à pas détaillé dans l'appel de fonction suivant, si possible.
Méthode publique StepOut(Boolean) (Hérité de Debugger.)
Méthode publique StepOut(Boolean) Sort de la fonction active.
Méthode publique StepOver(Boolean) (Hérité de Debugger.)
Méthode publique StepOver(Boolean) Passe à l'appel de fonction suivant.
Méthode publique Stop(Boolean) (Hérité de Debugger.)
Méthode publique Stop(Boolean) Arrête le débogage et termine ou détache de tous les processus attachés.
Méthode publique TerminateAll() (Hérité de Debugger.)
Méthode publique TerminateAll() Met fin à tous les processus de débogage en cours d'exécution.
Méthode publique WriteMinidump Si vous déboguez un programme et vous trouvez en mode arrêt, cette fonction crée un minidump de la session de débogage en cours.

Début

Notes

Le débogueur est disponible par l'intermédiaire de l'objet DTE2, via sa propriété Debugger, comme illustré dans l'exemple ci-dessous. Un objet débogueur est disponible pour chaque instance de l'environnement de développement.

Exemples

Imports EnvDTE
Imports System.Diagnostics

Public Module Module1
    'This function returns true if the debugger is actively debugging.

    Function IsDebugging() As Boolean
        Dim debugger As EnvDTE80.Debugger2
        debugger = DTE2.Debugger

        If (debugger Is Nothing) Then
            MsgBox("Debugger doesn't exist! Fatal error.")
            IsDebugging = false
        Else
            IsDebugging = (debugger.CurrentMode <> _
            dbgDebugMode.dbgDesignMode)
        End If
    End Function
End Module
// The following C++ program can be run from the command line.
// It detects whether an instance of Visual Studio is currently 
// running,and if so, prints a message stating whether its debugger
// is actively debugging.

#include <stdio.h>
#import "dte.olb" raw_interfaces_only named_guids
using namespace EnvDTE80;
int main(void)
{
    int nRet = 0;
    CoInitialize(NULL);
    IUnknownPtr pUnk;
    GetActiveObject(CLSID_DTE, NULL, &pUnk);
    if (pUnk == NULL) {
        printf ("No instance of Visual Studio is running.\n");
    }
    else {
        _DTEPtr pDTE = pUnk;
        if (pDTE) {
            DebuggerPtr pDebugger;
            if (SUCCEEDED(pDTE->get_Debugger(&pDebugger2)) && 
            pDebugger2
            != NULL){
                dbgDebugMode mode;
                if (SUCCEEDED(pDebugger2->get_CurrentMode(&mode))) {
                    if (mode != dbgDesignMode) {
                        printf("Debugger is active.\n");
                        nRet = 1;
                    }
                    else {
                        printf("Debugger is not active.\n");
                    }
                }
            }
        }
    }
    CoUninitialize();
    return nRet;
}

Voir aussi

Référence

EnvDTE80, espace de noms