要するに、アプリケーションからDLLへの選択された呼び出しを監視したいのです。
ソースコードを失った古いVB6アプリケーションがあります(当時、同社はソース管理を使用していませんでした)。このアプリケーションは、サードパーティのDLLを使用します。
これをDLL新しいC++アプリケーションで使用したい。残念ながらDLL APIは部分的にしか文書化されていないため、一部の関数を呼び出す方法がわからない。私は関数シグネチャを持っています。
VB6アプリケーションはこのDLLを使用するため、複数の関数を呼び出す方法を確認したいと思います。これまで私が試したか見ました-
struct
モジュールを使用してPythonで多くの変換を行う必要があります。関数のパラメーターを記録するだけなので、簡単な解決策が必要です。自動化されたツールはありますか。監視する機能とその署名を特定し、詳細なログファイルを取得できますか?
いくつかのGoogle検索で、探していたものが見つかりました: WinAPIOverride32 。次のようなテキストファイルを作成できます。
CustomApi.dll|void NameOfFunction(long param1, double& param2);
後で、これらのファイルをプログラム内で使用して、NameOfFunction
へのすべての呼び出しを記録できます。ここで、配列と構造体パラメーターを記録する方法を理解する必要があります。
「静的」ソリューション(オンデマンドでスタックトレースをキャプチャできるという意味)は、 Process Monitor になります。
より動的なソリューションは ApiMonitor ですが、監視するにはアプリケーションと互換性がないために古すぎる可能性があります。試してみる価値があります。
Visual Studioアドインランタイムフローここ :
ランタイムのランタイムフローは、実行中の.NETアプリケーションの関数呼び出しと関数パラメーターを監視および記録し、スタックトレースツリーを表示します。監視にインストルメンテーションまたはソースコードは必要ありません。