Debug em servlet

Existe uma maneira de usar alguma ferramenta do NetBeans ou o jdb para debugar um servlet ou jsp?

Habitualmente uso muito o log para achar erros em meu código, mas acho que seria mais fácil se eu pudesse usar uma ferramenta…

Oi

viniciusprd, se tu tiver usando o Tomcat Manager, tu pode acionar o Debug Mode nele, aí fica passando o debug direto no shell do Tomcat…

Se tu tiver iniciando o Tomcat no shell, xii, aí eu não me lembro como se faz o debug mode não

T+

Via de regra, eu redireciono todo o erro para a própria página que está sendo gerada. Para isso, nos meus sistemas, uso as rotinas abaixo:

  /**
   * Gera uma página de erro.
   *
   * @param t o objeto Throwable com a causa
   */
  public void handleError(Throwable t)
  {
    try
    {
      PrintWriter out = res.getWriter();
      handleError(t, out);
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
  }

  /**
   * Gera uma página de erro. Fecha o fluxo passado.
   *
   * @param t o objeto Throwable com a causa
   * @param out o fluxo de saída já aberto
   */
  public void handleError(Throwable t, PrintWriter out)
  {
    try
    {
      out.println("<HTML>");
      out.println("<H2>Erro</H2>");
      out.println("<B>Um erro inesperado impediu a apresentação da página dinâmica. Diagnóstico:</B><PRE>");
      t.printStackTrace(out);
      //
      if(t instanceof SQLException)
      {
        out.println("<B>Código de Erro SQL:</B>");
        out.println(((SQLException) t).getSQLState());
      }
      out.println("</PRE></HTML>");
      out.close();
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
  }

O uso de uma ou de outra depende de o fluxo de saída estar aberto ou não.