在当前会话中创建的所有线程都显示在“线程”窗口中。可通过选择“窗口”>“调试”>“线程”(Alt-Shift-7) 来打开“线程”窗口。
在任何给定时间,都只有一个线程是当前线程。缺省情况下,当前线程是当前会话内调试器从中获得控制的线程。在线程间切换以便进行调试时,“调用栈”和“局部变量”窗口将自动更新以反映适用于该线程的数据。
更改当前线程:
如果您认为某一线程引发了问题,则可以暂停该线程的执行,在问题得到解决后再恢复此线程。
在“线程”窗口中,线程名称左侧的图标表示该线程是被暂停还是等待恢复。
| 图标 | 描述 |
|---|---|
![]() |
表示当前线程 |
![]() |
表示正在运行的非当前线程 |
![]() |
表示已暂停的非当前线程 |
也可以通过单击列按钮 (
) 并选中“暂停”复选框,在“线程”窗口中将“暂停”属性显示为布尔标志(True 或 False)。
暂停或恢复线程:
在调试多线程的应用程序时,在某个其他线程中遇到断点时可能会中断特定线程中的步骤。在某些情况下,可能希望出现这种行为;而在其他情况下则不希望出现。
假定正在逐步执行某个线程(线程 1),在另一个线程(线程 2)中遇到断点时中断了线程 1 中的某个步骤。 出现这种情况时,程序计数器将设置为线程 2 中的断点。
可以按以下方式继续逐步执行程序:
要继续执行线程 1 中的步骤,请在“线程”窗口中执行以下某项操作:
如果您认为某个线程引发了问题并要对它进行进一步的检查,则可以在 IDE 的源代码编辑器中查看该线程的源代码。
查看线程的源代码:
如果线程的源代码可用,则源代码编辑器将跳到该线程调用栈上的当前调用。