DBGHelp.dll导致在调试版本中加载msvcrt.dll

时间:2010-10-24 14:55:25

标签: c++ linker msvcrt dbghelp

我的应用程序使用VC6 sp6编译,使用DBGHelp.lib获取堆栈信息。代码在调试和发布编译中是相似的。 问题是,在执行调试版本时,DBGHelp.dll会加载msvcrt.dll(发行版)。无论如何,我的调试链接已经加载了msvcrtd.dll。 所以我最终在调试版本的过程中同时拥有msvcrtd.dll和msvcrt.dll。 dsp设置为加载默认库,并且根本不直接提及msvcrt(d).lib。 如果我取出使用DBGHelp.dll的代码并从dsp链接列表中删除DBGHelp.lib,则不会加载msvcrt.dll。

我该如何解决这个问题?

我的调试执行中只需要msvcrtd.dll。

是否有特殊版本的DBGHelp.dll用于调试(会使用msvcrtd.dll)?

1 个答案:

答案 0 :(得分:0)

加载MSVCRT.LIB和MSVCRTD.DLL有什么问题?无论如何,这只是在你的Debug构建中,我想,正如你在问题中似乎注意到的那样。

我认为你真的不想开始搞乱调试操作系统DLL - 这就是DBGHELP.DLL - 例如,这不比让你的应用程序加载Debug Kernel32.dll更令人满意。