Compartir vía


Depuración en modo mixto (C#, C++ y Visual Basic)

En este artículo se describe cómo habilitar la depuración para código administrado y nativo juntos, conocido como depuración en modo mixto. Hay dos escenarios de depuración en modo mixto:

  • La aplicación que llama a un archivo DLL se escribe en código nativo y el archivo DLL se administra.

  • La aplicación que llama a un archivo DLL se escribe en código administrado y el archivo DLL está en código nativo. Para consultar un tutorial sobre este escenario, vea Tutorial: Depuración de C# y C++ en la misma sesión de depuración.

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 es diferente para las 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 es necesario el modo mixto para depurar. Solo necesita el proyecto DLL. Para más información, consulte Cómo: depurar desde un proyecto de DLL.

Nota

Los diálogos y comandos descritos en este artículo pueden diferir de la experiencia, en función de la configuración o edición de Visual Studio. Para cambiar la configuración, seleccione Herramientas>Importar y exportar configuraciones. Para obtener más información, consulte Restablecer todas las opciones de configuración.

Habilitar el modo mixto para la aplicación de llamada nativa (C++)

Para habilitar la depuración en modo mixto para una aplicación de llamada nativa en C++, siga estos pasos:

  1. En el Explorador de soluciones de Visual Studio , haga clic con el botón derecho en el proyecto de C++ y seleccione Propiedadeso use el método abreviado de teclado Alt + Entrar. Se abre el cuadro de diálogo <Proyecto> Páginas de propiedades.

  2. En el cuadro de diálogo, expanda la sección Propiedades de configuración y seleccione la pestaña Depuración.

  3. En la pestaña Depuración, seleccione la propiedad Tipo de depurador y use la lista desplegable para seleccionar la opción Auto o Mixto. Si hay varias opciones para mixed, como .NET Core y .NET Framework, elija la mejor opción para la configuración.

    Captura de pantalla que muestra cómo habilitar la depuración en modo mixto para un proyecto de C++ en Visual Studio.

  4. Para aplicar el cambio de propiedad, seleccione Aceptar.

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:

  1. 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 Propiedadeso use el método abreviado de teclado Alt + Entrar. El panel de propiedades de se abre.

  2. En el panel Propiedades, habilite la depuración en modo mixto estableciendo la siguiente propiedad:

    Código .NET

    1. En el menú de la izquierda, seleccione Depurar.

    2. 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.

    3. En el cuadro de diálogo, desplácese para buscar la sección Habilitar depuración de código nativo.

    4. Seleccione la propiedad Habilitar la depuración de código administrado y nativo a la vez, lo que también se conoce como depuración en modo mixto:

      Captura de pantalla que muestra cómo habilitar la depuración en modo mixto para un proyecto de C# o Visual Basic en Visual Studio.

    5. Para aplicar el cambio de propiedad, cierre el cuadro de diálogo Perfiles de inicio y el panel de 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:

    1. En el menú de la izquierda, seleccione Depurar.

    2. En la sección Motores de depurador, seleccione la propiedad Habilitar depuración de código nativo:

      Captura de pantalla que muestra cómo habilitar la depuración en modo mixto para un proyecto de C# o Visual Basic en Visual Studio 2019.

    3. Para aplicar el cambio de propiedad, cierre el panel de propiedades "Properties".

    1. En el menú de la izquierda, seleccione Depurar.

    2. En la sección Motores de depurador, seleccione la propiedad Habilitar depuración de código nativo:

      Captura de pantalla que muestra cómo habilitar la depuración en modo mixto para un proyecto de C# o Visual Basic en Visual Studio 2019.

    3. Para aplicar el cambio de propiedad, cierre el panel de 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.