C++ DbgHelp.dll是否内置于Windows中?我能相信它在那里吗?
我使用,在DLL中发生异常时生成stacktrace 它依赖于DbgHelp.dll DbgHelp.dll是否内置于Windows Vista、WS2008和Windows 7中 我从微软那里知道,而且我知道DbgHelp.dll在那个软件包中。但我也在我的机器上的%windir%\system32中找到了DbgHelp.dllC++ DbgHelp.dll是否内置于Windows中?我能相信它在那里吗?,c++,c,winapi,stack-trace,dbghelp,C++,C,Winapi,Stack Trace,Dbghelp,我使用,在DLL中发生异常时生成stacktrace 它依赖于DbgHelp.dll DbgHelp.dll是否内置于Windows Vista、WS2008和Windows 7中 我从微软那里知道,而且我知道DbgHelp.dll在那个软件包中。但我也在我的机器上的%windir%\system32中找到了DbgHelp.dll 如果默认情况下未安装,是否有办法使用DLL的调试版本重新分发它?: “DbgHelp库由DbgHelp.dll实现。此dll包含在操作系统中。” 请注意,当前包含在
如果默认情况下未安装,是否有办法使用DLL的调试版本重新分发它?: “DbgHelp库由DbgHelp.dll实现。此dll包含在操作系统中。”
请注意,当前包含在Windows调试工具中的版本可能与操作系统中包含的版本不同。通常最好随应用程序一起提供dbghelp.dll,以确保获得预期的版本。我相信正是因为这个原因,它是可以再发行的
但是,值得记住的是,调试运行库是不可再发行的。您的调试版本必须仍然是(用VC++术语)版本。这部分是正确的,据我所知,它没有与NT 4/Windows 2000捆绑在一起,但自XP/Server 2003以来,我没有遇到任何缺少DLL的问题,但值得记住。如果它丢失了,您可以随时下载调试工具并在该机器上安装,它将正常工作。这就是我在过去使用Windows 2000调试较小问题时必须做的。它仍然依赖于msvcrt.dll(文件名中没有版本指示),因此它不像“独立”中那样可分发。请注意,根据,您不能自行发布
dbghelp
&co dll,而是发布.msi
,“未修改,作为一个包”,其中包括所述DLL:程序文件\Windows Kits\8.1\debugers\Redist\X86调试器和Tools-X86_en-us.msi程序文件\Windows Kits\8.1\debugers\Redist\X64调试器和Tools-X64_en-us.msi
。