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 | |
---|---|---|
AllBreakpointsLastHit | (Zděděno z Debugger.) | |
AllBreakpointsLastHit | Získá kolekce zarážek vazby, které byly naposledy současně přístupů. | |
BreakpointLastHit | (Zděděno z Debugger.) | |
BreakpointLastHit | Získá poslední zarážky přístupů. | |
Breakpoints | (Zděděno z Debugger.) | |
Breakpoints | Získá kolekce zarážek. | |
CurrentMode | (Zděděno z Debugger.) | |
CurrentMode | Načte aktuální režim ladění v rámci IDE. | |
CurrentProcess | (Zděděno z Debugger.) | |
CurrentProcess | Získá nebo nastaví aktivní proces. | |
CurrentProgram | (Zděděno z Debugger.) | |
CurrentProgram | Nastaví nebo vrátí aktivní aplikaci. | |
CurrentStackFrame | (Zděděno z Debugger.) | |
CurrentStackFrame | Získá nebo nastaví aktuální snímek zásobníku. | |
CurrentThread | (Zděděno z Debugger.) | |
CurrentThread | Získá nebo nastaví aktuální podproces laděné. | |
DebuggedProcesses | (Zděděno z Debugger.) | |
DebuggedProcesses | Získá seznam procesů právě laděn. | |
DTE | (Zděděno z Debugger.) | |
DTE | Načtení objektu nejvyšší úrovně rozšiřitelnosti. | |
HexDisplayMode | (Zděděno z Debugger.) | |
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. | |
HexInputMode | (Zděděno z Debugger.) | |
HexInputMode | Získá nebo nastaví hodnotu označující, zda jsou výrazy vyhodnoceny v šestnáctkovém nebo desítkovém formátu. | |
Languages | (Zděděno z Debugger.) | |
Languages | Získá seznam jazyků, které podporuje ladicí program. | |
LastBreakReason | (Zděděno z Debugger.) | |
LastBreakReason | Získá poslední důvod programu bylo přerušeno.Pokud program je spuštěn vrátí DBG_REASON_NONE. | |
LocalProcesses | (Zděděno z Debugger.) | |
LocalProcesses | Získá seznam procesů aktuálně spuštěné v počítači. | |
Parent | (Zděděno z Debugger.) | |
Parent | Získá bezprostřední nadřízený objekt objektu Debugger2 (DTE2). | |
Transports | Získá sada podporovaných ladění přepravy. |
Na začátek
Metody
Název | Popis | |
---|---|---|
Break(Boolean) | (Zděděno z Debugger.) | |
Break(Boolean) | Způsobí, že daný proces přerušit jeho tak, že lze analyzovat aktuální stav. | |
DetachAll() | (Zděděno z Debugger.) | |
DetachAll() | Odpojí se od všech připojených programů. | |
ExecuteStatement(String, Int32, Boolean) | (Zděděno z Debugger.) | |
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. | |
GetExpression(String, Boolean, Int32) | (Zděděno z Debugger.) | |
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. | |
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. | |
GetProcesses | Umožňuje volajícímu získejte kolekci procesy ze vzdáleného počítače. | |
Go(Boolean) | (Zděděno z Debugger.) | |
Go(Boolean) | Spustí program spuštění aktuálního příkazu. | |
RunToCursor(Boolean) | (Zděděno z Debugger.) | |
RunToCursor(Boolean) | Spustí program na aktuální pozici kurzoru zdrojového souboru. | |
SetNextStatement() | (Zděděno z Debugger.) | |
SetNextStatement() | Nastaví další instrukce mají být provedeny podle umístění kurzoru v aktuální zdrojový soubor. | |
StepInto(Boolean) | (Zděděno z Debugger.) | |
StepInto(Boolean) | Kroky do další funkce volání, pokud možno. | |
StepOut(Boolean) | (Zděděno z Debugger.) | |
StepOut(Boolean) | Kroky z aktuální funkce. | |
StepOver(Boolean) | (Zděděno z Debugger.) | |
StepOver(Boolean) | Kroky přes další volání funkce. | |
Stop(Boolean) | (Zděděno z Debugger.) | |
Stop(Boolean) | Zastaví ladění a ukončí nebo odpojí od všechny připojené procesy. | |
TerminateAll() | (Zděděno z Debugger.) | |
TerminateAll() | Ukončí všechny aktuálně spuštěné procesy ladění. | |
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;
}