Mpatrol é uma biblioteca que fornece poderosa depuração enquanto diagnosticar erros de execução que são causados pelo uso errado de memória alocada dinamicamente. Ele atua como um depurador malloc () para depurar as alocações de memória dinâmica, embora também possa rastrear e perfil de chamadas para malloc () e free () também. Se você não sabe qual é a função malloc () ou o operador new [] fazer, então esta biblioteca não é provavelmente para você. Você tem que ter uma certa quantidade de experiência em programação e um conhecimento de como executar um compilador de linha de comando e de ligação antes de você deve tentar usar isso.
Além de fornecer um registro abrangente e configurável de todas as operações de memória dinâmica que ocorreram durante o tempo de vida de um programa, a biblioteca mpatrol realiza extensa verificação para detectar qualquer desvio de memória alocada dinamicamente. Toda essa funcionalidade pode ser integrado no código existente através da inclusão de um único arquivo de cabeçalho em tempo de compilação. No UNIX e plataformas Windows (e AmigaOS ao usar GCC) isso não pode mesmo ser necessário, como a biblioteca mpatrol pode estar relacionada com arquivos de objetos existentes em tempo de ligação ou, em algumas plataformas, mesmo dinamicamente ligados com os programas existentes em tempo de execução.
Todos registro e rastreio de saída a partir da biblioteca mpatrol é enviada para um arquivo de log separado, a fim de manter seus diagnósticos separadas de qualquer que o programa está sendo testado pode gerar. Uma grande variedade de configurações da biblioteca também pode ser alterado em tempo de execução através de uma variável de ambiente, eliminando assim a necessidade de recompilar ou vincular novamente a fim de mudar o comportamento da biblioteca.
Um arquivo que contém um resumo das estatísticas de perfil de alocação de memória para um programa em particular pode ser produzido pela biblioteca mpatrol. Este arquivo pode ser lido por uma ferramenta de análise que irá exibir um conjunto de tabelas com base nos dados acumulados. As informações de perfil inclui resumos de todas as alocações de memória listados por tamanho e a função que lhes atribuída e uma lista de vazamentos de memória com a pilha de chamadas da função que reparte. Ele também inclui um gráfico de todas as alocações de memória listados em forma de tabela, e um arquivo gráfico especificação opcional para posterior processamento pelo pacote de visualização gráfico de pontos.
Um ficheiro contendo um vestígio codificado concisa de todas as atribuições de memória e desalocações realizadas por um programa também pode ser produzido pela biblioteca mpatrol. Este arquivo pode ser lido por uma ferramenta de rastreamento que irá decodificar o traçado e exibir os eventos na tabela ou forma gráfica, e também exibir todas as estatísticas relevantes que poderiam ser calculados.
A biblioteca mpatrol foi concebido com a intenção de substituir as chamadas para C existentes e funções de alocação de memória C ++ como perfeitamente possível, mas em muitos casos que podem não ser possíveis e ligeiras modificações de código pode ser necessária. No entanto, uma macro pré-processador que contém a versão da biblioteca mpatrol é fornecida para fins de compilação condicional para que compilações e compilações de depuração pode ser facilmente automatizada.
O que é novo em nesta versão:.
- Adicionado melhor registo para mensagens de diagnóstico
- Adicionado muito melhorada autoconf, automake e apoio libtool.
- Adicionado suporte a arquivos de log HTML provisório com a opção HTML.
- A biblioteca agora verifica para garantir que não havia nenhum problema escrevendo o profiling e rastreamento de arquivos de saída.
- Suporte thread-safe Tru64 melhor Adicionado.
- Corrigido um problema localizar símbolos para o formato de arquivo objeto a.out.
- diagnósticos fixas para o número de símbolos lidos a partir de DLLs do Windows.
- Corrigido um bug que calculou o tamanho total errado de alocações marcadas.
- O comando mpatrol agora tem a opção --read-env para utilizar o conteúdo existente da variável de ambiente MPATROL_OPTIONS.
- O comando mpsym agora detecta automaticamente suporte a 64 bits e agora tem a opção --skip. O código-fonte agora compila corretamente em sistemas BSD.
Comentários não encontrado