Depuración en modo mixto (C#, C++ y Visual Basic)
En este artículo se describe cómo habilitar la depuración del código administrado y nativo, también conocida como depuración en modo mixto. Hay dos escenarios de depuración en modo mixto:
La aplicación que llama a un archivo DLL está escrita en código nativo y el archivo DLL, en código administrado.
La aplicación que llama a un archivo DLL está escrita en código administrado y el archivo DLL, en código nativo. Para consultar un tutorial sobre este escenario, consulte Depuración de código administrado y nativo.
Puede habilitar los depuradores administrados y nativos en las páginas Propiedad del proyecto de la aplicación que realiza la llamada. La configuración difiere entre aplicaciones nativas y administradas.
Si no tiene acceso al proyecto de la aplicación que realiza la llamada, puede depurar el archivo DLL desde el proyecto DLL. No necesita el modo mixto para depurar. Solo necesita el proyecto DLL. Para obtener más información, consulte Cómo depurar desde un proyecto DLL.
Nota:
Es posible que los cuadros de diálogo y los comandos que se describen en este artículo difieran de su experiencia, en función de los valores de configuración o de la edición de Visual Studio. Para cambiar la configuración, seleccione Herramientas>Importar y exportar configuraciones. Para obtener más información, vea Restablecer toda la configuración.
Habilitación del modo mixto para una aplicación de llamadas nativa (C++)
Para habilitar la depuración en modo mixto para una aplicación de llamada nativa en C++, siga estos pasos:
En el Explorador de soluciones de Visual Studio, haga clic con el botón derecho en el proyecto de C++ y seleccione Propiedades o use el método abreviado de teclado Alt + Entrar. Se abre el cuadro de diálogo <Proyecto> Páginas de propiedades.
En el cuadro de diálogo, expanda la sección Propiedades de configuración y seleccione la pestaña Depuración.
En la pestaña Depuración, seleccione la propiedad Tipo de depurador y use la lista desplegable para seleccionar la opción Automático o Mixto. Si hay varias opciones para Mixto, como .NET Core y .NET Framework, elija la mejor opción para la configuración.
Seleccione Aceptar para aplicar los cambios en las propiedades.
Habilitación del modo mixto para la aplicación de llamada administrada (C# o Visual Basic)
Para habilitar la depuración en modo mixto para una aplicación de llamada administrada en C# o Visual Basic, siga estos pasos:
En el Explorador de soluciones de Visual Studio, haga clic con el botón derecho en el proyecto de C# o Visual Basic y seleccione Propiedades o use el método abreviado de teclado Alt + Entrar. Se abre el panel Propiedades.
En el panel Propiedades, habilite la depuración en modo mixto estableciendo la siguiente propiedad:
Código .NET.
En el menú de la izquierda, seleccione Depuración.
En la sección General, seleccione el vínculo Abrir interfaz de usuario de perfiles de inicio de depuración. Se abre el cuadro de diálogo Perfiles de inicio.
En el cuadro de diálogo, desplácese para buscar la sección Habilitar depuración de código nativo.
Seleccione la propiedad Habilitar la depuración para código administrado y nativo juntos, también conocida como depuración en modo mixto:
Para aplicar el cambio de propiedad, cierre el cuadro de diálogo Perfiles de inicio y el panel Propiedades.
Código de .NET Framework
Si usa código de .NET Framework, que no tiene ningún perfil de inicio de depuración, siga estos pasos:
En el menú de la izquierda, seleccione Depuración.
En la sección Motores del depurador, seleccione la propiedad Habilitar depuración de código nativo:
Para aplicar el cambio de propiedad, cierre el panel Propiedades.
En el menú de la izquierda, seleccione Depuración.
En la sección Motores del depurador, seleccione la propiedad Habilitar depuración de código nativo:
Para aplicar el cambio de propiedad, cierre el panel Propiedades.
Nota:
Para una aplicación de .NET Core en Visual Studio 2017 y Visual Studio 2019, debe usar el archivo launchSettings.json en lugar de las propiedades del proyecto para habilitar la depuración en modo mixto.