Tengo un archivo DLL que se escribió en C++
y llama desde una aplicación de C#
. El DLL
es un código no administrado.No puede depurar no administrado DLL desde C#
Si copio los DLL
y sus .pdb
archivos con un evento posterior a la acumulación de ejecución de depuración de la aplicación de C#
dir
Todavía no puedo golpear a cualquiera de los puntos de quiebre he puesto en el código DLL
. El punto de interrupción tiene un mensaje adjunto que dice que "no se han cargado símbolos para este documento".
¿Qué más tengo que hacer para conseguir la depuración en la fuente dll
?
tengo "Tools
->Options
->Debugging
->General
->Enable
solamente mi código" personas de movilidad reducida. El DLL
está siendo compilado con "seguimiento en tiempo de ejecución y optimizaciones desactivar (/) ASSEMBLYDEBUG" y generar información de depuración en "Yes (/ DEBUG)"
Mientras que iba a responder a esto, yo no estaba' Asegúrese de si fue tan simple o no. Si es así de simple, probablemente siempre lo haya usado mal al intentar depurar el código administrado de C++ que interactúa con el código nativo. –
Tenga en cuenta que si su proyecto de inicio utiliza otro proyecto C# DLL que realmente llama a la DLL de C++, el proyecto de inicio también debe tener activada la opción "Habilitar la depuración de código no administrado". –
Seleccione la solución en el Explorador de soluciones. Seleccione desde> Menú | Herramientas | opciones | Depuración | General y desmarque "Requerir archivos fuente para que coincida exactamente con la versión original" – Martin