Question

Mon application compile avec VC6 SP6, utilise DBGHelp.lib pour obtenir des informations pile. Le code est simmilar dans les compilations de débogage et de libération. Le problème est que lors de l'exécution de la version de débogage, les charges DBGHelp.dll MSVCRT.dll (la version). msvcrtd.dll est déjà chargé par mon lien de débogage de toute façon. Donc, je finis par avoir à la fois msvcrtd.dll et msvcrt.dll dans le processus dans la version de débogage. Le DSP est configuré pour charger les bibliothèques par défaut, et msvcrt (d) lib sont pas mentionnés directement à tous. Si je prends le code qui utilise Dbghelp.dll et supprimer DBGHelp.lib de la liste des liens dsp, msvcrt.dll est pas chargé.

Comment puis-je résoudre ce problème?

Je dois avoir que msvcrtd.dll dans mon exécution de débogage.

Y at-il une version spéciale de Dbghelp.dll pour le débogage (qui utiliserait msvcrtd.dll)?

Était-ce utile?

La solution

Quel est le problème avec les deux ayant MSVCRT.LIB et MSVCRTD.DLL chargés? Ceci est seulement dans votre Debug de toute façon, j'aurais pensé, comme vous semblez noter dans la question.

Je ne pense pas que vous voulez vraiment commencer déconner avec débogage OS DLL - c'est ce que Dbghelp.dll est -. Ce n'est pas plus souhaitable que d'avoir votre application charger un débogage Kernel32.dll, par exemple

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top