2016-08-24 6 views
-2

で条件付きブレークポイントの設定、私は自分のアプリケーションをデバッグし、私が知っている特定のGUIDを持つアイテムにブレークポイントを設定したかったのです。 GUIDは次のようになります:C5E46A52-E125-4A92-9C6B-8A6E775CDEE0。 Visual Studioでは、ブレークポイントを作成して条件を設定します。次のうちどれ小さなパフォーマンスヒットがありますのVisual Studio:既知のGUID値

someGuid.Equals(Guid.Parse( "C5E46A52-E125-4A92-9C6B-8A6E775CDEE0"))

OR

someGuid.ToString()。 ( "C5E46A52-E125-4A92-9C6B-8A6E775CDEE0"))

パーズ関数にはおそらくより厳密な検証の規則があるため、第2のオプションが優れているというのは私の欠点です。私はそれが真実で、私の腸が正確であるかどうかを知りたいです!

アップデート:私はこれを友人に言及し、彼はパフォーマンスをチェックするために、いくつかのテストケースを実行しました。彼のテストでは、文字列の比較は〜5倍のパフォーマンスをもたらしました。

+1

_ "それが本当かどうかを知りたい" _ - それをテストします。 「どのくらい速く」という質問に答える唯一の方法ですか? _measure_です。あなたは疑問を持っているので、残りのStack Overflowコミュニティではなく、あなたがそれを測定するべきです。 –

+1

正直言って、なぜ条件付きブレークポイントのパフォーマンスが心配されているのかわかりません。 – phuzi

+0

@yourbuddypal、あなたのアップデートとして、あなたはこの質問のためのより良い解決策を得ました。それを答えとして追加してください。他のメンバーに役立ちます。実際には2つの方法がすべて良い選択です。 –

答えて

0

if (someGuid.Equals(Guid.Parse("C5E46A52-E125-4A92-9C6B-8A6E775CDEE0"))) { 
    ; 
} 

にあなたのコードを変更し、あなたはパフォーマンスについて本当に心配している場合は、空のステートメントにブレークポイントを置く

。オプションで、GUIDインスタンスを静的フィールドにリファクタリングして、何度も繰り返し作成することを避けることができます。

ほとんどの部分については、正直なところ、私は気にしないでしょう。条件付きブレークポイントは遅いですが、通常はであり、それは普通はではありません。私はデバッガが好きではない表現を持っているときに上記のテクニックを使用する傾向がありますが、パフォーマンス上の懸念に対してもうまく動作するはずです。

関連する問題