Interfaccia Debugger3

Debugger3 viene utilizzato per interrogare e modificare lo stato del debugger e del programma in fase di debug.Debugger3 sostituisce Debugger2 e Debugger interfacce.

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

Sintassi

'Dichiarazione
<GuidAttribute("87DFC8DA-67B4-4954-BB89-6A277A50BAFC")> _
Public Interface Debugger3 _
    Inherits Debugger2
[GuidAttribute("87DFC8DA-67B4-4954-BB89-6A277A50BAFC")]
public interface Debugger3 : Debugger2
[GuidAttribute(L"87DFC8DA-67B4-4954-BB89-6A277A50BAFC")]
public interface class Debugger3 : Debugger2
[<GuidAttribute("87DFC8DA-67B4-4954-BB89-6A277A50BAFC")>]
type Debugger3 =  
    interface
        interface Debugger2
    end
public interface Debugger3 extends Debugger2

Il tipo Debugger3 espone i seguenti membri.

Proprietà

  Nome Descrizione
Proprietà pubblica AllBreakpointsLastHit (Ereditato da Debugger2)
Proprietà pubblica AllBreakpointsLastHit Ottiene una raccolta di punti di interruzione associati contenuti contemporaneamente l'ultima riga eseguita.
Proprietà pubblica BreakpointLastHit (Ereditato da Debugger2)
Proprietà pubblica BreakpointLastHit ottiene l'ultimo passaggio punto di interruzione.
Proprietà pubblica Breakpoints (Ereditato da Debugger2)
Proprietà pubblica Breakpoints Ottiene una raccolta di punti di interruzione.
Proprietà pubblica CurrentMode (Ereditato da Debugger2)
Proprietà pubblica CurrentMode Ottiene la modalità corrente del debugger nel contesto dell'IDE.
Proprietà pubblica CurrentProcess (Ereditato da Debugger2)
Proprietà pubblica CurrentProcess Ottiene o imposta il processo attivo.
Proprietà pubblica CurrentProgram (Ereditato da Debugger2)
Proprietà pubblica CurrentProgram Imposta o restituisce il programma attivo.
Proprietà pubblica CurrentStackFrame (Ereditato da Debugger2)
Proprietà pubblica CurrentStackFrame ottiene o imposta lo stack frame corrente.
Proprietà pubblica CurrentThread (Ereditato da Debugger2)
Proprietà pubblica CurrentThread Ottiene o imposta il thread corrente in fase di debug.
Proprietà pubblica DebuggedProcesses (Ereditato da Debugger2)
Proprietà pubblica DebuggedProcesses Ottiene l'elenco dei processi nel debug.
Proprietà pubblica DTE (Ereditato da Debugger2)
Proprietà pubblica DTE Ottiene l'oggetto estensibilità di primo livello.
Proprietà pubblica ExceptionGroups Ottiene le impostazioni dell'eccezione per il debugger.Per ogni eccezione, queste impostazioni determinano se il debugger fornisce al codice una possibilità di gestire l'eccezione prima che il debugger interrompa l'esecuzione.
Proprietà pubblica ForceContinue Ottiene o imposta un valore che stabilisce se il debugger si interrompe o continua quando un punto di analisi o un punto di interruzione completa per eseguire una macro.Il comportamento predefinito è impostato dall'utente nella finestra di dialogo quando il punto di analisi o il punto di interruzione viene creato.questa proprietà può essere utilizzata per modificare il comportamento predefinito.
Proprietà pubblica HexDisplayMode (Ereditato da Debugger2)
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 Debugger2)
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 Debugger2)
Proprietà pubblica Languages Ottiene un elenco dei linguaggi che il debugger supporta.
Proprietà pubblica LastBreakReason (Ereditato da Debugger2)
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 Debugger2)
Proprietà pubblica LocalProcesses Ottiene l'elenco dei processi attualmente in esecuzione sul computer.
Proprietà pubblica OnlyLoadSymbolsManually Ottiene un valore che determina se i simboli caricati sono manualmente o automaticamente.L'utente di Visual Studio è possibile determinare questa impostazione in opzioni finestra di dialogo.Per ulteriori informazioni su come impostare questo valore all'interno di Visual Studio, vedere Procedura: specificare percorsi di simboli e comportamento di caricamento.
Proprietà pubblica Parent (Ereditato da Debugger2)
Proprietà pubblica Parent Ottiene l'oggetto padre immediato di Debugger3 oggetto (DTE2).
Proprietà pubblica SymbolCachePath Ottiene una stringa contenente il percorso alla cache dei simboli utilizzati da Visual Studio quando si scaricano i simboli da un server di simboli.È possibile specificare il percorso della cache dei simboli in opzioni finestra di dialogo.Per ulteriori informazioni, vedere Procedura: utilizzare un server di simboli.
Proprietà pubblica SymbolPath Ottiene una stringa contenente i percorsi dei file di simboli di .PDB utilizzati da Visual Studio per il debug.L'utente di Visual Studio è possibile specificare i percorsi di simboli in opzioni finestra di dialogo.Per ulteriori informazioni, vedere Procedura: specificare percorsi di simboli e comportamento di caricamento.
Proprietà pubblica SymbolPathState Ottiene una stringa che rappresenta lo stato di tutti i percorsi di simboli per i file di simboli di .PDB utilizzati da Visual Studio per il debug.
Proprietà pubblica Transports (Ereditato da Debugger2)
Proprietà pubblica Transports Ottiene una raccolta di trasporti supportati di debug.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Break(Boolean) (Ereditato da Debugger2)
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 Debugger2)
Metodo pubblico DetachAll() Rimuove da tutti i programmi connessi.
Metodo pubblico ExecuteStatement(String, Int32, Boolean) (Ereditato da Debugger2)
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 Debugger2)
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(String, Boolean, Boolean, Int32) (Ereditato da Debugger2)
Metodo pubblico GetExpression2(String, Boolean, 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.questa funzione membro è simile a GetExpression ma con un parametro booleano aggiuntivo, che può essere impostato su true per indicare che deve essere valutata l'espressione come istruzione.
Metodo pubblico GetProcesses(Transport, String) (Ereditato da Debugger2)
Metodo pubblico GetProcesses(Transport, String)
Metodo pubblico Go(Boolean) (Ereditato da Debugger2)
Metodo pubblico Go(Boolean) Iniziare a eseguire il programma dall'istruzione corrente.
Metodo pubblico RunToCursor(Boolean) (Ereditato da Debugger2)
Metodo pubblico RunToCursor(Boolean) Esegue il programma nella posizione corrente del cursore del file di origine.
Metodo pubblico SetNextStatement() (Ereditato da Debugger2)
Metodo pubblico SetNextStatement() Imposta l'istruzione successiva da eseguire, a seconda della posizione del cursore nel file di origine corrente.
Metodo pubblico SetSymbolSettings È possibile impostare varie impostazioni per i simboli di .PDB utilizzati da Visual Studio per eseguire il debug e forza nuovo caricamento dei simboli.
Metodo pubblico StepInto(Boolean) (Ereditato da Debugger2)
Metodo pubblico StepInto(Boolean) Esegue la chiamata di funzione seguente, se possibile.
Metodo pubblico StepOut(Boolean) (Ereditato da Debugger2)
Metodo pubblico StepOut(Boolean) Esce dalla funzione corrente.
Metodo pubblico StepOver(Boolean) (Ereditato da Debugger2)
Metodo pubblico StepOver(Boolean) Esegue la chiamata di funzione seguente.
Metodo pubblico Stop(Boolean) (Ereditato da Debugger2)
Metodo pubblico Stop(Boolean) Le interruzioni del debug e termina o rimuove da tutti i processi connessi.
Metodo pubblico TerminateAll() (Ereditato da Debugger2)
Metodo pubblico TerminateAll() Terminare tutti correntemente in esecuzione i processi di debug.
Metodo pubblico WriteMinidump(String, dbgMinidumpOption) (Ereditato da Debugger2)
Metodo pubblico WriteMinidump(String, dbgMinidumpOption)

In alto

Note

il debugger è disponibile con DTE2 oggetto con la proprietà Debugger proprietà, come illustrato nell'esempio seguente.Un oggetto del debugger è disponibile per ogni istanza dell'ambiente di sviluppo interattivo (IDE).

Esempi

Imports System
Imports EnvDTE
Imports EnvDTE90
Imports EnvDTE90
Imports System.Diagnostics

Public Module Module1
    'This function returns true if the debugger is actively debugging.
    Function IsDebugging() As Boolean
        Dim debugger As EnvDTE90.Debugger3
        debugger = DTE.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 "dte90.olb" raw_interfaces_only named_guids
using namespace EnvDTE90;
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(&pDebugger3)) && 
            pDebugger3
            != NULL){
                dbgDebugMode mode;
                if (SUCCEEDED(pDebugger3->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 EnvDTE90