11

我使用来自 CodeProject 的 Jochen Kalmbach 的 StackWalker 类,当我的 DLL 中发生异常时生成堆栈跟踪。

它依赖于 DbgHelp.dll

DbgHelp.dll 是否内置在 Windows Vista、WS2008、Windows 7 中?

我知道Microsoft的 Windows 调试工具,并且我知道 DbgHelp.dll 包含在该软件包中。但我还在我的机器上的 %windir%\system32 中找到了 DbgHelp.dll。


如果默认情况下没有安装它,我有没有办法用我的 DLL 的调试版本重新分发它?

4

2 回答 2

10

微软说

“DbgHelp 库由 DbgHelp.dll 实现。此 DLL 包含在操作系统中。”

请注意,当前包含在 Windows 调试工具中的版本可能与操作系统中包含的版本不同。

于 2009-10-25T02:14:37.337 回答
2

通常最好将 dbghelp.dll 与您的应用程序一起提供,以确保您获得所需的版本。我相信出于这个原因它是可再分发的。

但是,值得记住的是调试运行时库是不可再分发的。您的调试版本必须仍然是(在 VC++ 术语中)“发布”版本。

于 2009-10-25T02:49:44.770 回答