Interfejs Debugger2
Debugger2 Obiekt jest używany do interrogate i manipulować nimi Państwa debugera, a program debugowany.Debugger2 Zastępuje obiektu Debugger obiektu.
Przestrzeń nazw: EnvDTE80
Zestaw: EnvDTE80 (w EnvDTE80.dll)
Składnia
'Deklaracja
<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 uwidacznia następujące elementy członkowskie.
Właściwości
Nazwa | Opis | |
---|---|---|
AllBreakpointsLastHit | (Odziedziczone z Debugger). | |
AllBreakpointsLastHit | Zwraca kolekcję związany punkty przerwania, które ostatnio były jednocześnie trafień. | |
BreakpointLastHit | (Odziedziczone z Debugger). | |
BreakpointLastHit | Pobiera ostatni hit przerwania. | |
Breakpoints | (Odziedziczone z Debugger). | |
Breakpoints | Zwraca kolekcję punkty przerwania. | |
CurrentMode | (Odziedziczone z Debugger). | |
CurrentMode | Pobiera bieżący tryb debugera w kontekście IDE. | |
CurrentProcess | (Odziedziczone z Debugger). | |
CurrentProcess | Zwraca lub ustawia aktywny proces. | |
CurrentProgram | (Odziedziczone z Debugger). | |
CurrentProgram | Ustawia lub zwraca aktywnego programu. | |
CurrentStackFrame | (Odziedziczone z Debugger). | |
CurrentStackFrame | Zwraca lub ustawia bieżący ramek stosu. | |
CurrentThread | (Odziedziczone z Debugger). | |
CurrentThread | Zwraca lub ustawia bieżący wątek debugowany. | |
DebuggedProcesses | (Odziedziczone z Debugger). | |
DebuggedProcesses | Pobiera listę procesów aktualnie debugowany. | |
DTE | (Odziedziczone z Debugger). | |
DTE | Pobiera obiekt rozszerzalności najwyższego poziomu. | |
HexDisplayMode | (Odziedziczone z Debugger). | |
HexDisplayMode | Pobiera lub ustawia wartość określającą, czy wyrażenia są dane wyjściowe w formacie szesnastkowym lub dziesiętnym. | |
HexInputMode | (Odziedziczone z Debugger). | |
HexInputMode | Pobiera lub ustawia wartość określającą, czy wyrażenia są oceniane w formacie szesnastkowym lub dziesiętnym. | |
Languages | (Odziedziczone z Debugger). | |
Languages | Pobiera listę języków obsługiwanych przez narzędzie debugger. | |
LastBreakReason | (Odziedziczone z Debugger). | |
LastBreakReason | Pobiera ostatni powodem, dla którego program zostało przerwane.Jeśli program jest uruchomiony, to zwraca DBG_REASON_NONE. | |
LocalProcesses | (Odziedziczone z Debugger). | |
LocalProcesses | Pobiera listę procesy aktualnie uruchomione na tym komputerze. | |
Parent | (Odziedziczone z Debugger). | |
Parent | Zwraca obiekt nadrzędny natychmiastowego obiektu Debugger2 (DTE2). | |
Transports | Zwraca kolekcję obsługiwanych transporty debugowania. |
Początek
Metody
Nazwa | Opis | |
---|---|---|
Break(Boolean) | (Odziedziczone z Debugger). | |
Break(Boolean) | Powoduje, że dany proces wstrzymać jego wykonanie, dzięki czemu można analizować jego bieżący stan. | |
DetachAll() | (Odziedziczone z Debugger). | |
DetachAll() | Odłączenie od wszystkie programy dołączone. | |
ExecuteStatement(String, Int32, Boolean) | (Odziedziczone z Debugger). | |
ExecuteStatement(String, Int32, Boolean) | 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 poleceń. | |
GetExpression(String, Boolean, Int32) | (Odziedziczone z Debugger). | |
GetExpression(String, Boolean, Int32) | 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. | |
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. | |
GetProcesses | Umożliwia wywołującego uzyskać zbiór procesów z komputera zdalnego. | |
Go(Boolean) | (Odziedziczone z Debugger). | |
Go(Boolean) | Rozpoczyna wykonywanie programu od bieżącej instrukcji. | |
RunToCursor(Boolean) | (Odziedziczone z Debugger). | |
RunToCursor(Boolean) | Uruchamia program z bieżącej pozycji kursora pliku źródłowego. | |
SetNextStatement() | (Odziedziczone z Debugger). | |
SetNextStatement() | Ustawia następnej instrukcji, które mają być wykonane na podstawie pozycji kursora w bieżącym pliku źródłowego. | |
StepInto(Boolean) | (Odziedziczone z Debugger). | |
StepInto(Boolean) | Kroki do następnego wywołania funkcji, jeśli jest to możliwe. | |
StepOut(Boolean) | (Odziedziczone z Debugger). | |
StepOut(Boolean) | Kroki z bieżącą funkcję. | |
StepOver(Boolean) | (Odziedziczone z Debugger). | |
StepOver(Boolean) | Kroki przez następne wywołanie funkcji. | |
Stop(Boolean) | (Odziedziczone z Debugger). | |
Stop(Boolean) | Zatrzymuje debugowania i kończy lub odłączenie od wszystkich procesów dołączonych. | |
TerminateAll() | (Odziedziczone z Debugger). | |
TerminateAll() | Kończy wszystkie aktualnie uruchomionych procesów debugowania. | |
WriteMinidump | Jeśli program debugowania i w trybie przerwania, ta funkcja tworzy minizrzutu bieżącej sesji debugowania. |
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 programistycznego.
Przykłady
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;
}