Interface Debugger2
O Debugger2 objeto é usado para interrogar e manipular o estado do depurador e o programa que está sendo depurado.O Debugger2 objeto substitui a Debugger objeto.
Namespace: EnvDTE80
Assembly: EnvDTE80 (em EnvDTE80.dll)
Sintaxe
'Declaração
<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
O tipo Debugger2 expõe os membros a seguir.
Propriedades
Nome | Descrição | |
---|---|---|
AllBreakpointsLastHit | (Herdado de Debugger.) | |
AllBreakpointsLastHit | Obtém uma coleção de pontos de interrupção acoplados que ocorreram por último simultaneamente. | |
BreakpointLastHit | (Herdado de Debugger.) | |
BreakpointLastHit | Obtém a última ocorrência de ponto de interrupção. | |
Breakpoints | (Herdado de Debugger.) | |
Breakpoints | Obtém uma coleção de pontos de interrupção. | |
CurrentMode | (Herdado de Debugger.) | |
CurrentMode | Obtém o modo atual do depurador dentro do contexto do IDE. | |
CurrentProcess | (Herdado de Debugger.) | |
CurrentProcess | Obtém ou define o processo ativo. | |
CurrentProgram | (Herdado de Debugger.) | |
CurrentProgram | Define ou retorna o programa ativo. | |
CurrentStackFrame | (Herdado de Debugger.) | |
CurrentStackFrame | Obtém ou define o quadro de pilha atual. | |
CurrentThread | (Herdado de Debugger.) | |
CurrentThread | Obtém ou define o thread atual está sendo depurado. | |
DebuggedProcesses | (Herdado de Debugger.) | |
DebuggedProcesses | Obtém a lista de processos está atualmente sendo depurado. | |
DTE | (Herdado de Debugger.) | |
DTE | Obtém o objeto de extensibilidade de nível superior. | |
HexDisplayMode | (Herdado de Debugger.) | |
HexDisplayMode | Obtém ou define um valor indicando se as expressões são a saída no formato hexadecimal ou decimal. | |
HexInputMode | (Herdado de Debugger.) | |
HexInputMode | Obtém ou define um valor indicando se as expressões são avaliadas em formato hexadecimal ou decimal. | |
Languages | (Herdado de Debugger.) | |
Languages | Obtém uma lista dos idiomas suportados pelo depurador. | |
LastBreakReason | (Herdado de Debugger.) | |
LastBreakReason | Obtém o último motivo pelo qual um programa foi interrompido.Se o programa é executado ele retorna DBG_REASON_NONE. | |
LocalProcesses | (Herdado de Debugger.) | |
LocalProcesses | Obtém a lista de processos em execução nesta máquina. | |
Parent | (Herdado de Debugger.) | |
Parent | Obtém o objeto pai imediato do objeto Debugger2 (DTE2). | |
Transports | Obtém uma coleção de transportes com suporte de depuração. |
Superior
Métodos
Nome | Descrição | |
---|---|---|
Break(Boolean) | (Herdado de Debugger.) | |
Break(Boolean) | Faz com que o processo determinado pausar sua execução, para que o estado atual pode ser analisado. | |
DetachAll() | (Herdado de Debugger.) | |
DetachAll() | Desconecta-se de todos os programas conectados. | |
ExecuteStatement(String, Int32, Boolean) | (Herdado de Debugger.) | |
ExecuteStatement(String, Int32, Boolean) | Executa a instrução especificada.Se a TreatAsExpression o sinalizador será true, em seguida, a seqüência de caracteres é interpretada como uma expressão e saída é enviada para o Janela de comando. | |
GetExpression(String, Boolean, Int32) | (Herdado de Debugger.) | |
GetExpression(String, Boolean, Int32) | Avalia uma expressão baseada no quadro de pilha atual.Se a expressão pode ser analisada, mas não será avaliada, um objeto é retornado, mas não contém um valor válido. | |
GetExpression2 | Avalia uma expressão baseada no quadro de pilha atual.Se a expressão pode ser analisada, mas não será avaliada, um objeto é retornado, mas não contém um valor válido. | |
GetProcesses | Permite que o chamador obter uma coleção de processos de uma máquina remota. | |
Go(Boolean) | (Herdado de Debugger.) | |
Go(Boolean) | Inicia a execução do programa a partir da instrução atual. | |
RunToCursor(Boolean) | (Herdado de Debugger.) | |
RunToCursor(Boolean) | Executa o programa na posição atual do cursor do arquivo de origem. | |
SetNextStatement() | (Herdado de Debugger.) | |
SetNextStatement() | Define a próxima instrução a ser executada, de acordo com a posição do cursor no arquivo de origem atual. | |
StepInto(Boolean) | (Herdado de Debugger.) | |
StepInto(Boolean) | Etapas para a próxima chamada de função, se possível. | |
StepOut(Boolean) | (Herdado de Debugger.) | |
StepOut(Boolean) | Etapas fora da função atual. | |
StepOver(Boolean) | (Herdado de Debugger.) | |
StepOver(Boolean) | Dirige-se a próxima chamada de função. | |
Stop(Boolean) | (Herdado de Debugger.) | |
Stop(Boolean) | Interrompe a depuração e encerra ou desconecta-se de todos os processos anexados. | |
TerminateAll() | (Herdado de Debugger.) | |
TerminateAll() | Encerra todos os processos em execução no momento de depuração. | |
WriteMinidump | Se um programa de depuração e no modo de interrupção, essa função cria um minidespejo da sessão de depuração. |
Superior
Comentários
O depurador está disponível por meio do DTE2 de objeto por meio de sua Debugger propriedade, conforme mostrado no exemplo a seguir.Um objeto do depurador está disponível para cada instância do ambiente de desenvolvimento.
Exemplos
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;
}