练习 1.2:收集线程数据

在开始之前,必须完成练习 1.1:导入必需的资源

情形:您要调查的程序正在运行,然后突然停止。每次运行程序时都发生此问题。 此行为是典型的线程死锁,所以要求您调查此程序中的线程是如何交互的。

要找到可能的线程死锁,首先将收集线程数据,然后使用“概要分析和日志记录”透视图中的“线程视图”分析数据。

收集线程数据将允许您识别死锁,或找出导致应用程序失败的线程。

准备收集线程数据

要收集线程数据,您必须在“概要分析与记录日志”透视图中。要切换至此透视图:

  1. 从 Software Development Platform 菜单栏中选择窗口 > 打开透视图 > 其它。“选择透视图”对话框打开。
  2. 在对话框左下方,单击全部显示。复选框中将出现选择标记。
  3. 从透视图列表中选择概要分析和记录,然后单击确定
  4. 如果“确认启用”对话框打开,则单击始终启用功能并且不要再次询问,然后单击确定
  5. Software Development Platform 就切换到“概要分析和记录”透视图。

收集 philosopher 应用程序的线程数据

要收集数据:

  1. 从 Software Development Platform 菜单栏中单击窗口 > 显示视图 > 控制台以打开“控制台”视图。“控制台”视图允许您跟随应用程序的处理过程。
  2. 创建概要分析配置:
    1. 从菜单栏中单击运行 > 概要文件。“概要文件”对话框打开。
    2. 在“配置”列表中,双击 Java 应用程序条目。New_configuration 条目出现。
    3. 在“名称”字段中,输入 PhilosopherThreads
    4. 在“主要”选项卡中,如果还没有在“项目”字段中输入 philosopher,则执行以下步骤:
      1. 单击“项目”字段旁边的浏览。“选择项目”对话框打开。
      2. 选择 philosopher,然后单击确定
    5. 单击“Main 类”字段旁边的搜索
    6. 在“选择主要类型”对话框中,单击 MaitreDHote,然后单击确定
    7. 单击概要分析选项卡。
    8. 在“概述”子选项卡中,选择“线程分析”概要分析集。(概要分析集定义对运行要收集的概要分析数据的类型。)
  3. 单击概要分析。应用程序就会运行并显示更改,如下所示:

    具有程序输出的控制台视图

当应用程序达到某个点时,它停止了处理。然而,对于此运行,您已收集线程数据,现在可以分析停止的原因。

如果无法收集数据

必须先运行“代理控制器”才能收集任何种类的概要分析数据。如果接收到“没有代理控制器”消息,确保已安装“代理控制器”,手工启动它,然后再试。有关指示信息,请参阅安装指南。您可以使用启动板访问安装指南,或者在产品 CD 的 disk1/install.html 下找到它。

收集数据以后,您就可以开始练习 1.3:识别线程瓶颈

反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.