2009-04-29 12 views
0

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

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

myObject.GetType()GetConstructor()を呼び出します(myParams)

を、私は、コンストラクタのコードに行きたいです。。。 (

を私はctorのにブレークポイントを置いて、F5をヒットした場合、同時に - それは、このブレークポイントにヒットする

をので、私が何かできることがあり、私はF11を押すと、それだけで、コンストラクタのコードをスキップします。

+0

Hey alex。あなたは私の答えを正しいものとしてマークしてください:)。 –

+0

ジョナサン、ありがとう。 – AlexKelos

答えて

4

問題が発生している可能性があります。 Visual Studioで

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

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

+0

ありがとうございました。それは雄牛の目に当たった。ワーキング。素晴らしい。ありがとう。 – AlexKelos

1

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

+0

私たちが同じことを話しているかどうかはわかりません。私は言った - 私はctorのコードにステップすることはできませんでしたが、単純なブレークポイントを入れてデバッグ(F5)するだけでこのコードに入ることができます。だからステップインは、VSが暗黙のうちにブレークポイントを追加することで "エミュレート"され、VSが私がMethodBase.Invokeに入るステップを検出した場合にF5-ingすることができます(それは50%の反射をカバーするべきです) – AlexKelos

0

Soviutが言ったことは:コンパイルされたコードだから、そのステップに入ることはできません。しかし、CodeDOM を使ってクラスを生成するときに、このコードがディスク Debugにコンパイルされたディスクに書き込まれているのを見てきました。次に、生成されたクラスに入ることができます。しかし、明らかにそれは非常に特殊なケースです。

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

0

私は前に同じ問題がありましたが、いくつかの研究の後で、私はJustMyCodeが問題であることに気付きました。通常、組み込みのvsデバッグツールのほとんどは無効になっています。それを取り除いた後はすべてうまくいった。 JustMyCodeが好きなら、それをデバッグツールとして使用してください。

関連する問題