views:

311

answers:

2

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 ?

+7  A: 

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.

James McNellis
A: 

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.

DrPizza