分发DbgHelp.DLL

时间:2017-06-15 07:53:08

标签: c++ c windows dll dbghelp

我的应用程序依赖于DBGHELP.DLL函数,尤其是目标进程加载的DLL的信息。但是,很多时候它在Windows版本低于Vista时失败(你知道XP仍然存在!)。环顾四周,发现目标系统上已安装/存在的DBGHELP.DLL已经过时,并且不支持许多新功能(例如,旧版本中不支持MiniDumpWriteDump的少量标记)。

This page提及DbgHelp版本,并含糊地提到有关分发DBGHELP.DLL(和其他DLL)的内容。操作系统附带的DLL不得发货(同意,并且没有相关问题)。然后它说出了“Windows调试工具”中的最新DLL应该发货。

我的问题是:应用程序可以/应该附带哪个版本?选择最新的一个,并假设它将在最低操作系统(XP)中工作?当然,我不会发送这个DLL的Debug版本。 “ DbgHelp版本”页面未提及特定操作系统的可支持性 - 因此我们可以假设XP上将支持最新版本。

我会将DLL放在应用程序目录本身,并可能有条件地调用SetDllDirectory之类的函数。如果需要,可以动态加载DLL本身和/或DBGHELP.DLL的任何函数。

相关:

1 个答案:

答案 0 :(得分:1)

丢失的文件错误之一是由于文件被删除或损坏而引起的。有不同的方法可以解决不同的Windows版本。如果您确实需要修复dbghelp.dll丢失的错误,则需要安装Microsoft Direct X,请按照其安装的分步方法进行操作。