quinta-feira, 13 de março de 2008

CALLSTACK, CUSTOMERRORS & DEBUG MODE

Olá Amigos,

Hoje vou postar uma importante dica =]
Encontrei essa pérola no blog[1] do Hélio Sá Moreira.

As vezes (rs) obtemos mensagens de erro nada informativas ou claras durante a utilização (ou tentativa de utilização) de alguns recursos do Sharepoint. Um caso clássico, que obtive em um ambiente que trabalhei esta semana, foi: Unknown Error Occurred OU An unspecified error has occured.

Para desativa-las temos que executar o seguinte procedimento =]

São basicamente 3 itens de configuração - que podem ser utilizados em conjunto ou separadamente para um processo de troubleshoot detalhado.

01 - CUSTOMERRORS

Essa configuração - que por padrão apresenta o valor "ON" - redireciona o tratamento de erros para um módulo de tratamento de erros do Sharepoint. Este módulo é muito importante, mas quando o mesmo não consegue classificar o erro as mensagens 'genéricas' são apresentadas.

Para desabilitar este redirecionamento - retornando ao modelo padrão do ASP.Net 2.0 - podemos mudar o valor desta configuração para "OFF".

No Web.Config, essa configuração pode ser encontrada no seguinte path: Configuration \ System.web \ CustomErrors.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration>
...
<system.web>
...
<customerrors mode="On">
...

Com isso, voltamos as telas de erro do ASP.Net! Vale lembrar que esta configuração deve ser realizada somente no processo de verificação de um erro - e o seu valor padrão deve ser re-configurado para que mensagens informativas aos usuários possam ser apresentadas de uma forma gerenciável e "não-agressiva"!

Esta mudança já deve ajudar bastante na identificação das possíveis razões do problema ....


02 - CALLSTACK

Esta configuração é relacionada ao nível de informações e detalhes apresentados sob o erro quando o mesmo ocorre. Voltando ao cenário de troubleshoot, quando mais informações relacionadas ao problema melhor - incluindo inclusive todos os métodos envolvidos e a hierarquia de execução! ;-)

Por padrão esta configuração possui o valor "FALSE" - e pode ser encontrada na seguinte estrutura: Configuration \ SharePoint \ SafeMode. Para habilitar este modo, devemos configurar o CallStack com o valor "TRUE".


<configuration>
...
<sharepoint>
<safemode callstack="false">
...

Esta configuração é relacionada ao nível de informações e detalhes apresentados sob o erro quando o mesmo ocorre. Voltando ao cenário.


02 - DEBUG MODE

Este item esta relacionado ao modelo de compilação utilizado pelo .Net Framework 2.0 (JIT - Just-in-time compilation). O valor padrão para o DEBUG é false. Mas, em um cenário de Troubleshoot o DEBUG="TRUE" aumenta o nível de detalhamento das informações repassadas ao Stack Trace e consequentemente aumenta as informações repassadas às nossas telas de erro!

Este item pode ser encontrado na seguinte estrutura: Configuration \ System.Web \ Compilation.



<configuration>
...
<system.web>
...
<compilation debug="false" batch="false">
...

Abraços,
Maca

blog
[1] http://www.sharepointbrasil.net/default.aspx

Nenhum comentário: