4

VB.NET アプリケーションで問題を引き起こしている大規模なデータ構造がいくつかあります。例外がスローされてアプリケーションが一時停止した後、次のようなコードを実行したいと思います。

For Each o As MyClass In myObjects
  If o.property = "value" Then debug.print(o.id)
Next

問題を診断します。

問題は、イミディエイト ウィンドウでループを実行できず、myObjectsコレクションに含まれるオブジェクトが多すぎて、必要な問題のあるオブジェクトを手動で見つけることができないことです。

デバッガーの一時停止中にこのオブジェクトを見つけるにはどうすればよいですか? .NET IDE でこれ、または同様のことが可能ですか?

4

2 に答える 2

6

IDE のイミディエイト モード ウィンドウを使用してそのようなコマンドを実行できるはずですが、デバッガーの現在のスコープ内でデータを使用できる必要があります。

于 2011-04-30T07:52:42.227 に答える
2

いいえ、IDE から直接これを行うことはできません。残念ながら、これを回避する最も簡単な方法は、デバッグを停止し、探しているオブジェクトを返すパブリック静的メソッド内にループを記述し、再コンパイルして実行し、イミディエイトまたはウォッチ ウィンドウからそのパブリック静的メソッドを呼び出すことです。 .

もう 1 つのより迅速な (しかし厄介な) トリックは? myObjects、イミディエイト ウィンドウに " " と入力し、結果をメモ帳にコピー ペーストし、メモ帳でテキスト検索 (Ctrl+F) を使用してオブジェクトを見つけることです。

于 2011-04-30T08:07:49.163 に答える