J'ai une DLL qui a été écrite en C++
et appelée à partir d'une application C#
. Le DLL
est un code non géré.Impossible de déboguer Dll non géré à partir de C#
Si je copie les DLL
et ses .pdb
fichiers avec un événement post de construction à l'exécution de débogage de l'application C#
dir
Je ne peux toujours pas frapper les points de rupture que je mets dans le code DLL
. Le point d'interruption est associé à un message indiquant que "aucun symbole n'a été chargé pour ce document".
Que dois-je faire d'autre pour obtenir le débogage dans la source dll
?
Je "Tools
->Options
->Debugging
->General
->Enable
que mon code" Désactivé. Le DLL
est compilé avec « suivi de l'exécution et de désactiver les optimisations (/ ASSEMBLYDEBUG) » et générer des informations de débogage « Oui (/ DEBUG) »
Pendant que je vais répondre, je n » étais pas Je suis sûr que si c'était si simple ou pas. Si c'est si simple, je l'ai probablement mal utilisé en essayant de déboguer le code C++ géré qui s'interface avec le code natif. –
Notez que si votre projet de démarrage utilise un autre projet DLL C# qui appelle réellement la DLL C++, le projet de démarrage doit également avoir "Activer le débogage de code non géré" activé. –
Sélectionnez la solution dans l'Explorateur de solutions. Sélectionnez dans> Menu | Outils | options | Débogage | Général et décochez "Exiger que les fichiers source correspondent exactement à la version d'origine" – Martin