Sdílet prostřednictvím


Debugger2 – rozhraní

Debugger2 Použit objekt interrogate a manipulovat s nimi stavu ladicí program a program laděné. Debugger2 Nahrazuje objektu Debugger objektu.

Obor názvů:  EnvDTE80
Sestavení:  EnvDTE80 (v EnvDTE80.dll)

Syntaxe

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

Typ Debugger2 zveřejňuje následující členy.

Vlastnosti

  Název Popis
Veřejná vlastnost AllBreakpointsLastHit (Zděděno z Debugger.)
Veřejná vlastnost AllBreakpointsLastHit Získá kolekce zarážek vazby, které byly naposledy současně přístupů.
Veřejná vlastnost BreakpointLastHit (Zděděno z Debugger.)
Veřejná vlastnost BreakpointLastHit Získá poslední zarážky přístupů.
Veřejná vlastnost Breakpoints (Zděděno z Debugger.)
Veřejná vlastnost Breakpoints Získá kolekce zarážek.
Veřejná vlastnost CurrentMode (Zděděno z Debugger.)
Veřejná vlastnost CurrentMode Načte aktuální režim ladění v rámci IDE.
Veřejná vlastnost CurrentProcess (Zděděno z Debugger.)
Veřejná vlastnost CurrentProcess Získá nebo nastaví aktivní proces.
Veřejná vlastnost CurrentProgram (Zděděno z Debugger.)
Veřejná vlastnost CurrentProgram Nastaví nebo vrátí aktivní aplikaci.
Veřejná vlastnost CurrentStackFrame (Zděděno z Debugger.)
Veřejná vlastnost CurrentStackFrame Získá nebo nastaví aktuální snímek zásobníku.
Veřejná vlastnost CurrentThread (Zděděno z Debugger.)
Veřejná vlastnost CurrentThread Získá nebo nastaví aktuální podproces laděné.
Veřejná vlastnost DebuggedProcesses (Zděděno z Debugger.)
Veřejná vlastnost DebuggedProcesses Získá seznam procesů právě laděn.
Veřejná vlastnost DTE (Zděděno z Debugger.)
Veřejná vlastnost DTE Načtení objektu nejvyšší úrovně rozšiřitelnosti.
Veřejná vlastnost HexDisplayMode (Zděděno z Debugger.)
Veřejná vlastnost HexDisplayMode Získá nebo nastaví hodnotu označující, zda jsou výrazy v šestnáctkovém nebo desítkovém formátu výstupu.
Veřejná vlastnost HexInputMode (Zděděno z Debugger.)
Veřejná vlastnost HexInputMode Získá nebo nastaví hodnotu označující, zda jsou výrazy vyhodnoceny v šestnáctkovém nebo desítkovém formátu.
Veřejná vlastnost Languages (Zděděno z Debugger.)
Veřejná vlastnost Languages Získá seznam jazyků, které podporuje ladicí program.
Veřejná vlastnost LastBreakReason (Zděděno z Debugger.)
Veřejná vlastnost LastBreakReason Získá poslední důvod programu bylo přerušeno.Pokud program je spuštěn vrátí DBG_REASON_NONE.
Veřejná vlastnost LocalProcesses (Zděděno z Debugger.)
Veřejná vlastnost LocalProcesses Získá seznam procesů aktuálně spuštěné v počítači.
Veřejná vlastnost Parent (Zděděno z Debugger.)
Veřejná vlastnost Parent Získá bezprostřední nadřízený objekt objektu Debugger2 (DTE2).
Veřejná vlastnost Transports Získá sada podporovaných ladění přepravy.

Na začátek

Metody

  Název Popis
Veřejná metoda Break(Boolean) (Zděděno z Debugger.)
Veřejná metoda Break(Boolean) Způsobí, že daný proces přerušit jeho tak, že lze analyzovat aktuální stav.
Veřejná metoda DetachAll() (Zděděno z Debugger.)
Veřejná metoda DetachAll() Odpojí se od všech připojených programů.
Veřejná metoda ExecuteStatement(String, Int32, Boolean) (Zděděno z Debugger.)
Veřejná metoda ExecuteStatement(String, Int32, Boolean) Provede zadaný příkaz.Pokud TreatAsExpression je příznak trueje řetězec interpretován jako výraz a výstup je odeslán okno Příkaz.
Veřejná metoda GetExpression(String, Boolean, Int32) (Zděděno z Debugger.)
Veřejná metoda GetExpression(String, Boolean, Int32) Vyhodnotí výraz na základě aktuálního snímku zásobníku.Pokud výraz lze analyzovat, ale nebudou vyhodnoceny, objekt je vrácena, ale neobsahuje platnou hodnotu.
Veřejná metoda GetExpression2 Vyhodnotí výraz na základě aktuálního snímku zásobníku.Pokud výraz lze analyzovat, ale nebudou vyhodnoceny, objekt je vrácena, ale neobsahuje platnou hodnotu.
Veřejná metoda GetProcesses Umožňuje volajícímu získejte kolekci procesy ze vzdáleného počítače.
Veřejná metoda Go(Boolean) (Zděděno z Debugger.)
Veřejná metoda Go(Boolean) Spustí program spuštění aktuálního příkazu.
Veřejná metoda RunToCursor(Boolean) (Zděděno z Debugger.)
Veřejná metoda RunToCursor(Boolean) Spustí program na aktuální pozici kurzoru zdrojového souboru.
Veřejná metoda SetNextStatement() (Zděděno z Debugger.)
Veřejná metoda SetNextStatement() Nastaví další instrukce mají být provedeny podle umístění kurzoru v aktuální zdrojový soubor.
Veřejná metoda StepInto(Boolean) (Zděděno z Debugger.)
Veřejná metoda StepInto(Boolean) Kroky do další funkce volání, pokud možno.
Veřejná metoda StepOut(Boolean) (Zděděno z Debugger.)
Veřejná metoda StepOut(Boolean) Kroky z aktuální funkce.
Veřejná metoda StepOver(Boolean) (Zděděno z Debugger.)
Veřejná metoda StepOver(Boolean) Kroky přes další volání funkce.
Veřejná metoda Stop(Boolean) (Zděděno z Debugger.)
Veřejná metoda Stop(Boolean) Zastaví ladění a ukončí nebo odpojí od všechny připojené procesy.
Veřejná metoda TerminateAll() (Zděděno z Debugger.)
Veřejná metoda TerminateAll() Ukončí všechny aktuálně spuštěné procesy ladění.
Veřejná metoda WriteMinidump Je-li ladění programu a v režimu přerušení tato funkce vytvoří nepřevedl aktuální relaci ladění.

Na začátek

Poznámky

Ladicí program je k dispozici DTE2 objektu prostřednictvím jeho Debugger Vlastnosti, jak je znázorněno v následujícím příkladu. Jeden objekt debugger je k dispozici pro každou instanci vývojové prostředí.

Příklady

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

Viz také

Odkaz

EnvDTE80 – obor názvů