XPerf や GPUView などの Windows Performance Toolkit プログラムを使用してこれらを表示できるように、パフォーマンス カウンターとカスタム イベントをソフトウェアに追加しようとしています。ソフトウェアのドキュメントの状態や、Web から手がかりをつかもうとして無駄にしてしまった時間について、カタルシスのような暴言を吐き出すことは、自制のすべての力を使って差し控えるつもりです。これが他の失われた魂に役立つ場合に備えて、私がどのようにして現在の場所にたどり着いたかを説明します.
ここまでで、パフォーマンス カウンターとイベントのイベント マニフェストを作成する必要があることがわかりました。これは、手動で行うか、' ecmangen.exe 'というツールを使用して行うことができます。そのプログラムのドキュメントには、マニフェストを作成するイベントの段階的なガイドが記載されていますが、これらをコードに統合する方法については説明されていません。
私が理解できる限り、次のステップは、2 つの不可解なコマンド ライン アプリケーション ' MC.exe ' と ' CTRPP.exe ' を使用することです。これらは、C または C# のヘッダー、ソース ファイル、およびリソース ファイルを生成して、イベントおよびカウンター インストルメンテーションをコードにそれぞれ追加するようです。次に、コードをビルドする必要があります ('C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\winbase\Eventing' のサンプルを見てください)。次の不可解なツール ' wevtutil.exe ' の正しい使用
このツールには 2 つのものが必要です。これらのリソースを使用してコンパイルしたバイナリ (exe または DLL) と、それらのリソースを生成するために使用したマニフェスト ファイルです。私が抱えている問題は、バイナリ ファイルがどこにあるかについて非常にうるさいことです。呪文とヤギの生贄は何の成果ももたらさなかった。
「c:\MYDIR\TEd.exe」などのマニフェスト ファイルの「provider」タグの「resourceFileName」フィールドにパスが定義されていれば問題ありません。ただし、同じ exe を別のフォルダー (失敗したフォルダーは C:\tw\TEd.exe) に置くと、問題が発生します。
表示されるエラー メッセージは、「警告: パブリッシャー TEd-Event-Provider リソースにアクセスできません」です。しかし、なぜ、またはどこを見ようとしたのかについては、これ以上の説明はありません。
それで、私は間違った方法でインストルメンテーションを追加しようとしていますか、すべての落とし穴とディレクトリ名に対する「wevtutil.exeの奇妙な選択性の性質」を説明するガイドがすでにありますか.
前もって感謝します、
ティム。