方法:条件を使用してブレークポイントを作成しますか? [C#Express]
-
06-07-2019 - |
質問
Visual C#2008 RSSフィードでこれを永遠に見ています:
http://lincolnfair.net/oldLincolnFair/mad.jpg
これはVS 2010のみの機能であると確信していますが、VS 2008でこれを複製する方法があるかどうか疑問に思っていましたか?
解決
@Relsterと同様に、次のコードスニペットがあります
#if DEBUG
if( node.Name == "Book" )
System.Diagnostics.Debugger.Break();
#endif
node.Name ==" Book"
は、テストする条件に基づいて変化します。 #if DEBUG
ラッパーは、チェックによってコードがリリースされないようにします。
これは、Visual Studioで条件付きブレークポイントを使用するよりも非常に高速です。組み込みの条件付きbp Visual Studioを使用する場合、アプリに侵入し、すべてのスレッドを一時停止し、式を評価して、ブレークポイントに達するたびにtrueであるかどうかを判断する必要があります。タイトループでは、これはほぼ完全な実行パフォーマンスとクロールでの実行の違いになります。
他のヒント
VS 2008でも実行できます。いろいろな方法があるはずですが、1つの方法は、既存のブレークポイントの余白にある赤い点を右クリックすることです& condition ...
を選択し、 bool
に評価される条件を指定するだけで、それが真の場合にのみブレークします。条件文は、ブレークポイントが設定されている行のスコープ内にあるものすべてにアクセスできる必要があります。
そのコンテキストメニューには、ブレークの原因となるもの(特定のスレッドのみなど)をフィルタリングしたり、ブレークポイントがヒットした回数に基づいてブレークしたり、ブレークポイントにヒットしたときにマクロを実行したりできる他のオプションもあります。など。
これを行う別の方法は、独自の条件を作成し、次の呼び出しを使用することです
System.Diagnostics.Debugger.Break();
ブレークポイントを設定するVS2010の方法ほど洗練されていないかもしれませんが、最小限のコードオーバーヘッドで同じ効果を得ることができます。リリースコードをビルドするときは、それらを忘れずに取り出してください。
注:VS2008およびVS2005では、通常のブレークポイント(F9またはガターでダブルクリック)を設定して条件付きブレークポイントを設定し、そのブレークポイントを右クリックして「条件...」を設定できます。条件付きブレークポイントを設定する機能は、VS2008 Express Editionでは使用できません。