メソッドにブレークポイントを設定した場合、Visual Studio 2008でブレークポイントに到達したときに、メソッドと呼ばれるものをどのように確認できますか?
6 に答える
[コールスタック]ウィンドウを確認します(メニューから:[デバッグ]>[ウィンドウ]>[コールスタック])。そこにある各エントリをダブルクリックすると、呼び出し元のステートメントに移動します。また、右クリックして、外部コード項目や他のスレッドからの呼び出しの表示を有効/無効にすることもできます。
ブレークポイントに到達すると、呼び出しスタック全体を表示できます。[デバッグ]メニュー->[ウィンドウ]->[コールスタック]を選択すると、そのウィンドウを表示できます。
Alt + Ctrl+Cのショートカットで表示することもできます
編集:関数名を右クリックして、メソッドのすべての呼び出し元を表示する「呼び出し元グラフ」を表示することもできます。または、呼び出しブラウザを使用して([表示]->[その他のウィンドウ]->[呼び出しブラウザ]に移動)、メソッドの名前を検索することもできます。
ユーザーが設定したブレークポイントでコールスタックに何も表示されない場合は、通常、ネイティブコードから呼び出されたことを意味します。
スタックを取得できない別のケース:[デバッグ]> [すべて中断]をクリックし、メインスレッドが待機/スリープ状態にある場合、デバッガーは呼び出しスタックの構築で問題が発生する可能性があります。デバッガーは暗黙の関数評価にメインスレッドを使用していると思います。
混合モード(ネイティブおよびマネージド)コードデバッガーをアタッチ(または起動)してみて、それが問題を解決するかどうかを確認してください。
[コールスタック]ウィンドウに何も表示されない場合は、間違いなく何か問題があります。私はRアクションの有名なシーケンスを提案します:
- リトライ
- 再コンパイル
- 再起動
- 再インストール:)
ブレークポイントがイベントによって発生する関数内にある場合、呼び出し元に直接コールスタックを戻すことができない可能性があり、「自分のコードだけ」だけでなく、すべてのコードを表示できるようにする必要があります。
Visual Studio 2019の場合は、[表示]メニューを開いて[階層の呼び出し]を選択するか、 Ctrl + Alt+Kを押します。