0

Intel Inspector を使用して DLL を分析したいと考えています。この DLL はプラグイン アプリケーション用です。拡張フォルダーに移動し、別のアプリケーション mainApp.exe から実行されます。

しかし、Intel Inspector では、UI から新しいプロジェクトを作成すると、開いているタブでアプリケーションをプロファイリングする必要があり、拡張子が .exe のファイルのみを受け入れます。

ソースを .exe ファイルにコンパイルできません。これは、メインがないためです。DLL を実行するには、他に 2 つの .exe を起動する必要があります。mainApp.exe と、mainApp のメニュー バーから実行する SDKapp.ex です。コンパイルしようとしましたが、具体的には LNK 2019 エラーが発生しました。これは、サブシステムをコンソールに変更しても消えません。

したがって、AQTime などの他のプロファイラーを使用する必要がありますか、または Intel Inspector から DLL をプロファイリングする方法はありますか。

4

1 に答える 1

0

DLL をプロセス myApp.exe にアタッチする必要がある場合、ターゲット タブ アプリケーションは myApp.exe である必要があります。

Inspector は、myApp.exe の実行中に起動される DLL 内のメモリ リークを含め、すべてのメモリ リークを明らかにします。

詳細はこちら: https://software.intel.com/en-us/forums/topic/285260

インテル Inspector を実行中の任意の時点でプロセスにアタッチすることと、アプリが終了する前に DLL をテストすることは、2 つの非常に異なるタスクです。前者の場合、Intel Inspector が分析を開始すると、以前に何が行われたか、どのメモリ割り当てが行われたか、それらの境界がどこにあるか、さらには割り当てがいくつ行われたかについての手がかりがありません。割り当てのリーク テストと境界テストは忘れてください。アタッチ前に発生したもの。テストのために特定の DLL (またはセット) を選択することは、ツールが (少なくとも DLL の実行の) 最初からそこにあったと想定し、DLL アクティビティの期間中にそのような割り当てデータをキャプチャする機会をツールに与えます。偶然にも、インテルはちょうどそのような機能を提供する Windows* Update 5 用のインテル Inspector XE 2011 をリリースしました。

分析用にプロジェクトを構成する際のモジュールの包含/除外機能の強化 - たとえば、特定のモジュールを検査して他のすべてのモジュールの検査を無効にしたり、特定のモジュールの検査を無効にして他のすべてのモジュールを検査したりできます。

于 2014-05-24T15:16:43.877 に答える