Este guia detalha o processo de configuração do ambiente Lazarus para a depuração de uma DLL. Como exemplo prático, utilizaremos a biblioteca ACBrLibPIXCD e seu programa de demonstração ACBrLib.PIXCD.Demo em .NET.
Passo 1: Abrir o Projeto da DLL no Lazarus
Primeiramente, inicie o Lazarus. Em seguida, abra o projeto da DLL que você deseja depurar. Nesse exemplo vou utilizar o ACBrLibPIXCD.lpi.
Passo 2: Configurar as Opções do Compilador para a DLL
Acesse o menu Projeto > Opções de projeto > Opções do Compilador:
Observação: Em alguns cenários de teste, mover a DLL manualmente para o diretório correto após a compilação pode não ser suficiente para que o depurador funcione como esperado. Por isso optei por direcionar a saída da DLL para o diretório do executável. Veja os comentários dessa resposta no SO.
Passo 3: Configurar as Opções de Depuração
Acesse o menu Projeto > Opções de projeto > Opções do Compilador > Depuração:
Observação: As configurações exatas de depuração podem precisar de ajustes com base nos requisitos específicos do seu projeto ou na versão do Lazarus que você está utilizando. Por exemplo, você pode marcar todas as opções do grupo "Verificações e afirmações".
Passo 4: Configurar o Backend do Depurador para o GDB
Acesse o menu Ferramentas > Opções > Depurador > “Backend” do depurador:
Passo 5: Configurar os Parâmetros de Execução para a Depuração
Acesse o menu Executar > Parâmetros de execução:
Observação: No campo "Aplicação servidora" , você deve especificar o caminho completo para o arquivo executável que utilizará a sua DLL.
Passo 6: Limpar e Construir o Projeto
Acesse o menu Executar > Limpar e construir.
Passo 7: Rodar a aplicação
Ao executar, o Lazarus iniciará a "Aplicação servidora" que você configurou. Quando essa aplicação carregar a sua DLL e executar o código onde os breakpoints foram inseridos, a execução será interrompida no depurador do Lazarus.