Compartir a través de


Depurar un proyecto DLL en Visual Studio (C#, C++, Visual Basic, F#)

Una manera de depurar un proyecto DLL es especificar la aplicación que realiza la llamada en las propiedades del proyecto DLL. Este enfoque le permite iniciar la depuración desde el propio proyecto DLL. Para que este método funcione, la aplicación debe llamar a la misma DLL en la misma ubicación que la que configure. Si la aplicación encuentra y carga otra versión del archivo DLL, esa versión no contendrá los puntos de interrupción. Para ver otros métodos de depuración de DLLs, consulte Depuración de proyectos DLL.

Si la aplicación administrada llama a un archivo DLL nativo o la aplicación nativa llama a un archivo DLL administrado, puede depurar tanto el archivo DLL como la aplicación que realiza la llamada. Para obtener más información, vea Cómo: Depurar en modo mixto.

Los proyectos de DLL nativos y administrados tienen una configuración diferente para especificar las aplicaciones que llaman.

Especificar una aplicación de llamada en un proyecto DLL nativo

  1. En el Explorador de soluciones, haga clic con el botón derecho en el proyecto DLL de C++ y seleccione Propiedades (Alt+Entrar).

  2. En el cuadro de diálogo <Proyecto> Páginas de propiedades, establezca el campo Configuración en la parte superior en Depurar.

  3. Seleccione Propiedades de Configuración>Depuración.

  4. Expanda la lista Depurador para iniciar y seleccione Depurador de Windows local o Depurador remoto de Windows.

  5. En el cuadro Comando o Comando remoto , agregue la ruta de acceso completa y el nombre de archivo de la aplicación que llama, como un archivo .exe .

    Captura de pantalla de la ventana Propiedades de depuración en Visual Studio en la que se muestra el valor del comando.

  6. Agregue los argumentos de programa necesarios al cuadro Argumentos de comando .

  7. Selecciona Aceptar.

Especificar una aplicación de llamada en un proyecto DLL administrado (.NET Core, .NET 5+)

  1. En el Explorador de soluciones, haga clic con el botón derecho en el proyecto DLL de C# o Visual Basic y seleccione Propiedades (Alt+Entrar).

  2. En la pestaña Depurar, seleccione Abrir la interfaz de usuario de perfiles de inicio de depuración.

  3. En el cuadro de diálogo Iniciar perfiles , seleccione el icono Crear un nuevo perfil y seleccione Ejecutable.

    Captura de pantalla de la interfaz de usuario para crear un nuevo perfil de depuración en Visual Studio 2022.

  4. En el nuevo perfil, en Ejecutable, vaya a la ubicación del archivo ejecutable (.exe archivo) y selecciónelo.

  5. En el cuadro de diálogo Perfiles de inicio , anote el nombre del perfil predeterminado y, a continuación, seleccione el perfil y elimínelo.

  6. Cambie el nombre del nuevo perfil al mismo nombre que el perfil predeterminado.

    Un enfoque alternativo consiste en editar manualmente el archivo launchSettings.json . Quiere que el primer perfil del archivo launchSettings.json coincida con el nombre de la biblioteca de clases y desea que el perfil aparezca primero en el archivo.

Especificación de una aplicación de llamada en un proyecto DLL administrado (.NET Framework)

  1. En el Explorador de soluciones, haga clic con el botón derecho en el proyecto DLL de C# o Visual Basic y seleccione Propiedades (Alt+Entrar).

  2. Establezca el campo Configuración en la parte superior en Depurar.

  3. En Iniciar acción:

    • Para archivos DLL de .NET Framework, seleccione Programa externo de inicio y agregue la ruta de acceso y el nombre completo de la aplicación que realiza la llamada.

    • O bien, seleccione Iniciar explorador con dirección URL y escriba la dirección URL de una aplicación de ASP.NET local.

    • En el caso de los archivos DLL de Visual Basic, la página Propiedades de depuración es diferente. Expanda el menú desplegable Inicio y seleccione Ejecutable, y luego añada la ruta completa y el nombre de la aplicación de llamada en el campo Ejecutable.
    • En el caso de los archivos DLL de .NET Core, la página Propiedades de depuración es diferente. Expanda el menú desplegable Inicio y seleccione Ejecutable, y luego añada la ruta completa y el nombre de la aplicación de llamada en el campo Ejecutable.
  4. Agregue los argumentos de línea de comandos necesarios en el campo Argumentos de línea de comandos o Argumentos de aplicación .

    Captura de pantalla de la ventana Propiedades de depuración de C# en Visual Studio.

  5. Para guardar los cambios, seleccione Guardar archivo>elementos seleccionados (Ctrl+S).

Depuración desde el proyecto DLL

  1. Establezca puntos de interrupción en el proyecto DLL.

  2. Haga clic con el botón derecho en el proyecto DLL y seleccione Establecer como proyecto de inicio.

  3. Establezca el campo Configuración de soluciones en la parte superior en Depurar. Seleccione F5 y, a continuación, seleccione la flecha inicio verde o seleccione Depurar>Iniciar depuración.

Sugerencia

  • Si la depuración no alcanza los puntos de interrupción, asegúrese de que la salida del archivo DLL (de forma predeterminada, la carpeta <proyecto>\Debug) es la ubicación de la llamada destino para la aplicación que realiza la llamada.

  • Si quiere interrumpir el código en una aplicación de llamada administrada desde un archivo DLL nativo, o viceversa, habilite la depuración en modo mixto.

  • En algunos escenarios, es posible que tenga que indicar al depurador dónde encontrar el código fuente. Para obtener más información, consulte las páginas Sin símbolos cargados o Sin origen cargado.