Partilhar via


Interface Debugger2

O Debugger2 objeto é usado para investigar 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
Propriedade pública AllBreakpointsLastHit (Herdado de Debugger.)
Propriedade pública AllBreakpointsLastHit Obtém uma coleção de pontos de interrupção acoplada que ocorreram por último simultaneamente.
Propriedade pública BreakpointLastHit (Herdado de Debugger.)
Propriedade pública BreakpointLastHit Obtém a última ocorrência de ponto de interrupção.
Propriedade pública Breakpoints (Herdado de Debugger.)
Propriedade pública Breakpoints Obtém uma coleção de pontos de interrupção.
Propriedade pública CurrentMode (Herdado de Debugger.)
Propriedade pública CurrentMode Obtém o modo atual do depurador dentro do contexto do IDE.
Propriedade pública CurrentProcess (Herdado de Debugger.)
Propriedade pública CurrentProcess Obtém ou define o processo ativo.
Propriedade pública CurrentProgram (Herdado de Debugger.)
Propriedade pública CurrentProgram Define ou retorna o programa ativo.
Propriedade pública CurrentStackFrame (Herdado de Debugger.)
Propriedade pública CurrentStackFrame Obtém ou define o quadro de pilha atual.
Propriedade pública CurrentThread (Herdado de Debugger.)
Propriedade pública CurrentThread Obtém ou define o thread atual está sendo depurado.
Propriedade pública DebuggedProcesses (Herdado de Debugger.)
Propriedade pública DebuggedProcesses Obtém a lista de processos está atualmente sendo depurado.
Propriedade pública DTE (Herdado de Debugger.)
Propriedade pública DTE Obtém o objeto de extensibilidade de nível superior.
Propriedade pública HexDisplayMode (Herdado de Debugger.)
Propriedade pública HexDisplayMode Obtém ou define um valor indicando se as expressões são a saída no formato hexadecimal ou decimal.
Propriedade pública HexInputMode (Herdado de Debugger.)
Propriedade pública HexInputMode Obtém ou define um valor indicando se as expressões são avaliadas em formato hexadecimal ou decimal.
Propriedade pública Languages (Herdado de Debugger.)
Propriedade pública Languages Obtém uma lista dos idiomas suportados pelo depurador.
Propriedade pública LastBreakReason (Herdado de Debugger.)
Propriedade pública LastBreakReason Obtém o último motivo que um programa foi interrompido.Se o programa estiver sendo executado ele retorna DBG_REASON_NONE.
Propriedade pública LocalProcesses (Herdado de Debugger.)
Propriedade pública LocalProcesses Obtém a lista de processos em execução no momento nesta máquina.
Propriedade pública Parent (Herdado de Debugger.)
Propriedade pública Parent Obtém o objeto pai imediato do objeto Debugger2 (DTE2).
Propriedade pública Transports Obtém uma coleção de transportes com suporte de depuração.

Início

Métodos

  Nome Descrição
Método público Break(Boolean) (Herdado de Debugger.)
Método público Break(Boolean) Faz com que o processo de determinado pausar sua execução, para que o estado atual pode ser analisado.
Método público DetachAll() (Herdado de Debugger.)
Método público DetachAll() Desconecta-se de todos os programas conectados.
Método público ExecuteStatement(String, Int32, Boolean) (Herdado de Debugger.)
Método público ExecuteStatement(String, Int32, Boolean) Executa a instrução especificada.Se o TreatAsExpression sinalizador é true, em seguida, a seqüência de caracteres é interpretada como uma expressão, e a saída é enviada para o Janela de comando.
Método público GetExpression(String, Boolean, Int32) (Herdado de Debugger.)
Método público 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.
Método público 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.
Método público GetProcesses Permite que o chamador obter uma coleção de processos de um computador remoto.
Método público Go(Boolean) (Herdado de Debugger.)
Método público Go(Boolean) Inicia a execução do programa a partir da instrução atual.
Método público RunToCursor(Boolean) (Herdado de Debugger.)
Método público RunToCursor(Boolean) Executa o programa na posição atual do cursor do arquivo de origem.
Método público SetNextStatement() (Herdado de Debugger.)
Método público SetNextStatement() Define a próxima instrução a ser executada, de acordo com a posição do cursor no arquivo de origem atual.
Método público StepInto(Boolean) (Herdado de Debugger.)
Método público StepInto(Boolean) Etapas para a próxima função chamada, se possível.
Método público StepOut(Boolean) (Herdado de Debugger.)
Método público StepOut(Boolean) Etapas da função atual.
Método público StepOver(Boolean) (Herdado de Debugger.)
Método público StepOver(Boolean) Dirige-se a próxima chamada de função.
Método público Stop(Boolean) (Herdado de Debugger.)
Método público Stop(Boolean) Interrompe a depuração e encerra ou desconecta-se de que todos os processos anexados.
Método público TerminateAll() (Herdado de Debugger.)
Método público TerminateAll() Encerra todos os processos em execução no momento de depuração.
Método público 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.

Início

Comentários

O depurador está disponível por meio do DTE2 objeto por meio de sua Debugger propriedade, conforme mostrado no exemplo a seguir. Um objeto de 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;
}

Consulte também

Referência

Namespace EnvDTE80