方法 : マイ コードのみにステップ インする

更新 : 2007 年 11 月

このトピックの内容は、次の製品に該当します。

Edition

Visual Basic

C#

C++

Web Developer

Express

トピック該当 トピック該当

マネージのみ

トピック該当

Standard

トピック該当 トピック該当

マネージのみ

トピック該当

Pro/Team

トピック該当 トピック該当

マネージのみ

トピック該当

表の凡例 :

トピック該当

対象

トピック該当なし

該当なし

トピックは該当しますが、コマンドは既定では非表示です

既定で非表示のコマンド

デバッグ中に、自分で記述したコードのみを確認して、システム呼び出しなど他の呼び出しを無視したい場合があります。この場合、"マイ コードのみ" デバッグを使用できます。"マイ コードのみ" デバッグを使用すると、非ユーザー コードは非表示になり、デバッガ ウィンドウに表示されません。ステップ実行すると、非ユーザー コードをステップ実行しますが、非ユーザー コード内では停止しません。

ユーザー コード ("My Code") と非ユーザー コードを区別するために、"マイ コードのみ" デバッグは、DBG ファイル、PDB ファイル、および最適化の 3 つの点に注目します。

標準的なデバッグ ビルドの場合、最適化はオフにされ、デバッグ シンボルがすべてのモジュールに作成されます。デバッグ ビルドを実行すると、このようなモジュールは My Code と見なされます。最適化され、デバッグ シンボルを持っていないライブラリ関数を呼び出した場合は、My Code ではありません。"マイ コードのみ" を有効にした場合、このようなライブラリ コードは、デバッグ対象外と見なされ、コード内でブレークポイントを設定しても実行を中断できません。[ブレークポイント] ウィンドウで確認すると、これらのブレークポイントには、無効なブレークポイントであることを示すアイコンが表示されます。

すべてのコードを表示し、すべてのブレークポイントで中断できるようにするには、[オプション] ダイアログ ボックスで "マイ コードのみ" のデバッグをオフにします。

デバッガが何を My Code と見なすかについては、さらに 3 つの属性が影響します。DebuggerNonUserCodeAttribute は、それが適用されているコードは My Code ではない、ということをデバッガに伝える属性です。DebuggerHiddenAttribute は、"マイ コードのみ" がオフになっていても、コードをデバッガから見えないようにするための属性です。DebuggerStepThroughAttribute は、それが適用されているコードを (ステップ インではなく) ステップ スルーするよう、デバッガに伝える属性です。

"マイ コードのみ" を有効にした場合、表示する My Code が存在しない場所で [デバッグ] メニューの [中断] が選択され、実行が中断されることも考えられます。その場合、コードは表示されません。また、[ステップ] コマンドを選択した場合は、My Code の次の行に制御が移動します。

Visual Basic の Stop ステートメントなど、プログラム上の中断ステートメントについては異なる処理が適用されます。デバッガは、該当するステートメントが見つかると、"マイ コードのみ" が有効であるかどうかに関係なく常に実行を中断します。この場合、非ユーザー コードは表示されますが、そこでステップ実行すると、非ユーザー コードを通過して次の My Code 行に制御が移動します。

h5e30exc.alert_note(ja-jp,VS.90).gifメモ :

"マイ コードのみ" デバッグは、デバイス プロジェクトではサポートされません。

"マイ コードのみ" デバッグの有効/無効を切り替えるには

  1. [ツール] メニューの [オプション] をクリックします。

  2. [オプション] ダイアログ ボックスで、[デバッグ] ノードを展開し、[全般] をクリックします。

  3. ['マイ コード' のみ設定を有効にする] をオンまたはオフにします。

参照

概念

実行制御

参照

DebuggerNonUserCodeAttribute

DebuggerHiddenAttribute

DebuggerStepThroughAttribute