Sdílet prostřednictvím


Debugger3 – rozhraní

Debugger3slouží k interrogate a manipulovat s nimi stát ladicí program a program právě laděn.Debugger3nahrazuje Debugger2 a Debugger rozhraní.

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

Syntaxe

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

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

Vlastnosti

  Název Popis
Veřejná vlastnost AllBreakpointsLastHit Získá kolekce vázané zarážek, které byly naposledy současně přístupů.
Veřejná vlastnost BreakpointLastHit Získá poslední zarážky přístupů.
Veřejná vlastnost Breakpoints Získá kolekce zarážek.
Veřejná vlastnost CurrentMode Načte aktuální režim ladění v rámci IDE.
Veřejná vlastnost CurrentProcess Získá nebo nastaví aktivní proces.
Veřejná vlastnost CurrentProgram Nastaví nebo vrátí aktivní aplikaci.
Veřejná vlastnost CurrentStackFrame Získá nebo nastaví aktuální snímek zásobníku.
Veřejná vlastnost CurrentThread Získá nebo nastaví aktuální podproces právě laděn.
Veřejná vlastnost DebuggedProcesses Získá seznam procesů, které jsou právě laděn.
Veřejná vlastnost DTE Načtení objektu nejvyšší úrovně rozšiřitelnosti.
Veřejná vlastnost ExceptionGroups Získá nastavení výjimek ladicího programu.Jednotlivé výjimky tato nastavení určují, zda ladicí program poskytuje kód příležitost zpracovat výjimku před konce spuštění ladicího programu.
Veřejná vlastnost ForceContinue Získá nebo nastaví hodnotu, která určuje, zda debugger konce nebo pokračuje po tracepoint nebo zarážka dokončení spuštění makra.Uživatel v dialogovém okně Nastavit výchozí chování při tracepoint nebo zarážka.Tuto vlastnost lze změnit výchozí chování.
Veřejná vlastnost HexDisplayMode Získá nebo nastaví hodnotu, která označuje, zda jsou výrazy výstup v šestnáctkovém nebo desítkovém formátu.
Veřejná vlastnost HexInputMode Získá nebo nastaví hodnotu, která označuje, zda jsou výrazy vyhodnoceny v šestnáctkovém nebo desítkovém formátu.
Veřejná vlastnost Languages Získá seznam jazyků, které podporuje ladicí program.
Veřejná vlastnost LastBreakReason Získá poslední důvod, který program bylo přerušeno.Pokud program je spuštěn vrátí DBG_REASON_NONE.
Veřejná vlastnost LocalProcesses Získá seznam procesů, že právě v tomto počítači spuštěna.
Veřejná vlastnost OnlyLoadSymbolsManually Získá hodnota, která určuje, zda jsou ručně nebo automaticky načíst symboly.Určit uživatele sady Visual Studio tohoto nastavení v Možnosti dialogové okno.Další informace o nastavení této hodnoty aplikace Visual Studio, viz [ZASTARALÉ] Postupy: Určení umístění symbolů a způsobu jejich načítání.
Veřejná vlastnost Parent Bezprostřední nadřízený objekt získává Debugger3 objektu (DTE2).
Veřejná vlastnost SymbolCachePath Načte řetězec, který obsahuje cestu k mezipaměti symboly, symboly stáhnout ze serveru symboly při aplikací Visual Studio.Můžete zadat cestu mezipaměti symboly v Možnosti dialogové okno.Další informace naleznete v tématu [ZASTARALÉ] Postupy: Používání serveru symbolů.
Veřejná vlastnost SymbolPath Načte řetězec, který obsahuje cesty.PDB soubory symbolů, které slouží pro ladění aplikací Visual Studio.Visual Studio uživatel může zadat symboly cesty Možnosti dialogové okno.Další informace naleznete v tématu [ZASTARALÉ] Postupy: Určení umístění symbolů a způsobu jejich načítání.
Veřejná vlastnost SymbolPathState Načte řetězec, který představuje stav všechny cesty symbol pro.PDB soubory symbolů, které slouží pro ladění aplikací Visual Studio.
Veřejná vlastnost Transports Získá kolekce podporované ladění přepravy.

Nahoru

Metody

  Název Popis
Veřejná metoda Break Způsobí, že daný proces tak, aby jeho aktuální stav lze analyzovat pozastavit jeho provádění.
Veřejná metoda DetachAll Odpojí se od všech připojených programů.
Veřejná metoda ExecuteStatement Provede zadaný příkaz.Pokud TreatAsExpression je příznak trueje řetězec interpretován jako výraz a výstup je odeslán Příkazové okno.
Veřejná metoda GetExpression Vyhodnotí výraz na základě aktuální snímek 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í snímek zásobníku.Pokud výraz lze analyzovat, ale nebudou vyhodnoceny, objekt je vrácena, ale neobsahuje platnou hodnotu.Členské funkce je podobná GetExpression , ale s další parametr Boolean, které lze nastavit na hodnotu true označuje, že je výraz vyhodnocen jako prohlášení.
Veřejná metoda GetProcesses
Veřejná metoda Go Spustí provádění programu od aktuální příkaz.
Veřejná metoda RunToCursor Spustí program na aktuální pozici kurzoru zdrojového souboru.
Veřejná metoda SetNextStatement Nastaví další instrukce, které mají být provedeny podle umístění kurzoru v aktuální zdrojový soubor.
Veřejná metoda SetSymbolSettings Nastaví pro různá nastavení.Symboly PDB používá pro ladění a překládky sil všech symbolů Visual Studio.
Veřejná metoda StepInto Kroky do další volání funkce, pokud je to možné.
Veřejná metoda StepOut Kroky z aktuální funkce.
Veřejná metoda StepOver Kroky přes další volání funkce.
Veřejná metoda Stop Zastaví ladění a ukončí nebo odpojí od všechny připojené procesy.
Veřejná metoda TerminateAll Ukončí všechny aktuálně spuštěné procesy ladění.
Veřejná metoda WriteMinidump

Nahoru

Poznámky

Ladicí program je k dispozici DTE2 objektu prostřednictvím jeho Debugger vlastnost, jak ukazuje následující příklad.Jeden objekt debugger je k dispozici pro každou instanci interaktivní vývojové prostředí (IDE).

Příklady

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

Viz také

Referenční dokumentace

EnvDTE90 – obor názvů