O que são Build Modes?
Vamos agora aos BuildsModes, o que são eles? Ao compilar um projeto você esta informando como deseja a compilação, o padrão do Lazarus é bem básico e todas as vezes que compilar vai incluir um peso de debug ao seu projeto o que o tornará mais pesado e lento do que deveria ser.
Como exemplo, um aplicativo básico com CRUD de 16 tabelas e 42 units com classes e formulários tem 56MB, nada mal hein? Porém se removermos o debug, além de mais rápido e ágil, o executável final cai para 16MB!
Compilação Padrão (Debug)
56 MB
Inclui símbolos de depuração e verificações extras.
Compilação Otimizada (Release)
16 MB
Executável final limpo, mais rápido e ágil para o usuário.
Configurando a IDE
Este é o peso do debug incorporado ao projeto e estamos falando de um debug que é ajustado para ser bem básico, dá para ter um debug ainda maior com alguns ajustes que nos dão ainda mais informação na hora de debugar um programa. Então precisamos ter BuildsMode para cada intenção nossa.
Vá em Project -> Project Options, depois selecione a guia Compiler Options. Você acaba de encontrar esta tela configuração com Build modes chamada “Default”:
Para acrescentar novos modos, clique no botão “...” e utilize o ícone “+” para criar perfis como “DebugCronico” (para depuração profunda) e “DebugDesligado” (para produção).
Ajustes de Debug e Verbosidade
No modo DebugCronico, podemos desativar a opção Win32 ui application em Config and Target para visualizar o stdout no terminal (comum no Linux para rastrear fontes ausentes ou avisos do sistema).
Ajuste também o Optimization levels para 0 (zero) em Compiling and Linking e aumente a verbosidade em Verbosity marcando Show debug info.
Download e Uso Local
Para garantir o acesso a este guia e aos assets originais de forma offline, utilize os links abaixo:
Considerações Finais
O Build Mode não é apenas para compilar e debugar. Cada Build mode pode ser usado para uma finalidade diferente, como cross-compiler para gerar programas para Linux e Windows simultaneamente, ou para determinar executáveis em pastas diferentes usando opções distintas de compilação. Automatizar esses perfis é o que diferencia um ambiente de desenvolvimento amador de um profissional.