この記事では、主に Visual Studio デバッガーの 7 つのあまり知られていない機能を詳しく紹介します。興味のある方は参考にしてください。
Visual Studio デバッガーは、プログラマーが問題を迅速に見つけて解決するのに役立つ優れた デバッグ ツールです。ここでは、VS デバッグ ツールの 7 つのあまり知られていない機能を簡単に紹介します。
1. ワンクリックで指定したステートメントにジャンプします
デバッグ中、特定のステートメントを実行または実行しないようにするには、黄色の矢印をドラッグする必要があることがよくあります。従来の方法は、マウスを使用して直接ドラッグすることです。 Visual Studio 2017 15.3 のプレビュー バージョンでは、ターゲット行にジャンプする簡単な方法があります。マウス ポインターをターゲット行の上に置き、緑色の垂直右矢印アイコンが表示されたら、Ctrl キーを押しながらクリックします。マウスの左ボタンでデバッグの黄色の矢印を上に移動し、「次のデバッグ」または F5 をクリックして、指定した行を直接実行します。2. インスタンスの値を指定するブレークポイントを追加します
インスタンスのattribute 値がなぜ変化するのかを知る必要がある場合は、追加します。属性コード内のブレークポイントですが、これはすべてのインスタンスに有効になります。
デバッグする場合、次のように、MakeObject ID 関数と条件付きブレークポイント関数を使用して、指定したインスタンスにブレークポイントを追加できます:
最初にクラスを定義し、2 つのオブジェクト を初期化し、必要に応じて PointX 値を変更しました。デバッグ プロセス中に、インスタンス a を右クリックして [オブジェクト ID の作成] を選択し、[条件...] を選択します。
$1 == を追加した後。このコードを入力してプログラムを実行すると、インスタンス a のプロパティが変更されるとブレークポイントが有効になりますが、インスタンス b のプロパティが変更されるとブレークポイントは有効になりません。 Make Object ID はメモリ内のオブジェクトのアドレスを記録するので、次回のデバッグ時に変更されるため、リセットする必要があることに注意してください。3. プロセスへの再アタッチ
プロセスへのアタッチは、誰もが頻繁に使用する必要がある機能です。Visual Studio 2017 には、プロセスへの再アタッチが容易になります。最近付けられたものです。
まずプロセスにアタッチし、[デバッグの停止] をクリックしてから、[デバッグ] をクリックして、内部の [プロセスに再アタッチ] オプションを確認します。
4. すべてのスレッドを表示します
デバッグ プロセス中に、デバッグ ツールバーに [ソース内のスレッドを表示] という新しいオプションが表示されます。クリックすると、スレッドが停止しているコード行の前にアイコンが表示され、そのアイコン上にマウスを置くと、スレッドを右クリックして利用可能な操作が表示されます。
この機能はデバッグ効率に影響を与える可能性があることに注意してください。必要ない場合はデフォルトでオフにすることをお勧めします。
5. 指定したブレークポイントを一時的に無効にする
マルチスレッドのデバッグを実行する場合、ブレークポイントの無効化機能を使用して、
他のスレッドがブレークポイントによって中断され、現在のデバッグ作業に影響を与えるのを防ぐことができます。糸。
デバッグ中に、コマンドウィンドウに「Debug.ListCallStack -AllThreads」と入力して、すべてのスレッドのコールスタックを表示します。
WinDBG コマンド "~*k" を使用することもできます:
7 マイナス効果のないメソッドを使用して
を評価します。
デバッグウォッチウィンドウでメソッドの戻り値を表示する必要がある場合がありますが、メソッドが実際に実行されるときに悪影響を及ぼす可能性があります。ここで、悪影響を回避するためにウォッチウィンドウに入力するときに「, nse」を追加できます。 、はい」「No Side Effects」の略語。例は次のとおりです。
Add は最初に 6 回実行されたため、testList の合計数は 6 になります。
ここで、Add の現在の実行の戻り値を確認したい場合は、Add( 1) ウォッチ ウィンドウで、ただし、これはマイナスの影響を及ぼします。testList の値を 7、
に変更します。したがって、testList の元の値に影響を与えたくない場合は、「, nse」を追加する必要があります。 、以下に示すように、それは 8 ですが、testList の元の値は変更されないまま、または 7:
これで、気に入った小さなデバッグ関数はありますか? コメントは大歓迎です~
PS:単なる紹介なので、気に入らない場合はコメントしないでください。
以上がVisual Studio デバッガーの知らない小さな機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。