Exercício 1.2: Coletando Dados de Encadeamento

Antes de começar, você deve concluir o Exercício 1.1: Importando o recurso requerido.

Cenário: O programa que será investigado é executado brevemente e, em seguida, é interrompido abruptamente. Isso acontece toda vez que o programa é executado. Esse comportamento é típico de conflitos de encadeamento, assim você precisa investigar como os encadeamentos neste programa interagem.

Para localizar os possíveis conflitos de encadeamento, primeiramente você coletará dados de encadeamento e os analisará utilizando a visualização Encadeamento na perspectiva Criação de Perfis e de Logs.

A coleta de dados de encadeamento permitirá identificar o conflito ou excluir encadeamentos da causa do defeito do aplicativo.

Preparando para Coletar Dados de Encadeamento

Para coletar dados de encadeamento, você precisa estar na perspectiva Criação de Perfis e de Logs. Para alternar a perspectiva:

  1. Na barra de menus do Software Development Platform, selecione Janela > Abrir Perspectiva > Outra... A caixa de diálogo Selecionar Perspectiva é aberta.
  2. Na parte inferior esquerda da caixa de diálogo, clique em Mostrar tudo. Aparece uma marca na caixa de opções.
  3. Na lista de perspectivas, selecione Criação de Perfis e de Logs e clique em OK.
  4. Se a caixa de diálogo Confirmar Ativação for aberta, clique em Sempre ativar os recursos e não perguntar novamente e, em seguida, clique em OK.
  5. O Software Development Platform é alternado para a perspectiva Criação de Perfis e de Logs.

Coletando Dados de Encadeamento para o Aplicativo philosopher

Para coletar dados:

  1. Na barra de menus do Software Development Platform, selecione Janela > Mostrar Visualização > Console para abrir a visualização Console. A visualização Console permite seguir o aplicativo à medida que ele é processado.
  2. Crie uma configuração de criação de perfil:
    1. Na barra de menus, selecione Executar > Perfil... A caixa de diálogo Perfil é aberta.
    2. Na lista Configurações, dê um clique duplo na entrada Aplicativo Java. Uma entrada Nova_configuração aparece.
    3. No campo Nome, digite PhilosopherThreads.
    4. Na guia Principal, se philosopher ainda não estiver inserido no campo Projeto, faça o seguinte:
      1. Ao lado do campo Projeto, clique em Procurar. A caixa de diálogo Seleção de Projeto é aberta.
      2. Selecione philosopher e, em seguida, clique em OK.
    5. Ao lado do campo Classe principal, clique em Procurar.
    6. Na caixa de diálogo Escolher Tipo Principal, selecione MaitreDHote e, em seguida, clique em OK.
    7. Se estiver utilizando o IBM JVM (Java Virtual Machine), faça o seguinte:
      1. Na caixa de diálogo Perfil, clique na guia Argumentos.
      2. Em Argumentos da VM, digite -Xj9 para especificar a versão correta do JVM.
    8. Na caixa de diálogo Perfil, clique na guia Criação de Perfis.
    9. Na subguia Visão Geral, marque a caixa de opções para o conjunto de criação de perfis Análise de Encadeamento. (Um conjunto de criação de perfis define o tipo de dados da criação de perfis que devem ser coletados para a execução.)
  3. Clique em Perfil. O aplicativo é executado e a exibição é alterada da seguinte forma:

Quando o aplicativo alcançar um determinado ponto, ele pára o processamento. A saída será semelhante ao seguinte:

. . .
philo#3: waiting for right fork#3
philo#2: waiting for right fork#2
philo#1: waiting for right fork#1
philo#0: waiting for right fork#0
HeadWaiter: all philosophers are locked for 6 times.
exiting application.

Aqui é onde o programa pára. Nesta execução, entretanto, você coletou dados de encadeamento e agora poderá analisar porque ele parou.

Se Não For Possível Coletar Dados

Antes de poder coletar qualquer tipo de dados de criação de perfis, o Agent Controller deve estar em execução. Se você obtiver uma mensagem informando que o Agent Controller não está disponível, certifique-se de que ele foi instalado, inicie-o manualmente e tente novamente. Para obter instruções, consulte o guia de instalação. É possível acessar o guia de instalação utilizando a barra de lançamento, ou ainda é possível encontrá-lo no CD do produto em disk1/install.html.

Após coletar os dados, você estará pronto para começar o Exercício 1.3: Identificando um gargalo de encadeamento.

Termos de uso | Feedback
(C) Copyright IBM Corporation 2000, 2005. Todos os Direitos Reservados.