Debugger3 (Interfaz)
El objeto Debugger3 se usa para interrogar y manipular el estado del depurador y el programa que se está depurando. Debugger3 reemplaza a las interfaces Debugger2 y Debugger.
Espacio de nombres: EnvDTE90
Ensamblado: EnvDTE90 (en EnvDTE90.dll)
Sintaxis
'Declaración
<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
El tipo Debugger3 expone los siguientes miembros.
Propiedades
Nombre | Descripción | |
---|---|---|
AllBreakpointsLastHit | (Se hereda de Debugger2). | |
AllBreakpointsLastHit | Obtiene una colección de puntos de interrupción enlazados que se alcanzaron simultáneamente la última vez. | |
BreakpointLastHit | (Se hereda de Debugger2). | |
BreakpointLastHit | Obtiene el último punto de interrupción alcanzado. | |
Breakpoints | (Se hereda de Debugger2). | |
Breakpoints | Obtiene una colección de puntos de interrupción. | |
CurrentMode | (Se hereda de Debugger2). | |
CurrentMode | Obtiene el modo actual del depurador en el contexto de la IDE. | |
CurrentProcess | (Se hereda de Debugger2). | |
CurrentProcess | Obtiene o establece el proceso activo. | |
CurrentProgram | (Se hereda de Debugger2). | |
CurrentProgram | Establece o devuelve el programa activo. | |
CurrentStackFrame | (Se hereda de Debugger2). | |
CurrentStackFrame | Obtiene o establece el marco de pila actual. | |
CurrentThread | (Se hereda de Debugger2). | |
CurrentThread | Obtiene o establece el subproceso que se está depurando. | |
DebuggedProcesses | (Se hereda de Debugger2). | |
DebuggedProcesses | Obtiene la lista de procesos que se están depurando. | |
DTE | (Se hereda de Debugger2). | |
DTE | Obtiene el objeto de extensibilidad de nivel superior. | |
ExceptionGroups | Obtiene los valores de excepción para el depurador.Para cada excepción, esta configuración determina si el depurador proporciona al código una oportunidad para controlar la excepción antes de que el depurador interrumpa la ejecución. | |
ForceContinue | Obtiene o establece un valor que determina si el depurador se interrumpe o continúa cuando un punto de seguimiento o un punto de interrupción termina de ejecutar una macro.El usuario establece el comportamiento predeterminado en el cuadro de diálogo al crear el punto de seguimiento o el punto de interrupción.Esta propiedad se puede utilizar para cambiar el comportamiento predeterminado. | |
HexDisplayMode | (Se hereda de Debugger2). | |
HexDisplayMode | Obtiene o establece un valor que indica si las expresiones se representan en formato hexadecimal o decimal. | |
HexInputMode | (Se hereda de Debugger2). | |
HexInputMode | Obtiene o establece un valor que indica si las expresiones se evalúan en formato hexadecimal o decimal. | |
Languages | (Se hereda de Debugger2). | |
Languages | Obtiene una lista de lenguajes compatibles con el depurador. | |
LastBreakReason | (Se hereda de Debugger2). | |
LastBreakReason | Obtiene el último motivo por el que se interrumpió un programa.Si el programa está en ejecución, devuelve DBG_REASON_NONE. | |
LocalProcesses | (Se hereda de Debugger2). | |
LocalProcesses | Obtiene la lista de procesos que se ejecutan actualmente en este equipo. | |
OnlyLoadSymbolsManually | Obtiene un valor que determina si los símbolos se cargan manual o automáticamente.El usuario de Visual Studio puede determinar este valor en el cuadro de diálogo Opciones.Para obtener más información sobre cómo establecer este valor en Visual Studio, vea Cómo: Especificar el comportamiento de carga y las ubicaciones de los símbolos. | |
Parent | (Se hereda de Debugger2). | |
Parent | Obtiene el objeto primario inmediato del objeto Debugger3 (DTE2). | |
SymbolCachePath | Obtiene una cadena que contiene la ruta de acceso a la memoria caché de símbolos que utiliza Visual Studio al descargar símbolos de un servidor de símbolos.Puede especificar la ruta de acceso a la memoria caché de símbolos en el cuadro de diálogo Opciones.Para obtener más información, vea Cómo: Utilizar un servidor de símbolos. | |
SymbolPath | Obtiene una cadena que contiene las rutas de acceso a los archivos de símbolos .PDB que utiliza Visual Studio para depurar.El usuario de Visual Studio puede especificar las rutas de acceso a los símbolos en el cuadro de diálogo Opciones.Para obtener más información, vea Cómo: Especificar el comportamiento de carga y las ubicaciones de los símbolos. | |
SymbolPathState | Obtiene una cadena que representa el estado de todas las rutas de acceso a símbolos para los archivos de símbolos .PDB que utiliza Visual Studio para depurar. | |
Transports | (Se hereda de Debugger2). | |
Transports | Obtiene una colección de transportes de la depuración compatibles. |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
Break(Boolean) | (Se hereda de Debugger2). | |
Break(Boolean) | Provoca una pausa en la ejecución del proceso indicado para poder analizar su estado actual. | |
DetachAll() | (Se hereda de Debugger2). | |
DetachAll() | Desasocia de todos los programas asociados. | |
ExecuteStatement(String, Int32, Boolean) | (Se hereda de Debugger2). | |
ExecuteStatement(String, Int32, Boolean) | Ejecuta la instrucción especificada.Si la marca TreatAsExpression es true, la cadena se interpreta como una expresión y el resultado se envía a la Ventana de comandos. | |
GetExpression(String, Boolean, Int32) | (Se hereda de Debugger2). | |
GetExpression(String, Boolean, Int32) | Se evalúa como una expresión basada en el marco de pila actual.Si la expresión puede analizarse pero no puede evaluarse, se devuelve un objeto que no contendrá un valor válido. | |
GetExpression2(String, Boolean, Boolean, Int32) | (Se hereda de Debugger2). | |
GetExpression2(String, Boolean, Boolean, Int32) | Se evalúa como una expresión basada en el marco de pila actual.Si la expresión puede analizarse pero no puede evaluarse, se devuelve un objeto que no contendrá un valor válido.Esta función miembro es similar a GetExpression pero con un parámetro booleano adicional, que se puede establecer como true para indicar que la expresión se evaluará como una instrucción. | |
GetProcesses(Transport, String) | (Se hereda de Debugger2). | |
GetProcesses(Transport, String) | ||
Go(Boolean) | (Se hereda de Debugger2). | |
Go(Boolean) | Inicia la ejecución del programa a partir de la instrucción actual. | |
RunToCursor(Boolean) | (Se hereda de Debugger2). | |
RunToCursor(Boolean) | Ejecuta el programa hasta la posición actual del cursor en el archivo de código fuente. | |
SetNextStatement() | (Se hereda de Debugger2). | |
SetNextStatement() | Establece la siguiente instrucción que se va a ejecutar, según la posición del cursor en el archivo de código fuente actual. | |
SetSymbolSettings | Establece varios valores para los símbolos .PDB que utiliza Visual Studio para depurar y exige la recarga de todos los símbolos. | |
StepInto(Boolean) | (Se hereda de Debugger2). | |
StepInto(Boolean) | Recorre paso a paso instrucciones hasta llegar a la siguiente llamada a una función, si es posible. | |
StepOut(Boolean) | (Se hereda de Debugger2). | |
StepOut(Boolean) | Sale paso a paso de la función actual. | |
StepOver(Boolean) | (Se hereda de Debugger2). | |
StepOver(Boolean) | Pasa por alto la siguiente llamada a función. | |
Stop(Boolean) | (Se hereda de Debugger2). | |
Stop(Boolean) | Detiene la depuración y finaliza o desasocia todos los procesos asociados. | |
TerminateAll() | (Se hereda de Debugger2). | |
TerminateAll() | Finaliza todos los procesos de depuración en ejecución. | |
WriteMinidump(String, dbgMinidumpOption) | (Se hereda de Debugger2). | |
WriteMinidump(String, dbgMinidumpOption) |
Arriba
Comentarios
El depurador está disponible a través del objeto DTE2 mediante su propiedad Debugger, como se muestra en el ejemplo siguiente. Hay disponible un objeto de depurador para cada instancia del entorno de desarrollo integrado (IDE).
Ejemplos
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;
}