要启动线程分析器并打开 din_philo.1.er 实验,请键入以下命令:
% tha din_philo.1.er |
线程分析器包含菜单栏、工具栏以及包含多个标签的拆分窗格(不同标签对应不同的显示)。
打开收集的死锁检测实验时,缺省情况下会在左侧窗格中显示以下标签:
"Deadlocks"(死锁)标签
此标签显示线程分析器在程序中检测到的潜在死锁和实际死锁列表。缺省情况下会选中此标签。其中会显示每个死锁涉及到的线程。这些线程形成一个循环链,其中每个线程都持有一个锁并请求该链中的下一个线程持有的另一个锁。
"Dual Source"(双源)标签
在 "Deadlocks"(死锁)标签上的循环链中选择一个线程,然后单击 "Dual Source"(双源)标签。"Dual Source"(双源)标签会显示该线程持有锁的源代码位置,以及同一线程请求锁的源代码位置。该线程持有锁和请求锁的源代码行会突出显示。
"Experiments"(实验)标签
此标签显示实验中的装入对象并列出所有错误和警告消息。
线程分析器显示屏的右侧窗格中会显示以下标签:
"Summary"(摘要)标签,显示从 "Deadlocks"(死锁)标签中选择的死锁的摘要信息。
"Deadlocks Details"(死锁详细信息)标签,显示从 "Deadlocks"(死锁)标签中选择的线程上下文的详细信息。