Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
La API de depuración de Common Language Runtime (CLR) permite a los proveedores de herramientas escribir depuradores para depurar aplicaciones que se ejecuten en el entorno de CLR. El código que se va a depurar puede ser cualquier tipo de código que admita CLR.
La API de depuración de CLR se implementa principalmente con código no administrado. Por consiguiente, la API de depuración se presenta como un conjunto de interfaces COM. La API está compuesta de una colección de objetos e interfaces COM que implementa CLR y una colección de interfaces de devolución de llamada COM que deben ser implementadas por el depurador. Dado que estas interfaces de depuración se basan en COM, los programas depuradores se pueden ampliar con facilidad para habilitar la depuración remota utilizando COM distribuido (DCOM).
Categorías de API
La API de depuración incluye los tres grupos siguientes de interfaces, todos utilizados normalmente por un depurador CLR y todos implementados como código no administrado:
Interfaces que admiten la depuración de aplicaciones CLR.
Interfaces que proporcionan acceso a información de depuración simbólica, que se almacena normalmente en archivos de base de datos de programa (PDB).
Comunica que admiten la consulta de los procesos y dominios de aplicación en un equipo.
La API de depuración se apoya en dos conjuntos adicionales de interfaces:
La API de metadatos para administrar la inspección de información estática sobre el programa, tal como la información sobre clases y tipo de método.
La API del almacén de símbolos para admitir la depuración en el nivel de origen para depuradores de código administrado.
Las interfaces de depuración también se pueden organizar en las categorías funcionales que se muestran en la tabla siguiente.
Categoría de API |
Descripción |
|---|---|
Registro |
Interfaces a las que el llama el depurador para registrarse con CLR y solicitar que se notifique cuando se produzcan eventos concretos. |
Notificación |
Interfaces de devolución de llamada que usa CLR para notificar al depurador diversos eventos y devolver información solicitada. Estas interfaces debe implementarlas el depurador. |
Punto de interrupción |
Interfaces a las que el llama el depurador para recuperar información sobre puntos de interrupción. |
Execution |
Interfaces a las que llama el depurador para controlar la ejecución del código que está siendo depurado y tener acceso a pilas de llamadas. |
Información |
Interfaces a las que llama el depurador para obtener información sobre el código que está siendo depurado. |
Enumeración |
Interfaces a las que llama el depurador para enumerar objetos. |
Modificado |
Interfaces a las que llama el depurador para modificar el código que se está depurando. |
Entornos compatibles
Los medios de depuración de CLR están disponibles en todos los procesadores y sistemas operativos compatibles con el CLR, con las excepciones siguientes:
Editar y continuar y la depuración en modo mixto no son compatibles con sistemas operativos de 64 bits. Los métodos SetIP (ICorDebugILFrame::SetIP e ICorDebugNativeFrame::SetIP) tienen restricciones adicionales sobre sistemas operativos de 64 bits. La funcionalidad restante es equivalente en todos los procesadores y permite representaciones de datos específicas del procesador (tamaños de puntero, contextos de registro, etc.).
Editar y continuar y la depuración en modo mixto no son compatibles con sistemas operativos basados en Win9x. Con pocas excepciones, que se indican en la documentación de las funciones individuales, la funcionalidad restante debe ser equivalente en todos los sistemas operativos.