4

例外の考えられる原因を見つけるために、Reflectorを使用してコードパスをたどっています。私はどんどん深くなっていきましたが、次のようなメソッド呼び出しになりました。

[MethodImpl(MethodImplOptions.InternalCall)]
private extern void SomeMethod(int someParameter);

メソッドのこのマークアップは、フレームワークにC++関数をどこかで呼び出すように指示します。実際に呼び出されるメソッド、さらには他に呼び出される可能性のあるメソッドを見つける方法はありますか?

注意:このメソッドのソースコードは実際には見たくありません。このメソッド呼び出しに起因する例外が発生する可能性があることを知りたいだけです。

4

2 に答える 2

3

内部呼び出しは、CLRのC++関数を呼び出すことになります。それらはRotorのソースコードにあります。clr \ src \ vm \ ecall.cppを調べて、.NETの表示名からCLR関数名へのマッピングを見つけます。ソースが古くなっていることに注意してください。

于 2010-05-05T18:46:03.990 に答える