3.5.3. Valgrind

Valgrind fornece uma série de ferramentas de detecção e perfil para ajudar a melhorar o desempenho e a correção de suas aplicações. Essas ferramentas podem detectar memória e erros relacionados aos threads, bem como heaps, pilha e saturação de matrizes, o que lhe permite localizar e corrigir erros em seu código de aplicação facilmente. Eles também podem criar perfis no cache, heaps, e ramo de previsão para identificar os fatores que podem aumentar a velocidade de aplicação e minimizar o uso de memória do aplicativo.
Valgrind analisa o pedido de execução em uma CPU sintético e instrumentar o código do aplicativo existente como ele é executado. Em seguida, imprime "comentário" identificando claramente cada processo envolvido na execução da aplicação de um descritor especificado pelo usuário, arquivo, ou tomada de rede. O nível de instrumentação varia dependendo da ferramenta Valgrind em utilização, e as suas configurações, mas é importante notar que a execução do código instrumentada pode levar 4-50 vezes maior do que a execução normal.
Valgrind pode ser usado em seu aplicativo como está, sem recompilação. No entanto, como o Valgrind utiliza informações de depuração para identificar problemas em seu código, se o seu aplicativo e bibliotecas de apoio não foram compilados com informações de depuração ativada, recompilar para incluir esta informação é altamente recomendado.
Desde o Red Hat Enterprise Linux 6.4, o Valgrind integra com o gdb (GNU Project Debugger) para aprimorar eficiência de depuração.
Mais informações sobre o Valgrind estão disponíveis em Guia do Desenvolvedor,disponível em http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/, ou utilizando o comando man valgrind quando o pacote valgrind for instalado. Documentação extra pode também ser encontrada em:
  • /usr/share/doc/valgrind-<version>/valgrind_manual.pdf
  • /usr/share/doc/valgrind-<version>/html/index.html
Para informaçoes sobre como o Valgrind pode ser utilizado para a memória do sistema, consulte o Seção 5.3, “Utilizando o Valgrind para o Uso de Memória de Perfil ”.