简体   繁体   English

分发 DbgHelp.DLL

[英]Distributing DbgHelp.DLL

My application relies on DBGHELP.DLL functions, especially the information about the loaded DLLs by the target processes.我的应用程序依赖于 DBGHELP.DLL 函数,尤其是有关目标进程加载的 DLL 的信息。 However, many times it fails on Windows versions lower to Vista (you know XP is still there!).然而,很多时候它在低于 Vista 的 Windows 版本上失败(你知道 XP 仍然存在!)。 Looked around and found that installed/present DBGHELP.DLL on the target system is old, and doesn't support many new features (For example, few flags of MiniDumpWriteDump are not supported in older versions).环顾四周,发现目标系统上安装/存在的DBGHELP.DLL是旧的,并且不支持许多新功能(例如,旧版本不支持MiniDumpWriteDump的几个标志)。

This page mentions about the DbgHelp versions and vaguely mentions about distributing the DBGHELP.DLL (and other DLLs). 该页面提到了 DbgHelp 版本,并含糊地提到了分发 DBGHELP.DLL(和其他 DLL)。 DLLs shipped with OS must not be shipped (agreed, and no issues about it).不得附带操作系统附带的 DLL(同意,没有任何问题)。 Then it says latest DLL out of "Debugging Tools For Windows" should be shipped.然后它说应该提供“Windows 调试工具”中的最新 DLL。

My question is : Which version can be/should be shipped with the application?我的问题是:应用程序可以/应该随附哪个版本? Pick the latest one and assume it will work in lowest OS (XP)?选择最新的并假设它可以在最低的操作系统 (XP) 中运行? Of course, I won't ship Debug version of this DLL.当然,我不会发布这个 DLL 的调试版本。 The " DbgHelp versions " page doesn't mention about supportability for specific OSes - so we may assume that even latest version will be supported on XP. DbgHelp 版本” 页面没有提到特定操作系统的可支持性 - 因此我们可能假设即使是最新版本也将在 XP 上受支持。

I would put the DLL in the application directory itself, and may conditionally call functions like SetDllDirectory .我会将 DLL 放在应用程序目录本身中,并且可以有条件地调用像SetDllDirectory这样的函数 If needed, the DLL itself and/or any functions of DBGHELP.DLL may be loaded dynamically.如果需要,可以动态加载 DLL 本身和/或 DBGHELP.DLL 的任何函数。

Related:相关:

One of the missing file error occurs as the file is deleted or corrupted.当文件被删除或损坏时,会发生丢失文件错误之一。 There is a different approach to its fix on the different windows versions.在不同的 Windows 版本上有不同的修复方法。 If you certainly need to fix dbghelp.dll missing error you need to install Microsoft Direct X follow the step-by-step method from installation of it.如果您确实需要修复dbghelp.dll丢失错误,您需要按照安装 Microsoft Direct X 的分步方法进行安装。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM