Usando FastMM em Modo de Depuração Completo

Fast Memory Manager (FastMM) é um gerenciador de memória de terceiros para Delphi. É um gerenciador de memória substituto rápido para aplicações Embarcadero Delphi que escala bem em múltiplas threads e núcleos de CPU, não é suscetível à fragmentação de memória e suporta memória compartilhada sem arquivos .DLL externos.

Última versão do FastMM:

Uma versão anterior amplamente usada:

A partir do Delphi 2006, uma versão limitada do FastMM foi escolhida como o gerenciador de memória padrão do Delphi. Se você estiver usando Delphi 2006 ou posterior, um FastMM limitado já está incluído como o gerenciador de memória padrão.

FastMM não é apenas um gerenciador de memória — ele também pode ser usado como uma ferramenta poderosa para detectar problemas de memória em suas aplicações. Ele pode detectar vazamentos de memória, corrupção de memória, ponteiros reutilizados após descarte, e mais.

Para usar esses recursos de diagnóstico você deve:

  • baixar a versão completa do FastMM e compilá-la com sua aplicação, e

  • configurar as opções necessárias no arquivo FastMM4Options.inc.

Este documento usa o FastMM4 nos exemplos porque ele é bem conhecido na comunidade Delphi e possui opções de licenciamento mais versáteis.

Leituras relacionadas que podem ajudá-lo a entender melhor problemas de memória:

  • Memory Management — https://unigui.com/doc/online_help/memory-management.htm

  • Importance of Proper Memory Management — https://unigui.com/doc/online_help/importance-of-memory-managemen.htm

  • Object Lifetime Management — https://unigui.com/doc/online_help/object-lifetime-management.htm

Se sua aplicação travar aleatoriamente ou você ver violações de acesso (AV) aleatórias no log da aplicação, isso pode ser sinais de problemas de memória. Nesse caso, teste sua aplicação com o FastMM Full Debug Mode usando as instruções neste guia. Mesmo que não apareçam erros visíveis, é recomendado testar com o FastMM antes de implantar em produção.

Atualizado