Archives

Archives / 2008 / September
  • WinDBG: Memory II - Garbage Collector I

    Enfim o tão esperado Garbage Collector. Apesar de não ser um conceito novo, muitas pessoas desconhecem sua real função e estrutura. Na minha opinião, conhecer o Garbage Collector deveria ser tarefa básica de todos desenvolvedor. Isso mesmo, desenvolvedor! Se o responsável por alocar objetos não conhece o funcionamento deste poderoso recurso, como poderá ter certeza que está tratando a memória e os objetos da melhor maneira possível?

    Read more...

  • WinDBG: Memory I - Introdução

    Agora sim a parte mais interessante vai começar... tanto que para isso teremos que dividir a parte de análise de memória em diversas partes. E para começar, será necessário introduzir alguns conceitos.

    Read more...

  • Treinamento Commerce Server 2007

    Muitas pessoas não sabem por onde começar a aprender Commerce Server 2007. Por isso, estou ministrando um curso de 5 dias, totalmente voltado para o mercado brasileiro e cobrindo todos os tópicos com exemplos e estudos de caso de projetos reais. A próxima turma de 10 pessoas será para Outubro.

    Read more...

  • WinDBG: Criando arquivos de Dump

    Neste quarto post da série vou demonstrar como criar arquivos de Dump.

    Conceitos

    Um arquivo de Dump representa o estado de um determinado processo. O grande objetivo por trás destes arquivos é possibilitar a análise de problemas sem utilizar o chamado live debugging. Uma vez criado o arquivo, a análise pode ser realizada a qualquer momento e em qualquer máquina*. Este procedimento é muito comum quando equipes distintas trabalham em conjunto para a resolução de hangs ou crashs. Uma equipe responsável pelo processo gera o Dump e outra equipe analisa o arquivo através de WinDBG.

    Existem dois tipos de arquivos de Dump, Full e Mini.

    O arquivo Full Dump contém todos os dados de memória do processo, o executável, entre outras informações. Já nos arquivos Mini Dump, o conteúdo pode ser variável, dependendo de onde foi gerado.

    Nosso foco em todos os posts que envolvem arquivos de Dump será o Mini Dump, e esta opção será detalhada futuramente.

    Ferramentas

    Nós iremos utilizar a ferramenta Adplus para criar os arquivos de Dump, que já está presente na instalação do Debugging Tools for Windows. O arquivo - um script vbs - se encontra na raiz da instalação.

    Adplus é uma ferramenta de linha de comando, criada pela equipe de suporte da Microsoft, para gerar informações sobre qualquer tipo de processo. No exemplo deste post, irei utilizar o adplus para gerar informações para o processo do IIS, ou w3wp.exe. Porém, esta ferramenta pode ser utilizada para qualquer processo, deste Console Applications, Windows Forms, WPF, Services, etc.

    Modos de Execução

    O Adplus pode ser utilizado de duas maneiras, hang ou crash:

    • O modo Hang deve ser utilizado quando o processo apresenta um comportamento estranho ou alta utilização de CPU - nosso popular, "travar". Este modo deve ser executado depois que a aplicação se comportou de forma incorreta.
    • O modo Crash deve ser utilizado quando o processo é finalizado inesperadamente. Este modo deve ser acionado antes do processo ser finalizado.

    Configuração de ambiente

    Para utilizarmos o Adplus corretamente, crie uma variável de ambiente chamada _NT_SYMBOL_PATH, para o caminho c:\symbols (crie esta pasta se não existir). Isto se refere aos símbolos de um processo, o que está fora do escopo deste post. Se você quiser saber mais sobre símbolos agora, acesse http://blogs.msdn.com/tess/archive/2005/12/05/500068.aspx.

    Esta configuração não é obrigatória, apenas omite uma mensagem do Adplus, mas será realmente utilizada a partir do próximo post.

    Utilização

    A demonstração desta ferramenta está neste vídeo (10 minutos).

    Conclusão

    Este post rápido apresentou como gerar arquivos de Dump e como utilizá-los através do WinDBG. Existem outras maneiras de gerar este tipo de arquivo. Uma maneira muito conhecida é através da ferramenta DebugDiag.

    Arquivos de Dump são o padrão para análise de problemas, evitando assim a presença de um profissional capacitado no momento de uma exceção e possibilitando o trabalhando em conjunto com outras equipes.

    Espero que vocês tenham gostado deste post, até a próxima.

    Links interessantes

    http://support.microsoft.com/kb/286350

    Abraços.

    Read more...

  • Blogs brasileiros são só links?

    Há muito tempo eu li em um blog que não me lembro (sorry!) uma opinião que, na época, me chamou a atenção pela falta de educação. O autor dizia que a maioria dos blogs brasileiros eram mais parecidos com bookmarks do que artigos interessantes. A maioria das pessoas usam os blogs para dizer "Ei, achei um texto interessante, acesse...".

    Read more...

  • SharedView: Compartilhe seu desktop e muito mais!

    Microsoft SharedView is a fast, easy way to share documents and screen views with small groups of friends or coworkers; anytime, anywhere. Use SharedView to put your heads together and collaborate - create, convey, and communicate…across physical boundaries, through firewalls, and down to the smallest details.

    Read more...

  • Windows Workflow Foundation: Onde usar no mundo real?

    Quando eu li rapidamente sobre o Windows Workflow Foundation eu fiquei impressionado. A interface gráfica, a facilidade, a similaridade com o Biztalk, a produtividade, tudo me chamou a atenção. Mas logo no minuto seguinte eu me perguntei: "Pra quê? Por que eu usuaria o Windows Workflow Foundation ao invés de utilizar uma solução customizada?".

    Read more...