Estudo de caso

Estudo de caso: infraestrutura de testes de caminhos de falha com o Application Verifier

Estudo de caso técnico sobre o uso do Application Verifier para montar primeiro uma infraestrutura de testes de caminhos de falha e, com ela, evitar a recorrência de problemas.

Visão geral do caso

Em vez de encerrar o problema com uma correção pontual, este caso usou o Application Verifier para montar a própria infraestrutura de testes de caminhos de falha. O objetivo não era apenas encontrar a falha atual, mas deixar antes um estado em que a próxima falha também seja fácil de rastrear.

Sintomas

  • Apenas com testes do fluxo normal, os problemas nos caminhos de falha raramente apareciam
  • Situações de pouco recurso e anomalias de handles tendiam a surgir só em condições próximas às de produção
  • Os procedimentos de investigação tendiam a depender de quem os conduzia

Restrições

  • Esgotar de verdade os recursos de um equipamento real é caro e arriscado
  • Era preciso trazer à tona antecipadamente os modos de falha na fronteira com código nativo e com a Win32
  • A solução precisava ser organizada de forma que pudesse ser reaproveitada em investigações futuras

O que observamos

  • Configurações do Verifier como Handles, Heaps e Low Resource Simulation
  • Vestígios de caminhos de falha, incluindo !htrace e page heap
  • A correspondência entre o nosso próprio lifecycle log e as informações de parada do Verifier

Como isolamos o problema

Primeiro, separamos o que dava para acompanhar apenas com os logs comuns do que só ficaria visível aplicando o Verifier. Em seguida, aplicamos o Verifier a um caminho de execução encapsulado em um harness de teste e adotamos uma abordagem de trazer à tona antecipadamente anomalias difíceis de reproduzir.

O que melhorou

  • Montamos uma infraestrutura de testes que percorre intencionalmente os caminhos de falha
  • Passou a ser possível observar anomalias de handles e de heap em ciclos mais curtos
  • Organizamos os pontos de observação de modo que seja fácil retornar a eles em revisões de projeto e em medidas de prevenção de recorrência

Serviços relacionados a este caso

Este caso se liga diretamente à investigação de falhas e análise de causa raiz, que avança na reprodução da falha e na identificação da causa. Também se liga à consultoria técnica e revisão de projeto, em que se define até que ponto os testes de caminhos de falha e os pontos de observação devem ser incorporados ao projeto.

Consulte-nos

Se esta página se aproxima da situação que você enfrenta, consulte-nos informando o contexto atual e o tipo de apoio de que precisa.

Voltar ao início