Interfaccia Debugger2
Debugger2 l'oggetto viene utilizzato per interrogare e modificare lo stato del debugger e del programma in fase di debug.Debugger2 l'oggetto sostituisce Debugger oggetto.
Spazio dei nomi: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Sintassi
'Dichiarazione
<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
Il tipo Debugger2 espone i seguenti membri.
Proprietà
Nome | Descrizione | |
---|---|---|
AllBreakpointsLastHit | (Ereditato da Debugger) | |
AllBreakpointsLastHit | Ottiene una raccolta di punti di interruzione associati contenuti contemporaneamente l'ultima riga eseguita. | |
BreakpointLastHit | (Ereditato da Debugger) | |
BreakpointLastHit | ottiene l'ultimo passaggio punto di interruzione. | |
Breakpoints | (Ereditato da Debugger) | |
Breakpoints | Ottiene una raccolta di punti di interruzione. | |
CurrentMode | (Ereditato da Debugger) | |
CurrentMode | Ottiene la modalità corrente del debugger nel contesto dell'IDE. | |
CurrentProcess | (Ereditato da Debugger) | |
CurrentProcess | Ottiene o imposta il processo attivo. | |
CurrentProgram | (Ereditato da Debugger) | |
CurrentProgram | Imposta o restituisce il programma attivo. | |
CurrentStackFrame | (Ereditato da Debugger) | |
CurrentStackFrame | ottiene o imposta lo stack frame corrente. | |
CurrentThread | (Ereditato da Debugger) | |
CurrentThread | Ottiene o imposta il thread corrente in fase di debug. | |
DebuggedProcesses | (Ereditato da Debugger) | |
DebuggedProcesses | Ottiene l'elenco dei processi attualmente in corso di debug. | |
DTE | (Ereditato da Debugger) | |
DTE | Ottiene l'oggetto estensibilità di primo livello. | |
HexDisplayMode | (Ereditato da Debugger) | |
HexDisplayMode | Ottiene o imposta un valore che indica se le espressioni vengono restituite in o in formato decimale. | |
HexInputMode | (Ereditato da Debugger) | |
HexInputMode | Ottiene o imposta un valore che indica se le espressioni vengono valutate in o in formato decimale. | |
Languages | (Ereditato da Debugger) | |
Languages | Ottiene un elenco dei linguaggi che il debugger supporta. | |
LastBreakReason | (Ereditato da Debugger) | |
LastBreakReason | Ottiene l'ultima motivo per cui un programma è stato interrotto.Se il programma è in esecuzione restituisce DBG_REASON_NONE. | |
LocalProcesses | (Ereditato da Debugger) | |
LocalProcesses | Ottiene l'elenco dei processi attualmente in esecuzione sul computer. | |
Parent | (Ereditato da Debugger) | |
Parent | Ottiene l'oggetto padre immediato di un oggetto Debugger2 (DTE2). | |
Transports | Ottiene una raccolta di trasporti supportati di debug. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
Break(Boolean) | (Ereditato da Debugger) | |
Break(Boolean) | Determina il processo specificato per sospendere la relativa esecuzione in modo da poter analizzare lo stato corrente. | |
DetachAll() | (Ereditato da Debugger) | |
DetachAll() | Rimuove da tutti i programmi connessi. | |
ExecuteStatement(String, Int32, Boolean) | (Ereditato da Debugger) | |
ExecuteStatement(String, Int32, Boolean) | Esegue l'istruzione specificato.se TreatAsExpression il flag è true, la stringa viene interpretata come espressione e l'output viene inviato a Finestra di comando. | |
GetExpression(String, Boolean, Int32) | (Ereditato da Debugger) | |
GetExpression(String, Boolean, Int32) | Valuta un'espressione basata sullo stack frame corrente.Se l'espressione può essere analizzata ma non essere valutata, un oggetto viene restituito ma non contiene un valore valido. | |
GetExpression2 | Valuta un'espressione basata sullo stack frame corrente.Se l'espressione può essere analizzata ma non essere valutata, un oggetto viene restituito ma non contiene un valore valido. | |
GetProcesses | Consente al chiamante di ottenere una raccolta di processi da un computer remoto. | |
Go(Boolean) | (Ereditato da Debugger) | |
Go(Boolean) | Iniziare a eseguire il programma dall'istruzione corrente. | |
RunToCursor(Boolean) | (Ereditato da Debugger) | |
RunToCursor(Boolean) | Esegue il programma nella posizione corrente del cursore del file di origine. | |
SetNextStatement() | (Ereditato da Debugger) | |
SetNextStatement() | Imposta l'istruzione successiva da eseguire, a seconda della posizione del cursore nel file di origine corrente. | |
StepInto(Boolean) | (Ereditato da Debugger) | |
StepInto(Boolean) | Esegue la chiamata di funzione seguente, se possibile. | |
StepOut(Boolean) | (Ereditato da Debugger) | |
StepOut(Boolean) | Esce dalla funzione corrente. | |
StepOver(Boolean) | (Ereditato da Debugger) | |
StepOver(Boolean) | Esegue la chiamata di funzione seguente. | |
Stop(Boolean) | (Ereditato da Debugger) | |
Stop(Boolean) | Le interruzioni del debug e termina o rimuove da tutti i processi connessi. | |
TerminateAll() | (Ereditato da Debugger) | |
TerminateAll() | Terminare tutti correntemente in esecuzione i processi di debug. | |
WriteMinidump | Se eseguire il debug di un programma e in modalità di interruzione, questa funzione crea un minidump della sessione di debug corrente. |
In alto
Note
il debugger è disponibile con DTE2 oggetto tramite il relativo Debugger proprietà, come mostrato nell'esempio seguente.Un oggetto del debugger è disponibile per ogni istanza dell'ambiente di sviluppo.
Esempi
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;
}