Esta página descreve limitações que podem ser encontradas ao depurar
aplicativos no WebSphere Application Server e os métodos sugeridos para contornar
essas limitações. Consulte também o leia-me do
produto, que pode conter limitações adicionais para esse depurador.
Depurando Objetos da Web
- Pode ser necessário aumentar as configurações de tempo limite da comunicação Java
antes de executar uma depuração no servidor: Se você tiver dificuldades
em fazer com que o depurador se conecte ao aplicativo, poderá ser necessário aumentar
as configurações de tempo limite da depuração Java.
Para determinar se você está tendo esse problema, verifique se no arquivo <workspace>\.metadata\.log
existem mensagens de org.eclipse.jdi.TimeoutException.
Para aumentar as configurações de tempo limite de Java, escolha Janela > Preferências na
barra de menus do ambiente de trabalho. Expanda o nó Java e clique em
Depurar. Na página de preferências de Depuração, aumente ambos os tempos limite de Comunicação
(Tempo limite do depurador (ms) e Tempo limite de ativação
(ms) - recomenda-se no mínimo dobrar os valores padrão
para esses dois campos). Se as configurações de tempo limite não forem aumentadas, o
depurador travará quando se executar uma depuração no servidor.
Para aplicativos em
execução no WebSphere Application
Server Versão 6.0 ou posterior, é possível então tentar a reconexão clicando com o botão direito do mouse
no servidor na visualização Servidores e selecionando Reconectar
processo de depuração no menu pop-up.
- Editor Origem Não Localizada pode fechar inesperadamente: em alguns casos,
o editor Origem Não Localizada do depurador, que fornece
um botão com o qual é possível editar o caminho de consulta da origem, pode fechar inesperadamente.
Para editar o caminho de consulta da origem, clique com o botão direito do mouse na visualização Depuração
e selecione Editar Consulta da Origem no menu pop-up.
- O modo de depuração falhará para métodos home de EJB: se você
utilizar o adaptador de depuração do WebSphere Application
Server para ativar uma sessão de depuração, o modo de depuração passo a passo
não parará para métodos home de EJB. Utilize pontos de interrupção se quiser depurar esses
métodos.
- O retorno de etapa de Java para JavaScript não é suportado: utilize
pontos de interrupção se quiser poder retornar para o código JavaScript
a partir de Java.
- Depurando Páginas JSP:
- Ao depurar páginas JSP, a EL (expression language) não é suportada. Por exemplo, não é possível entrar em uma linha JSP que contenha EL.
- A depuração passo a passo não funcionará para páginas JSP que não contenham nenhum
código executável.
- A inspeção e exibição de variáveis e expressões JSP não são suportadas.
- Executar até a linha não é suportado em páginas JSP.
- A configuração de pontos de interrupção em arquivos JSP pode ser lenta. Se você tiver muitos pontos de interrupção em
arquivos JSP, o depurador levará mais tempo para inicializar.
- Pontos de interrupção em variáveis estáticas em blocos de declaração JSP não funcionarão
e poderão causar outros problemas de ponto de interrupção.
- Rótulos da estrutura de pilha após hot swap: Se, após uma substituição de código ativo,
algumas das estruturas de pilha tiverem rótulos como
<tipo de recepção desconhecido>(<tipo de declaração desconhecido>).<nome de método desconhecido>(<argumentos desconhecidos>) linha: não disponível <número de linha desconhecido>
é possível obter os rótulos corretos comutando para uma perspectiva diferente e
depois voltando para a perspectiva Depuração.
- Ao depurar Java, você poderá receber um erro TimeoutException
na visualização Console. Se essa mensagem de erro aparecer,
um aumento do tempo limite do depurador pode prevenir o erro.
Para aumentar o tempo limite do depurador, selecione Janela >
Preferências na barra de menus do ambiente de trabalho para abrir a caixa de diálogo Preferências.
Nessa caixa de diálogo, abra o nó Java e selecione
o nó Executar/Depurar. Na página de preferências de Depuração resultante,
aumente o valor do campo Tempo limite do depurador
na seção Comunicação.
Depuração de Página JSP:
- É possível configurar pontos de interrupção em arquivos JSP dentro das seguintes tags:
- Scriptlets JSP no formato: <% %>
- Expressões JSP no formato: <%= %>
- Declarações JSP no formato: <%! %>
- Tags jsp:useBean, jsp:getProperty e jsp:setProperty
- Tags de customização
- Não é possível configurar pontos de interrupção para os seguintes conjuntos de tags:
- Código HTML
- Diretivas JSP
- Todas as outras tags JSP padrão (jsp:include, jsp:forward
etc.)
- Se você estiver migrando um espaço de trabalho de uma versão anterior do WebSphere Studio
para esta versão, precisará excluir os pontos de interrupção de seus arquivos JSP e
recriá-los.
Substituição de Método Ativo
- Alterações à origem que afetem a forma da classe não são suportadas.
Isto significa que alterações a corpos de métodos serão substituídas com o código ativo, enquanto estes
são exemplos de alterações que não serão substituídas com o código ativo:
- Alteração à estrutura da classe, como a remoção/adição de métodos
- Modificação de variáveis de classe
- Alterações a classes internas
- Alterações ao código na estrutura de pilha inferior (o método main(...)
não podem ser substituídas com o código ativo.
- A depuração de página JSP não suporta a substituição de método ativo de código Java.
Limitações de Linguagens Bidirecionais (BIDI/BiDi)
Não
é possível utilizar o editor do Depurador ao depurar arquivos JSP que tenham sido
codificados em uma página de códigos diferente da depurador nativa.