线程分析器是一个非常强大的工具,可以分析多线程程序的执行并检测常见线程错误,例如数据争用和死锁。使用线程分析器,可以更容易地调试多线程应用程序,从而生产率更高。可以将线程分析器与使用以下标准和框架中的一个或组合编写的程序配合使用:
POSIX 线程 API
Oracle Solaris 线程 API
OpenMP 指令
有关线程分析器的更多信息,请参见 tha(1) 手册页和Oracle Solaris Studio 12.4:线程分析器用户指南 。
在 Oracle Solaris Studio 的此发行版中,添加了以下功能:
使用 Discover 执行数据争用检测的二进制文件检测时,将为数据争用访问显示全部调用堆栈。
Oracle Solaris 10 中引入了对 atomic_ops API 的支持。
对 collect –r terminate 的支持,其在死锁检测处于打开状态并且发生实际死锁时强制终止进程。
线程分析器的用户界面已经重新设计,改进了数据显示并可以与性能分析器的用户界面一起导航。有关更多信息,请参见性能分析器导航。
下图显示使用 discover 检测了二进制文件后,线程分析器如何显示双向调用堆栈。
图 7-1 线程分析器窗口