1

私のアプリケーションは、DBGHELP.DLL 関数、特にターゲット プロセスによってロードされた DLL に関する情報に依存しています。ただし、Vista より前の Windows バージョンでは失敗することがよくあります (XP がまだ残っていることはご存知ですよね!)。周りを見回すと、ターゲット システムにインストールされている/存在する DBGHELP.DLL が古く、多くの新機能をサポートしていないことがわかりました (たとえば、MiniDumpWriteDumpのいくつかのフラグは古いバージョンではサポートされていません)。

このページでは、DbgHelp のバージョンについて言及し、DBGHELP.DLL (およびその他の DLL) の配布について漠然と言及しています。OS に同梱されている DLL を同梱してはなりません (同意し、問題はありません)。すると、「Debugging Tools For Windows」から最新のDLLを出荷するように言われます。

私の質問は次のとおりです。アプリケーションに同梱できる/同梱する必要があるのはどのバージョンですか? 最新のものを選択し、それが最も低い OS (XP) で動作すると仮定しますか? もちろん、この DLL のデバッグ バージョンは出荷しません。「DbgHelp バージョン」ページでは、特定の OS のサポートについて言及していません。そのため、最新バージョンでも XP でサポートされると想定できます。

DLL をアプリケーション ディレクトリ自体に配置し、SetDllDirectoryなどの関数を条件付きで呼び出すことができます。必要に応じて、DLL 自体や DBGHELP.DLL の関数を動的にロードできます。

関連している:

4

1 に答える 1