我的应用程序依赖于DBGHELP.DLL函数,特别是目标进程加载的DLL的信息。但是,很多时候它在低于Vista的Windows版本上会失败(你知道XP仍然存在!)环顾四周,发现目标系统上安装/呈现的DBGHELP.DLL是旧的,并且不支持许多新特性(例如,在旧版本中不支持很少的MiniDumpWriteDump标志)。
此页提到了DbgHelp版本,并含糊地提到了分发DBGHELP.DLL (和其他DLL)。操作系统附带的DLLs不能提供(同意,并且没有任何问题)。然后它说应该提供最新的“Windows调试工具”中的DLL。
我的问题是:应用程序可以/应该提供哪个版本?选择最新的操作系统,并假设它将在最低操作系统(XP)中工作?当然,我不会发布这个DLL的调试版本。"DbgHelp版本“页面没有提到对特定OSes的可支持性,因此我们可能假设即使是最新版本也会在XP上得到支持。
我会将DLL放入应用程序目录本身,并且可以有条件地调用像SetDllDirectory这样的函数。如果需要,可以动态加载DLL本身和/或DBGHELP.DLL的任何函数。
相关信息:
发布于 2020-02-25 06:47:43
当文件被删除或损坏时,会出现一个丢失的文件错误。对于不同的windows版本,有一种不同的修复方法。如果您确实需要修复dbghelp.dll丢失的错误,您需要安装Microsoft,遵循安装过程中的逐步方法。
https://stackoverflow.com/questions/44561760
复制相似问题