DbgHelp.dll 是 Windows 内置的吗?我可以依赖它的存在吗?
我使用 CodeProject 中的 Jochen Kalmbach 的 StackWalker 类,在我的应用程序中发生异常时生成堆栈跟踪DLL。
它依赖于 DbgHelp.dll
DbgHelp.dll 是否内置于 Windows Vista、WS2008、Windows 7 中?
我了解 Microsoft 的Windows 调试工具,并且我知道 DbgHelp.dll 包含在该包中。但我还在我的机器上的 %windir%\system32 中找到了 DbgHelp.dll。
如果默认情况下未安装它,是否可以通过 DLL 的调试版本重新分发它?
I use Jochen Kalmbach's StackWalker class from CodeProject, to produce a stacktrace when an exception occurs in my DLL.
It relies on DbgHelp.dll
Is DbgHelp.dll built-in to Windows Vista, WS2008, Windows 7?
I know about The Debugging Tools for Windows from Microsoft, and I'm aware that DbgHelp.dll ships in that package. But I also found DbgHelp.dll in %windir%\system32 on my machine.
If it is not installed by default, is there a way for me to redistribute it with debug builds of my DLL ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Microsoft 表示:
“DbgHelp 库已实现由 DbgHelp.dll 提供。”
请注意,Windows 调试工具当前包含的版本可能与操作系统包含的版本不同。
Microsoft says:
"The DbgHelp library is implemented by DbgHelp.dll. This DLL is included in the operating system."
Note that the version currently included with Debugging Tools for Windows may not be the same version that is included with the operating system.
通常最好将 dbghelp.dll 与您的应用程序一起提供,以确保您获得所需的版本。我相信正是因为这个原因它是可重新分发的。
但是,值得记住的是,调试运行时库不可重新分发。您的调试版本必须仍然是(用 VC++ 术语)“发布”版本。
It's generally best to ship dbghelp.dll with your application to ensure you get the version you're expecting anyway. I believe that it's redistributable for this very reason.
However, it's worth remembering that the debug runtime library is not redistributable. Your debug builds must still be (in VC++ terms) "release" builds.