Oracle® Solaris Studio 12.4:线程分析器用户指南

退出打印视图

更新时间: 2014 年 12 月
 
 

检查数据争用检测实验

可以使用线程分析器、性能分析器或 er_print 实用程序检查数据争用检测实验。线程分析器和性能分析器都提供 GUI 界面;线程分析器显示的是一组简化的缺省视图,但在其他方面与性能分析器完全相同。

使用线程分析器查看数据争用实验

要启动线程分析器,请键入以下命令:

% tha

第一次启动线程分析器时,将显示 "Welcome"(欢迎)屏幕。

线程分析器在左侧具有菜单栏、工具栏和垂直导航栏,因而您可以选择数据视图。

    缺省情况下显示以下数据视图:

  • "Overview"(概述)屏幕显示已装入实验的度量概述。

  • "Races"(争用)视图,显示程序中检测到的数据争用列表以及关联的调用堆栈跟踪。缺省情况下选择此视图。选择 "Races"(争用)视图中的项时,"Race Details"(争用详细信息)窗口会显示有关选择的数据争用或调用堆栈跟踪的详细信息。

  • "Dual Source"(双源)视图,显示与所选数据争用的两次访问相对应的两个源代码位置。发生数据争用访问的源代码行会突出显示。

  • "Experiments"(实验)视图显示实验中的装入对象并列出错误和警告消息。

可以选择使用 "More Views"(更多视图)选项菜单查看其他视图。

使用 er_print 查看数据争用实验

er_print 实用程序提供命令行界面。可以在交互式会话中使用 er_print 实用程序并在该会话期间指定子命令。也可以使用命令行选项以非交互方式指定子命令。

    使用 er_print 实用程序检查争用时,以下子命令非常有用:

  • –races

    该选项会报告在实验中发现的所有数据争用。在 (er_print) 提示符下指定 –races,或者在 er_print 命令行上指定 races

  • –rdetail race_id

    该选项会显示具有指定 race_id 的数据争用的详细信息。在 (er_print) 提示符下指定 –rdetail,或者在 er_print 命令行上指定 rdetail。如果指定的 race_idall,将显示所有数据争用的详细信息。否则,请指定单个争用编号,例如为第一个数据争用指定 1

  • –header

    该选项会显示有关实验的描述性信息并报告所有错误或警告。在 (er_print) 提示符下指定 header,或者在命令行上指定 –header

有关更多信息,请参阅 collect(1)、tha(1)、analyzer(1) 和 er_print(1) 手册页。