Является ли DbgHelp.dll встроенным в Windows? Могу ли я полагаться на то, что он там?

Я использую класс Jochen Kalmbach StackWalker из CodeProject для создания stacktrace, когда в моей DLL возникает исключение.

Он полагается на DbgHelp.dll

Является ли DbgHelp.dll встроенным в Windows Vista, WS2008, Windows 7?

Я знаю о средствах отладки для Windows от Microsoft, и я знаю, что DbgHelp.dll отправляется в этот пакет. Но я также нашел DbgHelp.dll в% windir%\system32 на моей машине.


Если он не установлен по умолчанию, есть ли способ перераспределить его с помощью отладочных сборников моей DLL?

Ответ 1

Microsoft говорит:

"Библиотека DbgHelp реализована DbgHelp.dll. Эта DLL включена в операционную систему.

Обратите внимание, что версия, которая в настоящее время включена в Инструменты отладки для Windows, может быть не той же версией, которая включена в операционную систему.

Ответ 2

Как правило, лучше всего отправить dbghelp.dll с вашим приложением, чтобы гарантировать, что вы получите версию, которую вы ожидаете в любом случае. Я считаю, что он перераспределяется именно по этой причине.

Однако стоит помнить, что библиотека времени выполнения отладки не распространяется. Ваши отладочные сборки все равно должны быть (в версиях VС++) "release".