Partilhar via


Interface Debugger3

Debugger3é usado para interrogar e manipular o estado do depurador e o programa que está sendo depurado. Debugger3substitui o Debugger2 e Debugger interfaces.

Namespace:  EnvDTE90
Assembly:  EnvDTE90 (em EnvDTE90.dll)

Sintaxe

'Declaração
<GuidAttribute("87DFC8DA-67B4-4954-BB89-6A277A50BAFC")> _
Public Interface Debugger3 _
    Inherits Debugger2
[GuidAttribute("87DFC8DA-67B4-4954-BB89-6A277A50BAFC")]
public interface Debugger3 : Debugger2
[GuidAttribute(L"87DFC8DA-67B4-4954-BB89-6A277A50BAFC")]
public interface class Debugger3 : Debugger2
[<GuidAttribute("87DFC8DA-67B4-4954-BB89-6A277A50BAFC")>]
type Debugger3 =  
    interface 
        interface Debugger2 
    end
public interface Debugger3 extends Debugger2

O tipo Debugger3 expõe os membros a seguir.

Propriedades

  Nome Descrição
Propriedade pública AllBreakpointsLastHit Obtém uma coleção de pontos de interrupção acoplados que ocorreram por último simultaneamente.
Propriedade pública BreakpointLastHit Obtém a última ocorrência de ponto de interrupção.
Propriedade pública Breakpoints Obtém uma coleção de pontos de interrupção.
Propriedade pública CurrentMode Obtém o modo atual do depurador dentro do contexto do IDE.
Propriedade pública CurrentProcess Obtém ou define o processo ativo.
Propriedade pública CurrentProgram Define ou retorna o programa ativo.
Propriedade pública CurrentStackFrame Obtém ou define o quadro de pilha atual.
Propriedade pública CurrentThread Obtém ou define o thread atual está sendo depurado.
Propriedade pública DebuggedProcesses Obtém a lista de processos que estão sendo depurado.
Propriedade pública DTE Obtém o objeto de extensibilidade de nível superior.
Propriedade pública ExceptionGroups Obtém as definições de exceção para o depurador.Para cada exceção, essas configurações determinam se o depurador o código de uma oportunidade para tratar a exceção antes da depurador interrompa a execução.
Propriedade pública ForceContinue Obtém ou define um valor que determina se o depurador quebras ou continua quando um ponto de interrupção ou tracepoint termina a execução de uma macro.O comportamento padrão é definido pelo usuário na caixa de diálogo quando o ponto de interrupção ou tracepoint é criado.Esta propriedade pode ser usada para alterar o comportamento padrão.
Propriedade pública HexDisplayMode Obtém ou define um valor que indica se as expressões são a saída no formato hexadecimal ou decimal.
Propriedade pública HexInputMode Obtém ou define um valor que indica se as expressões são avaliadas em formato hexadecimal ou decimal.
Propriedade pública Languages Obtém uma lista dos idiomas suportados pelo depurador.
Propriedade pública LastBreakReason Obtém o último motivo pelo qual um programa foi interrompido.Se o programa é executado ele retorna DBG_REASON_NONE.
Propriedade pública LocalProcesses Obtém a lista de processos que atualmente em execução neste computador.
Propriedade pública OnlyLoadSymbolsManually Obtém um valor que determina se os símbolos são carregados automaticamente ou manualmente.O usuário de Visual Studio pode determinar essa configuração no Opções caixa de diálogo.Para obter mais informações sobre como definir esse valor dentro de Visual Studio, consulte [OBSOLETO] Como especificar locais de símbolos e o comportamento do carregamento.
Propriedade pública Parent Obtém o objeto pai imediato da Debugger3 objeto (DTE2).
Propriedade pública SymbolCachePath Obtém uma seqüência de caracteres que contém o caminho para o cache de símbolos usado pelo Visual Studio quando você faz o download de símbolos de um servidor de símbolos.Você pode especificar o caminho do cache de símbolos no Opções caixa de diálogo.Para obter mais informações, consulte [OBSOLETE] Como usar um servidor de símbolo.
Propriedade pública SymbolPath Obtém uma seqüência de caracteres que contém os caminhos para.Arquivos de símbolos do PDB usados pelo Visual Studio para depuração.O usuário de Visual Studio pode especificar caminhos de símbolos no Opções caixa de diálogo.Para obter mais informações, consulte [OBSOLETO] Como especificar locais de símbolos e o comportamento do carregamento.
Propriedade pública SymbolPathState Obtém uma cadeia de caracteres que representa o estado de todos os caminhos de símbolo para o.Arquivos de símbolos do PDB usados pelo Visual Studio para depuração.
Propriedade pública Transports Obtém uma coleção de transportes com suporte de depuração.

Superior

Métodos

  Nome Descrição
Método público Break Faz com que o processo determinado pausar sua execução, para que o estado atual pode ser analisado.
Método público DetachAll Desconecta-se de todos os programas conectados.
Método público ExecuteStatement 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 Comando.
Método público GetExpression 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.A função de membro é semelhante a GetExpression , mas com um parâmetro Boolean adicional, que pode ser definida como true para indicar que a expressão deve ser avaliada como uma instrução.
Método público GetProcesses
Método público Go Inicia a execução do programa a partir da instrução atual.
Método público RunToCursor Executa o programa na posição atual do cursor do arquivo de origem.
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 SetSymbolSettings Define várias configurações para o.Símbolos PDB usado pelo Visual Studio para depuração e força o recarregamento de todos os símbolos.
Método público StepInto Etapas para a próxima chamada de função, se possível.
Método público StepOut Etapas fora da função atual.
Método público StepOver Dirige-se a próxima chamada de função.
Método público Stop Interrompe a depuração e encerra ou desconecta-se de todos os processos anexados.
Método público TerminateAll Encerra todos os processos em execução no momento de depuração.
Método público WriteMinidump

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 interativo (IDE).

Exemplos

Imports System
Imports EnvDTE
Imports EnvDTE90
Imports EnvDTE90
Imports System.Diagnostics

Public Module Module1
    'This function returns true if the debugger is actively debugging.
    Function IsDebugging() As Boolean
        Dim debugger As EnvDTE90.Debugger3 
        debugger = DTE.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 "dte90.olb" raw_interfaces_only named_guids
using namespace EnvDTE90;
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(&pDebugger3)) && 
            pDebugger3
            != NULL){
                dbgDebugMode mode;
                if (SUCCEEDED(pDebugger3->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 EnvDTE90