Une mauvaise version d'une DLL (MSVCR90d.dll au lieu de MSVCR90.dll) est utilisée pour l'opérateur de suppression, provoquant un plantage. Dans la pile d'appel, seul le nom de la DLL est affiché, pas leur chemin. Comment voir le chemin? Edit: Je construis en mode Release, pas en mode debug. Alors, pourquoi la DLL de débogage est-elle utilisée? J'ai vu le même problème signalé sur de nombreux autres sites, mais je n'ai pas trouvé de solution de travail. Hier, j'ai trouvé Dependency Walker que la DLL de débogage est en train d'être récupérée, donc j'ai renommé la DLL, puis la version a été récupérée dans Dependency Walker, et mon programme ne s'est pas crashé. Je n'ai rien changé aujourd'hui, mais le programme a recommencé à planter. Et quand je vois l'arbre de dépendant de dépendance, il montre MSVCR90d.dll (le debug dll) avec un point d'interrogation, disant qu'il n'a pas pu le trouver dans le chemin. Pourquoi ne peut-il pas ramasser la version dll? Aussi, je ne sais pas d'où la DLL de débogage est utilisée par le runtime.Microsoft Visual Studio: comment trouver l'emplacement de chargement d'une DLL?
Répondre
Pour découvrir les détails d'un dll, vous pouvez utiliser DependencyWalker
Cependant, dans votre cas, je pense que d
est d'être ajouté au nom de dll
, probablement parce que vous créez une construction DEBUG
, et pour cela DEBUG
versions de toutes les dlls
sont chargées.
Si vous choisissez de créer un RELEASE
construire, vous n'auriez pas une d
annexée à msvcr90.dll
J'ai créé une version Release (avec les symboles de débogage activés), pas une version Debug. Je ne sais pas pourquoi la version de débogage de MSVCR90d.dll est ramassé. –
Je pense que cela permettrait à VS d'utiliser aussi la version de débogage. Essayez une fois sans elle, et cela le confirmerait. Vous pouvez ensuite republier une nouvelle question ou la modifier en conséquence, pour obtenir une réponse appropriée. –
Je viens d'essayer après avoir supprimé les options de débogage dans les paramètres du compilateur et de l'éditeur de liens, mais toujours confrontés au même problème. La DLL de débogage est utilisée et se bloque. –
Vous n'avez pas besoin de savoir chemin dll, vous devez comprendre pourquoi la version de débogage de l'opérateur de suppression est appelé . Peut-être que la constante _DEBUG est définie dans la configuration de la version.
- Vous pouvez les ajouter dans votre variable d'environnement PATH globale. Refer here
- Vous pouvez spécifier la DLL manuellement en cliquant avec le bouton droit sur la solution et en sélectionnant Ajouter une référence, puis naviguez jusqu'à la DLL particulière.
- Vous pouvez ajouter le chemin aux DLL aux paramètres des fichiers exécutables sous Outils> Options> Projets et Solutions> Répertoires VC++
Je suis d'accord avec la réponse de @Ozair Kafray aussi !! – Jayesh
Hey Jayesh, s'il vous plaît trouver ma question éditée avec plus de détails. J'ai ajouté une référence au répertoire contenant la Release dll, mais toujours pas de changement dans le comportement d'exécution, je ne sais pas d'où la DLL de débogage est récupérée, ou pourquoi la DLL de débogage est utilisée même, depuis que j'ai construit mon programme en mode de libération. –
Il ne devrait pas choisir le mauvais normalement. Veuillez utiliser l'outil [Fiddler] (http://www.fiddler2.com/fiddler2/) pour analyser l'itinéraire de votre application Web .... – Jayesh
- 1. Lier Microsoft Visual Studio DLL à un WDK LIB
- 2. Objets Microsoft Visual Studio
- 3. Microsoft Visual Studio Environment
- 4. Problème DLL Visual Studio
- 5. Chargement .dll à utiliser dans Visual Studio 2010
- 6. Application multilingue, Microsoft Visual Studio?
- 7. Licence Microsoft Visual Studio Professional
- 8. Onglets verticaux Microsoft Visual Studio
- 9. CMake, Microsoft Visual Studio et Monolithic Runtimes
- 10. Liaison dll dans Visual Studio
- 11. Comment lier .dll dans visual studio 2008?
- 12. Visual Studio Debugging DLL référencé
- 13. Visual Studio 2008 dll question
- 14. Visual studio - erreur avec dll.
- 15. Visual Studio .dll Référence introuvable?
- 16. Microsoft Visual Studio/Silverlight question de débutant
- 17. Commande de fichiers Microsoft Visual Studio 2012
- 18. Compilation du code LoginAdmin.dll de Microsoft sans Visual Studio
- 19. Html dans Microsoft Visual Studio 2010?
- 20. Microsoft Visual Studio 2008 Édition Express - APPCRASH
- 21. Comment déboguer DllMain dll natif dans visual studio 2010
- 22. Création de DLL C++ avec Visual Studio
- 23. Microsoft Code des marchés sans Visual Studio
- 24. Visual Studio 2005 non Chargement
- 25. Makefile dans Microsoft Visual Studio 2010
- 26. Microsoft Project Visual Studio et C#
- 27. HTML5 avec Microsoft Visual Studio 2010
- 28. Microsoft Visual Studio 2008 projet d'installation
- 29. studio Microsoft Visual 2008 C2143 d'erreur, C2059
- 30. Trouver des références Visual Studio 2010
a fait, l'une des réponses pour vous? Si non, avez-vous trouvé une autre solution? Si oui, vous devriez le publier ici et l'accepter comme réponse. –