0

反映されたコードにステップ イン (F11) できるようにするために必要なこと。

リフレクションを使用してオブジェクトを作成しています:

myObject.GetType().GetConstructor().Invoke(myParams)

コンストラクターのコードに入りたいと思います。F11 を押すと、コンストラクターのコードがスキップされます ;(

しかし同時に、ctor にブレークポイントを設定して F5 キーを押すと、このブレークポイントにヒットします。

それで、反映されたコードにステップインできるようにするためにできることはありますか。

4

4 に答える 4

4

Just My Code が問題を引き起こしている可能性があります。

Visual Studio の場合:

  1. ツール --> オプション
  2. デバッグ (左側)
  3. 右側の [マイ コードのみを有効にする (管理対象のみ)] のチェックを外します。

それが問題の原因であるとは保証できませんが、それが私の最善の策です。

于 2009-04-29T06:22:53.157 に答える
1

問題は、技術的に踏み込むコードがないことだと思います。コンパイルされたモジュールまたはライブラリを扱っていると仮定すると、コンパイルされているため、それにステップインすることはできません。自分が書いたものに足を踏み入れていても、オブジェクトはメモリ内で生成されているため、コンパイルにはおそらくそれらの命令がどこから来ているのかという概念がありません。

于 2009-04-29T05:47:50.137 に答える
0

以前も同じ問題がありましたが、調査したところ、JustMyCodeが問題であることがわかりました。通常、組み込みツールとデバッグツールのほとんどが無効になります。それを削除した後、すべてがうまくいきました。JustMyCodeが気に入った場合は、デバッグツールとして使用してください。

于 2011-01-05T23:41:58.570 に答える
0

Soviut が言ったこと: それはコンパイルされたコードであり、そこに足を踏み入れることはできません。しかし、CodeDOM を使用してクラスを生成しそれらをディスクに書き込み CodeDOM をデバッグでコンパイルすると、これが機能することがわかりました。その後、生成されたクラスにステップインできます。しかし、明らかにそれは非常に特殊なケースです。

Reflector を使用してコンストラクターで何が起こっているかを確認したい場合がありますが、それは状況の静的ビューです。

于 2009-04-29T06:01:54.940 に答える