3

私はVisual Studio 2015を使い始めたばかりで、自動実装されたプロパティをデバッグするとき、VS2012/VS2013とは動作が異なることがわかりました。VS2015では、自動実装されたプロパティでステップインを無効にするにはどうすればよいですか?

public int MyProperty { get; set; } 

すなわち:

は、私はクラスで定義されたプロパティを持っていると言います。 getterとsetterがコンパイラによって効果的に生成される自動実装のプロパティです。

私は、例えば、メソッド呼び出しの一部として、後でこのプロパティを参照することがあります。

{ 
    DoSomeStuff(MyProperty); 
} 

私はDoSomeStuffへの呼び出しをデバッグし、その行にブレークポイントを置きたい場合は、それを待ちますヒットし、F11からステップインしてコールすると、VS2015デバッガはMyPropertyのゲッタにステップインします(以前のバージョンでは、自動実装されたプロパティの場合、ゲッタとセッタは無視されます)。

自動ゲッター&セッターにブレークポイントを設定する機能を記述したblog postが見つかりました。この機能がどのように役立つのかがわかります。しかし、私の場合、私たちのコードベースは多くの自動実装されたプロパティを持ち、それらへのアクセスがしばしば入れ子になっているため(特にDoSomeStuff(X.Y.Z))、これらのメソッドをブレークポイントまたはステッピングにすることには興味がありません。

要するに、VS2015の自動実装プロパティの新しいステップイン動作を無効にすることは可能ですか?

(私はデバッグオプションで「ステップのプロパティと演算子オーバー」のチェックボックスに気づいたが、私はすべてのプロパティのgetter/setterをステップオーバーしたくない、ちょうどそれらの自動実装プロパティのため。)

+0

通常は、ほとんどすべての段階でプロパティをステップオーバーし、特定のプロパティコードを実際にデバッグする必要がある場合にのみ実行してください。コンテキストメニューには、ステッピングに関する多くのオプションがあります。 – Phil1970

答えて

3

ゴーVS2015オプション - > debugging - > generalとtick "プロパティと演算子のステップオーバー"を参照してください。

+0

私は自分の答えを編集して、一般的な動作を変更する方法を教えてくれました。 – Kinetic

+1

私はこれを答えとしてマークしましたが、それは核となるものですが、ステップインは自動実装されたプロパティだけでなくすべてのプロパティのために阻止されます。これを防止する方法はありません。これは、以前のバージョンのVSからの動作が変更されたためです。 –

関連する問題