Udostępnij za pośrednictwem


Interfejs Debugger3

Debugger3Służy do interrogate i manipulować nimi Państwa debugera, a program debugowany.Debugger3zastępuje Debugger2 i Debugger interfejsów.

Przestrzeń nazw:  EnvDTE90
Zestaw:  EnvDTE90 (w EnvDTE90.dll)

Składnia

'Deklaracja
<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 uwidacznia następujące elementy członkowskie.

Właściwości

  Nazwa Opis
Właściwość publiczna AllBreakpointsLastHit Zwraca kolekcję związany punkty przerwania, które ostatnio były jednocześnie trafień.
Właściwość publiczna BreakpointLastHit Pobiera ostatni hit przerwania.
Właściwość publiczna Breakpoints Zwraca kolekcję punkty przerwania.
Właściwość publiczna CurrentMode Pobiera bieżący tryb debugera w kontekście IDE.
Właściwość publiczna CurrentProcess Zwraca lub ustawia aktywny proces.
Właściwość publiczna CurrentProgram Ustawia lub zwraca aktywnego programu.
Właściwość publiczna CurrentStackFrame Zwraca lub ustawia bieżący ramek stosu.
Właściwość publiczna CurrentThread Zwraca lub ustawia bieżący wątek debugowany.
Właściwość publiczna DebuggedProcesses Pobiera listę procesów, które są debugowany.
Właściwość publiczna DTE Pobiera obiekt rozszerzalności najwyższego poziomu.
Właściwość publiczna ExceptionGroups Pobiera ustawienia wyjątek dla debugera.Dla każdego wyjątku ustawienia te określają, czy narzędzie debugger daje kod możliwość obsługi wyjątków przed wykonaniem podziały debugera.
Właściwość publiczna ForceContinue Zwraca lub ustawia wartość, która określa, czy debugera podziały wierszy, czy będzie kontynuowane po tracepoint lub przerwania kończy wykonywanie makra.Zachowanie domyślne jest ustawiony przez użytkownika w oknie dialogowym, gdy tworzone jest tracepoint lub przerwania.Właociwooć tę można zmienić domyślne zachowanie.
Właściwość publiczna HexDisplayMode Zwraca lub ustawia wartość wskazującą, czy wyrażenia są dane wyjściowe w formacie szesnastkowym lub dziesiętnym.
Właściwość publiczna HexInputMode Zwraca lub ustawia wartość wskazującą, czy wyrażenia są oceniane w formacie szesnastkowym lub dziesiętnym.
Właściwość publiczna Languages Pobiera listę języków obsługiwanych przez narzędzie debugger.
Właściwość publiczna LastBreakReason Pobiera ostatni powodem, dla którego program zostało przerwane.Jeśli program jest uruchomiony, to zwraca DBG_REASON_NONE.
Właściwość publiczna LocalProcesses Pobiera listę procesów, że aktualnie uruchomionych na tym komputerze.
Właściwość publiczna OnlyLoadSymbolsManually Pobiera wartość, która określa, czy symbole są ładowane, ręcznie lub automatycznie.Użytkownik programu Visual Studio można określić to ustawienie w Opcje okno dialogowe.Aby uzyskać więcej informacji o tym, jak ustawić tę wartość w ramach programu Visual Studio, zobacz [OBSOLETE] Porady: określanie lokalizacji symboli i zachowania przy ładowaniu.
Właściwość publiczna Parent Zwraca obiekt nadrzędny natychmiastowe z Debugger3 obiektu (DTE2).
Właściwość publiczna SymbolCachePath Zwraca ciąg zawierający ścieżkę do pamięci podręcznej symbole używane przez program Visual Studio, podczas pobierania symboli z serwera symboli.Można określić ścieżki pamięci podręcznej symbole w Opcje okno dialogowe.Aby uzyskać więcej informacji, zobacz [OBSOLETE] Porady: korzystanie z serwera symboli.
Właściwość publiczna SymbolPath Zwraca ciąg zawierający ścieżki do.PDB symbol pliki, które są używane przez program Visual Studio do debugowania.Użytkownik programu Visual Studio można określić ścieżki symboli w Opcje okno dialogowe.Aby uzyskać więcej informacji, zobacz [OBSOLETE] Porady: określanie lokalizacji symboli i zachowania przy ładowaniu.
Właściwość publiczna SymbolPathState Pobiera ciąg, który reprezentuje stan wszystkich ścieżek symbol.PDB symbol pliki, które są używane przez program Visual Studio do debugowania.
Właściwość publiczna Transports Zwraca kolekcję obsługiwanych transporty debugowania.

Początek

Metody

  Nazwa Opis
Metoda publiczna Break Powoduje, że dany proces wstrzymać jego wykonanie, dzięki czemu można analizować jego bieżący stan.
Metoda publiczna DetachAll Odłączenie od wszystkie programy dołączone.
Metoda publiczna ExecuteStatement Wykonuje instrukcję.Jeśli TreatAsExpression jest flaga true, następnie ciąg jest interpretowana jako wyrażenie i dane wyjściowe są wysyłane do Okno polecenia.
Metoda publiczna GetExpression Wynikiem wyrażenia opartego na bieżącej klatce stosu.Jeśli wyrażenie można analizować, ale nie są oceniane, obiekt jest zwracany, ale nie zawiera prawidłowej wartości.
Metoda publiczna GetExpression2 Wynikiem wyrażenia opartego na bieżącej klatce stosu.Jeśli wyrażenie można analizować, ale nie są oceniane, obiekt jest zwracany, ale nie zawiera prawidłowej wartości.Ta funkcja składowa jest podobny do GetExpression , ale z dodatkowych parametrów typu Boolean, które można ustawić na wartość true, aby wskazać, że wyrażenie jest oceniane jako oświadczenie.
Metoda publiczna GetProcesses
Metoda publiczna Go Rozpoczyna wykonywanie programu od bieżącej instrukcji.
Metoda publiczna RunToCursor Uruchamia program z bieżącej pozycji kursora pliku źródłowego.
Metoda publiczna SetNextStatement Ustawia następnej instrukcji, które mają być wykonane na podstawie pozycji kursora w bieżącym pliku źródłowego.
Metoda publiczna SetSymbolSettings Określa różne ustawienia.PDB symbole używane przez program Visual Studio do debugowania i wymusza ponowne załadowanie wszystkich symboli.
Metoda publiczna StepInto Kroki do następnego wywołania funkcji, jeśli jest to możliwe.
Metoda publiczna StepOut Kroki z bieżącą funkcję.
Metoda publiczna StepOver Kroki przez następne wywołanie funkcji.
Metoda publiczna Stop Zatrzymuje debugowania i kończy lub odłączenie od wszystkich procesów dołączonych.
Metoda publiczna TerminateAll Kończy wszystkie aktualnie uruchomionych procesów debugowania.
Metoda publiczna WriteMinidump

Początek

Uwagi

Debuger jest dostępna za pośrednictwem DTE2 obiektu poprzez jego Debugger właściwości, jak pokazano w poniższym przykładzie.Jeden obiekt debugera jest dostępna dla każdego wystąpienia środowiska interaktywne programowania (IDE).

Przykłady

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

Zobacz też

Informacje

Przestrzeń nazw EnvDTE90