Aplicação de Teste de Exemplo

Aqui mostraremos um aplicativo de exemplo que demonstrará como o FastMM pode detectar facilmente vazamentos de memória e outros defeitos de memória. Este aplicativo pode ser encontrado na pasta de demos do uniGUI \Framework\uniGUI\Demos\Desktop\FastMM.

1

Preparar arquivos do FastMM

Copie os arquivos necessários do FastMM para a pasta do seu aplicativo. O pacote FastMM4 inclui muitos arquivos, mas estes são os necessários para depurar este aplicativo:

  • FastMM4.pas

  • FastMM4Messages.pas

  • FastMM4Options.inc

  • FastMM_FullDebugMode.dll

2

Incluir unidades do FastMM no DPR

Adicione as duas primeiras unidades na seção uses do DPR. Elas devem ser os primeiros arquivos na lista de uses.

Exemplo de DPR:

fmm.dpr
program fmm;

uses
  FastMM4,
  FastMM4Messages,
  Forms,
  ServerModule in 'ServerModule.pas' {UniServerModule: TUniGUIServerModule},
  MainModule in 'MainModule.pas' {UniMainModule: TUniGUIMainModule},
  Main in 'Main.pas' {MainForm: TUniForm};
3

Substituir opções do FastMM para uniGUI

Ao invés de editar FastMM4Options.inc diretamente, a demo fornece um arquivo chamado FastMM4uniGUIOptions.inc que reúne configurações relevantes para um aplicativo uniGUI e substitui as configurações padrão do FastMM.

Para incluí-lo, adicione esta única linha em FastMM4.pas logo após o include existente:

FastMM4.pas (trecho)
unit FastMM4;

interface

{$Include FastMM4Options.inc}
{$Include FastMM4uniGUIOptions.inc} // <-- inserir aqui

Essa alteração já está aplicada no FastMM4.pas fornecido com o projeto de demonstração.

4

Habilitar geração de arquivo MAP

É importante alterar as opções de Linkagem do projeto e definir a geração de Arquivo MAP como Detailed.

Embora em algumas versões do Delphi o FastMM pareça funcionar sem esta opção habilitada, em outras versões do Delphi você não conseguirá obter um relatório de rastreamento de pilha sem um arquivo MAP.

Como o projeto de demonstração é implantado apenas como um arquivo DPR, você precisa ajustar manualmente a opção acima após abrir o projeto.

circle-info

Nota: Certifique-se de ter baixado o FastMM4 do seu repositório oficial e copiado os arquivos necessários para a pasta do seu aplicativo antes de prosseguir.

clip0365