問題タブ [clr-profiling-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - ClrProfiler で、ObjectID から管理オブジェクトを取得する方法
コードで適切に処理されたにもかかわらず、例外の詳細をキャプチャする必要があるカスタム要件のために、.Net プロファイラーを構築しています。そうするために-
- ICorProfilerCallback を実装しました
- COR_PRF_MONITOR_EXCEPTIONS の SetEventsMask
- ExceptionThrown コールバックを実装しました
これまでのところ、例外がスローされるたびにコールバックを取得しています。ただし、実際の例外オブジェクトへのポインターである OjbectID を提供します。例外に関するメッセージ、コール スタックなどの詳細が必要です。
ObjectID からオブジェクトの詳細を取得するにはどうすればよいですか?
asp.net - IL を mscorlib に書き換えて w3wp.exe をクラッシュさせる
ASP.Net WebApp でファイルが開かれていることを監視するために、IL リライターを構築しました。そのために、mscorlib の FileStream クラスにある「Init」というプライベート メソッドの IL を書き直しています。ここでは、エピローグ/プロローグを挿入して、カスタム コールバックを登録します。
注射はうまくいっています。Windows アプリケーションでファイルが開かれるたびに、カスタム コールバックも呼び出されます。
しかし、ASP.Net Web アプリケーションに対して同じことを行うと、次のエラーでクラッシュし続けます -
System.ExecutionEngineException が処理されませんでした
.Net ベースのデスクトップ アプリケーションで正常に動作するかどうか、.Net ベースの Web アプリケーション、つまり ASP.Net で動作しない理由がわかりません。Web アプリケーションとデスクトップ アプリケーションの違いは何ですか?
上記のエラーをグーグルで調べても解決策は得られません:(
c++ - .Net IL の TypeRef から TypeSpec を定義する
カスタム コードをいくつかのメソッドに挿入するカスタム IL リライターを作成しました。この注入の一部として、 のオブジェクトをインスタンス化したいと思いますList<int>
。List~1 の mdTokenRef は既に見つかりました。
この mdTokenRef から、TypeSpec を定義または取得するにはどうすればよいですか? そのために、以下に示すように TypeSpecBlog を定義できます。しかし、TypeSpec を見つけるために ICorProfiler API を探しています。
c++ - COR プロファイラーで AssemblyID からアセンブリ情報を取得する方法は?
ロードされたすべてのアセンブリの情報を、公開キー、バージョンなどのメタデータと共にキャプチャしたいと考えています。そのために、ICorProfiling API とコールバックを使用して .Net カスタム プロファイラーを開発しました。AssemblyLoadFinished イベントをサブスクライブすることで、読み込まれたアセンブリ ID をキャプチャできます。しかし、この AssemblyID から、公開キー、バージョンなどのアセンブリ メタデータを取得するにはどうすればよいですか?
「IMetaDataAssemblyImport::GetAssemblyProps」というメソッドを見つけました。ただし、アセンブリ トークン (つまり、mdAssembly) は受け入れます。AssemblyID を mdAssembly に変換するにはどうすればよいですか?