[Reimpresión] ¿Cómo depurar dll sincrónicamente cuando C# llama a C++dll?

Enlace original del blog: https://blog.csdn.net/weixin_40314351/article/details/127652594
Gracias a este grandullón

Durante el proceso de desarrollo, el dll encapsulado debe depurarse sincrónicamente con el código C# para determinar el error.

1 首先需要将生成dll文件的工程文件放入C#的工程目录下。

   
   
    
    
   
   
    
    
  • 1

inserte la descripción de la imagen aquí
En este archivo, testAdd es el directorio del proyecto de C# y add es el directorio del proyecto de dll (c++).

2 在C#的工程的解决方案管理器中,添加现有项目

   
   
    
    
   
   
    
    
  • 1

inserte la descripción de la imagen aquí
[Solución con el botón derecho] —> [Agregar] —> [Proyecto existente]
Después de agregar, la vista del explorador de soluciones es la siguiente:
inserte la descripción de la imagen aquí

3 在C#的项目的工程中添加依赖项

   
   
    
    
   
   
    
    
  • 1

inserte la descripción de la imagen aquí
Haga clic con el botón derecho en el proyecto del proyecto C# —> seleccione [Generar dependencias] —> [Dependencias del proyecto]

4 在C#的项目属性中【启用本地代码调试】

   
   
    
    
   
   
    
    
  • 1

inserte la descripción de la imagen aquí
Haga clic con el botón derecho en el proyecto del proyecto C# —> seleccione [Propiedades] —> [Depurar], marque [Habilitar depuración de código local]

5 设置dll的输出目录

   
   
    
    
   
   
    
    
  • 1

inserte la descripción de la imagen aquí
Configúrelo en el archivo bin en el directorio del proyecto C#, aquí está (SolutionDir)(testAdd)$(Configuration)

6 到这里就可以直接在C#中调试dll了

 
 
  
  
 
 
  
  
  • 1

Establezca un punto de interrupción en C# y también establezca un punto de interrupción en el archivo cpp del código C++. Depurar ejecutar depuración, puede ver dónde se ingresará el punto de interrupción.
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Resumen :
Los siguientes son los pasos para que C# llame a dll y depure dll sincrónicamente:

1 首先需要将生成dll文件的工程文件放入C#的工程目录下。

2 En el administrador de soluciones del proyecto C#, agregue un proyecto existente (proyecto dll).

3 Agregue dependencias al proyecto del proyecto C#.

4 [Habilitar la depuración de código nativo] en las propiedades del proyecto de C#.

5 Configure el directorio de salida de la dll.

6 Establezca los puntos de interrupción de los dos proyectos para ejecutar la depuración

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

El proyecto se coloca en git: https://github.com/GXXMei/testAddlib.git

Durante el proceso de desarrollo, el dll encapsulado debe depurarse sincrónicamente con el código C# para determinar el error.

1 首先需要将生成dll文件的工程文件放入C#的工程目录下。

   
   
  
  
   
   
  
  
  • 1

inserte la descripción de la imagen aquí
En este archivo, testAdd es el directorio del proyecto de C# y add es el directorio del proyecto de dll (c++).

2 在C#的工程的解决方案管理器中,添加现有项目

   
   
  
  
   
   
  
  
  • 1

inserte la descripción de la imagen aquí
[Solución con el botón derecho] —> [Agregar] —> [Proyecto existente]
Después de agregar, la vista del explorador de soluciones es la siguiente:
inserte la descripción de la imagen aquí

3 在C#的项目的工程中添加依赖项

   
   
  
  
   
   
  
  
  • 1

inserte la descripción de la imagen aquí
Haga clic con el botón derecho en el proyecto del proyecto C# —> seleccione [Generar dependencias] —> [Dependencias del proyecto]

4 在C#的项目属性中【启用本地代码调试】

   
   
  
  
   
   
  
  
  • 1

inserte la descripción de la imagen aquí
Haga clic con el botón derecho en el proyecto del proyecto C# —> seleccione [Propiedades] —> [Depurar], marque [Habilitar depuración de código local]

5 设置dll的输出目录

   
   
  
  
   
   
  
  
  • 1

inserte la descripción de la imagen aquí
Configúrelo en el archivo bin en el directorio del proyecto C#, aquí está (SolutionDir)(testAdd)$(Configuration)

Supongo que te gusta

Origin blog.csdn.net/gdxb666/article/details/130798215
Recomendado
Clasificación