Condividi tramite


Interfaccia Debugger2

Debugger2 l'oggetto viene utilizzato per interrogare e modificare lo stato del debugger e del programma in fase di debug.Debugger2 l'oggetto sostituisce Debugger oggetto.

Spazio dei nomi:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Sintassi

'Dichiarazione
<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

Il tipo Debugger2 espone i seguenti membri.

Proprietà

  Nome Descrizione
Proprietà pubblica AllBreakpointsLastHit (Ereditato da Debugger)
Proprietà pubblica AllBreakpointsLastHit Ottiene una raccolta di punti di interruzione associati contenuti contemporaneamente l'ultima riga eseguita.
Proprietà pubblica BreakpointLastHit (Ereditato da Debugger)
Proprietà pubblica BreakpointLastHit ottiene l'ultimo passaggio punto di interruzione.
Proprietà pubblica Breakpoints (Ereditato da Debugger)
Proprietà pubblica Breakpoints Ottiene una raccolta di punti di interruzione.
Proprietà pubblica CurrentMode (Ereditato da Debugger)
Proprietà pubblica CurrentMode Ottiene la modalità corrente del debugger nel contesto dell'IDE.
Proprietà pubblica CurrentProcess (Ereditato da Debugger)
Proprietà pubblica CurrentProcess Ottiene o imposta il processo attivo.
Proprietà pubblica CurrentProgram (Ereditato da Debugger)
Proprietà pubblica CurrentProgram Imposta o restituisce il programma attivo.
Proprietà pubblica CurrentStackFrame (Ereditato da Debugger)
Proprietà pubblica CurrentStackFrame ottiene o imposta lo stack frame corrente.
Proprietà pubblica CurrentThread (Ereditato da Debugger)
Proprietà pubblica CurrentThread Ottiene o imposta il thread corrente in fase di debug.
Proprietà pubblica DebuggedProcesses (Ereditato da Debugger)
Proprietà pubblica DebuggedProcesses Ottiene l'elenco dei processi attualmente in corso di debug.
Proprietà pubblica DTE (Ereditato da Debugger)
Proprietà pubblica DTE Ottiene l'oggetto estensibilità di primo livello.
Proprietà pubblica HexDisplayMode (Ereditato da Debugger)
Proprietà pubblica HexDisplayMode Ottiene o imposta un valore che indica se le espressioni vengono restituite in o in formato decimale.
Proprietà pubblica HexInputMode (Ereditato da Debugger)
Proprietà pubblica HexInputMode Ottiene o imposta un valore che indica se le espressioni vengono valutate in o in formato decimale.
Proprietà pubblica Languages (Ereditato da Debugger)
Proprietà pubblica Languages Ottiene un elenco dei linguaggi che il debugger supporta.
Proprietà pubblica LastBreakReason (Ereditato da Debugger)
Proprietà pubblica LastBreakReason Ottiene l'ultima motivo per cui un programma è stato interrotto.Se il programma è in esecuzione restituisce DBG_REASON_NONE.
Proprietà pubblica LocalProcesses (Ereditato da Debugger)
Proprietà pubblica LocalProcesses Ottiene l'elenco dei processi attualmente in esecuzione sul computer.
Proprietà pubblica Parent (Ereditato da Debugger)
Proprietà pubblica Parent Ottiene l'oggetto padre immediato di un oggetto Debugger2 (DTE2).
Proprietà pubblica Transports Ottiene una raccolta di trasporti supportati di debug.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Break(Boolean) (Ereditato da Debugger)
Metodo pubblico Break(Boolean) Determina il processo specificato per sospendere la relativa esecuzione in modo da poter analizzare lo stato corrente.
Metodo pubblico DetachAll() (Ereditato da Debugger)
Metodo pubblico DetachAll() Rimuove da tutti i programmi connessi.
Metodo pubblico ExecuteStatement(String, Int32, Boolean) (Ereditato da Debugger)
Metodo pubblico ExecuteStatement(String, Int32, Boolean) Esegue l'istruzione specificato.se TreatAsExpression il flag è true, la stringa viene interpretata come espressione e l'output viene inviato a Finestra di comando.
Metodo pubblico GetExpression(String, Boolean, Int32) (Ereditato da Debugger)
Metodo pubblico GetExpression(String, Boolean, Int32) Valuta un'espressione basata sullo stack frame corrente.Se l'espressione può essere analizzata ma non essere valutata, un oggetto viene restituito ma non contiene un valore valido.
Metodo pubblico GetExpression2 Valuta un'espressione basata sullo stack frame corrente.Se l'espressione può essere analizzata ma non essere valutata, un oggetto viene restituito ma non contiene un valore valido.
Metodo pubblico GetProcesses Consente al chiamante di ottenere una raccolta di processi da un computer remoto.
Metodo pubblico Go(Boolean) (Ereditato da Debugger)
Metodo pubblico Go(Boolean) Iniziare a eseguire il programma dall'istruzione corrente.
Metodo pubblico RunToCursor(Boolean) (Ereditato da Debugger)
Metodo pubblico RunToCursor(Boolean) Esegue il programma nella posizione corrente del cursore del file di origine.
Metodo pubblico SetNextStatement() (Ereditato da Debugger)
Metodo pubblico SetNextStatement() Imposta l'istruzione successiva da eseguire, a seconda della posizione del cursore nel file di origine corrente.
Metodo pubblico StepInto(Boolean) (Ereditato da Debugger)
Metodo pubblico StepInto(Boolean) Esegue la chiamata di funzione seguente, se possibile.
Metodo pubblico StepOut(Boolean) (Ereditato da Debugger)
Metodo pubblico StepOut(Boolean) Esce dalla funzione corrente.
Metodo pubblico StepOver(Boolean) (Ereditato da Debugger)
Metodo pubblico StepOver(Boolean) Esegue la chiamata di funzione seguente.
Metodo pubblico Stop(Boolean) (Ereditato da Debugger)
Metodo pubblico Stop(Boolean) Le interruzioni del debug e termina o rimuove da tutti i processi connessi.
Metodo pubblico TerminateAll() (Ereditato da Debugger)
Metodo pubblico TerminateAll() Terminare tutti correntemente in esecuzione i processi di debug.
Metodo pubblico WriteMinidump Se eseguire il debug di un programma e in modalità di interruzione, questa funzione crea un minidump della sessione di debug corrente.

In alto

Note

il debugger è disponibile con DTE2 oggetto tramite il relativo Debugger proprietà, come mostrato nell'esempio seguente.Un oggetto del debugger è disponibile per ogni istanza dell'ambiente di sviluppo.

Esempi

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;
}

Vedere anche

Riferimenti

Spazio dei nomi EnvDTE80