Visual Studio 2008 でマルチスレッド プログラムをデバッグしています。
- メインスレッドを中断すると、プロセス内の他のスレッドのステータスはどうなりますか?
- 彼らは実行し続けるか、それとも壊れますか?
- メインスレッドで F10/F11 を実行するとどうなりますか?
- どのスレッドが特定の変数を変更したかを確認する必要がある場合、どうすればよいですか?
Visual Studio 2008 でマルチスレッド プログラムをデバッグしています。
デバッガーがプロセスに割り込むと (たとえば、ブレークポイントまたは "Break All" を介して)、すべてのスレッドが中断されます。
F10 または F11 を押すと、新しい「一時的な」ブレークポイントが次の行に追加され、プロセスが再び開始 (再開) されます。したがって、ブレークポイントに到達するまで、すべてのスレッドが (非常に短時間) ラントします。
変数がどのように変化しているかを検出する必要がある場合は、「データ ブレークポイント」を設定できます。参照については、データ ブレークポイントとはを参照してください。 ドキュメントも参照してください:方法: データ ブレークポイントを設定する
また、"Threads" ウィンドウ (Debug|Windows|Threads) を開くと、スレッドのリストが表示されることに注意してください。