DESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1
USO DE TRACE E DEBUG EM APLICAÇÕES ASP.NET 2
TRACE E DEBUG Desenvolver aplicações Web com qualidade requer um completo teste de toda a aplicação e uma habilidade de visualizar onde e como poderá acontecer um erro. O objetivo principal do Testing e Debugging da sua aplicação é garantir que os usuários finais nunca encontrarão nenhum erro. MAS QUE TIPOS DE ERROS?!?!
TRACE E DEBUG Como parar Cristiano Ronaldo
TRACE E DEBUG Preciso ir! Meu planeta precisa de mim!
TRACE E DEBUG Bond, James BOAGSDYSJHGSAJYSGSASAS
TRACE E DEBUG Vale ISSO?
TRACE E DEBUG QWOPSSS
TRACE E DEBUG Like a BOSS
TRACE E DEBUG Como virar Sniper com um Tanque de guerra
TRACE E DEBUG No Carro da Mulher Maravilha
TRACE E DEBUG PÔ JUIZ! ISSO NÃO FOI FALTA?
TRACE E DEBUG Apenas mais um dia normal para um policial
TRACE E DEBUG MEU DEUS! Eu não acredito que ele fez esse gol!!!!
TRACE E DEBUG O parque mais seguro do mundo
TRACE E DEBUG Me beije para que eu possa me teleportar
TRACE E DEBUG Mas colocar isso em prática não é uma tarefa muito fácil, exige um bom plano de testes.
TRACE E DEBUG TRACING Tracing é um processo de coleta de informações da aplicação em execução. Existem dois métodos principais de tracing: System.Web.TraceContext System.Diagnostics.Trace e System.Diagnostics.Debug
System.Web.TraceContext TRACE E DEBUG Esta classe permite coletar e ver informações da execução da página e mensagens de trace na própria página em execução ou visualizar no trace viewer, ou seja, em um arquivo chamado trace.axd residente na memória.
TRACE E DEBUG System.Diagnostics.Trace e System.Diagnostics.Debug As mensagens eviadas por esta classe, por padrão são exibidas na janela Output do Visual Studio.NET, mas podemos usar a classe TraceListerner para enviar essas mensagens para outros tipos de saída como arquivos textos, no EventLog do Windows.
TRACECONTEXT Este classe é responsável por exibir todas as informações obtidas com o Trace da execução da página. Ela é acessada através do objeto Trace da página. Podemos habilitar o Trace em nível de página na diretiva Page, como veremos a seguir e também através do arquivo Web.Config (nível de aplicação).
TRACECONTEXT Principais métodos utilizados desta classe: Método Descrição IsEnable Informa Se o Trace está habilitado TraceMode Exibe em qual ordem as mensagens serão exibidas, podendo ser: Padrão, SortByCategory e SortByTime. Warn Exibe suas mensagens personalizadas em vermelho. Write Exibe sua mensagens (Contém as mesmas propriedades do método Warn, porém não é escrito em vermelho).
TRACECONTEXT Por padrão, o Trace não vem habilitado na sua página. Para exibir as informações de Trace no rodapé de sua página adicione Trace = True na diretiva Page de sua página. Lembrando que a utilização na diretiva da página sobrescreve as configurações do Trace no arquivo Web.Config.
TRACECONTEXT
TRACECONTEXT
TRACECONTEXT
TRACECONTEXT
TRACECONTEXT Como falado anteriormente, você pode definir as configurações do seu Trace no nível de aplicação, através do Web.Config. No Web.Config, através do elemento <trace>, é possível habilitar a saída tanto na página quanto em um arquivo separado chamado trace.axd que pode ser acessado na raiz da aplicação, lembrando que esse arquivo não existe fisicamente, apenas na memória.
A seguir os atributos da tag <trace>: TRACECONTEXT Método Descrição enabled localonly Indica se o Trace será habilitado na aplicação. Se True, as informações do Trace podem ser vistas no trace viewer, ou seja, no arquivo trace.axd. Indica se o trace viewer poderá ser visualizado apenas no cliente local ou por qualquer cliente. pageoutput Indica se as informações do Trace serão exibidas nas páginas. requestlimit Informa a quantidade de requisições a serem armazenadas no Trace. tracemode Informa a ordem das mensagens a serem exibidas no Trace.
TRACECONTEXT
TRACECONTEXT
TRACECONTEXT Para acessar o arquivo em memória, é necessário digitar no browser, na mesma pasta da aplicação, o nome do arquivo trace.axd.
DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG Uma observação muito importante é não confundir o Page.Trace com a classe Trace, pois, enquanto o Page.Trace retorna um objeto da classe TraceContext, a classe Trace retorna da classe System.Diagnostics. Podemos informar dois tipos de configuração no nosso projeto DEBUG e RELEASE sendo que ambos Trace e Debug são compilados caso seja definido modo DEBUG, e apenas o Trace é compilado caso a configuração do projeto esteja em modo RELEASE.
DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG Essas classes são muito úteis na busca de erros e na correção dos mesmos, até mesmo quando você possui um código que insere em algum banco de dados, você pode verificar quais os valores passados no Trace ou Debug antes de inserilos no Banco. Por padrão a saída dos métodos de ambas as classes é feita na janela Output do VisualStudio.NET, mas podemos utilizar a coleção Listerners para termos outros tipos de saída.
DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG Os principais métodos utilizados por estas saídas são: Método Descrição Write Escreve uma informação sem condições adicionais WriteLine Escreve uma informação sem condições adicionais uma por linha WriteIf WriteLineIf Assert Escreve uma informação, apenas se a condição informada for verdadeira Escreve uma informação, apenas se a condição informada for verdadeira uma por linha Verifica a condição, se a condição for falsa, escreve a mensagem Fail Escreve uma mensagem de erro
DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG
DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG
DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG
DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG
DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG
DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG
BIBLIOGRAFIA Centro para Iniciantes Microsoft: http://msdn.microsoft.com/pt-br/beginner/default.aspx Como Programar com ASP.NET e C# - Alfredo Lotar - novatec Desenvolvendo para Web usando o Visual Studio 2008 - Ramon Durães - novatec 42
OBRIGADO PROF. EMILIO PARMEGIANI DOWNLOAD DO MATERIAL 43