Debugger2 – rozhraní
Debugger2 Objektu lze interrogate a manipulovat s nimi stát ladicí program a program právě 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 vázané zarážek, 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 právě laděn. |
![]() |
DebuggedProcesses | (Zděděno z Debugger.) |
![]() |
DebuggedProcesses | Získá seznam procesů, které jsou 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ýstup v šestnáctkovém nebo desítkovém formátu. |
![]() |
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, který program 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ů, které jsou 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á kolekce podporované ladění přepravy. |
Nahoru
Metody
Název | Popis | |
---|---|---|
![]() |
Break(Boolean) | (Zděděno z Debugger.) |
![]() |
Break(Boolean) | Způsobí, že daný proces tak, aby jeho aktuální stav lze analyzovat pozastavit jeho provádění. |
![]() |
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říkazového řádku. |
![]() |
GetExpression(String, Boolean, Int32) | (Zděděno z Debugger.) |
![]() |
GetExpression(String, Boolean, Int32) | 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. |
![]() |
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. |
![]() |
GetProcesses | Umožňuje volajícímu získáte kolekci procesů ze vzdáleného počítače. |
![]() |
Go(Boolean) | (Zděděno z Debugger.) |
![]() |
Go(Boolean) | Spustí provádění programu od aktuální příkaz. |
![]() |
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, které 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ší volání funkce, pokud je to možné. |
![]() |
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í. |
Nahoru
Poznámky
Ladicí program je k dispozici DTE2 objektu prostřednictvím jeho Debugger vlastnost, 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;
}