Red de conocimiento informático - Material del sitio web - Cómo depurar código DLL escrito en C en C#

Cómo depurar código DLL escrito en C en C#

El proyecto en el que estoy trabajando actualmente usa P/Invoke y ocasionalmente recibo errores al llamar a una DLL de C, lo que sospecho es una pérdida de memoria. Quiero depurar directamente el código fuente de la DLL en lugar de realizar una revisión del código. Después de buscar en línea, el método es básicamente el mismo, pero todavía hay algunas cosas a las que prestar atención en el funcionamiento real.

1. Agregue el proyecto de código fuente DLL a la solución del proyecto C# utilizado actualmente.

2. Configure el modo de generación del proyecto DLL para depurar, y el modo de depuración generará un archivo de depuración pdb.

3. Configure el modo de compilación del proyecto C# en depuración; de lo contrario, no podrá alcanzar los puntos de interrupción en el código fuente de la DLL.

4. Dado que el proyecto DLL es independiente, copie los archivos dll y pdb generados por el proyecto DLL al directorio de salida de depuración del proyecto C#.

5. Establezca puntos de interrupción y comience a depurar.

Es posible depurar un proyecto de C# en modo de lanzamiento, pero cuando combino los modos de lanzamiento y depuración para ambos proyectos, parece que la depuración solo es posible cuando ambos proyectos están en modo de depuración.