+14 votos
1,1K visitas

Tenho uma unit (Delphi 7) onde após realizar a compilação / build, as marcações de depuração não corresponde a uma linha válida do código fonte, ou algumas linhas do código fonte foram ignoradas.

Exemplo:

por (632 pontos) | 1,1K visitas

1 Resposta

+13 votos
Melhor resposta

Após uma conversa com o Dirceu ele apontou os seguintes possiveis pontos/solução:

1) A unit em questão pertence a uma VCL que ainda não foi compilada. Apenas a DLL foi compilada.

Normalmente o projeto ativo no Delphi é uma DLL e a Unit visualizada / alterada pertence a uma VCL. Ao compilar, apenas a DLL ativa é compilada e as alterações da unit da VCL não, porém os pontos de depuração são mostrados conforme ultima compilação válida.

2) Em Project / Options / Compiler, o flag Optimization está Marcado. O que permitirá que o compilador remove alguns pontos de depuração baseado em otimizações de código;

3) Existem caracteres inválidos no .pas ou .dfm que fazem o Delphi se perder quanto a disposição dos pontos de depuração.

Para resolver isto, normalmente abrimos os dois arquivos (pas e dfm) no Visual Studio, e ele questionará se desejamos normalizar as quebras de linhas para Windows, respondendo sim, salvamos os arquivos e reabrimos no Delphi.

 

 

O caso de Exemplo era o problema 1.

Porém hoje, passamos também pelo problema 3, e resolvemos conforme indicado.

 

por (632 pontos)
selecionada por
No caso 2, normalmente o Delphi não gera o ponto de depuração de nenhuma linha.
Já ví alguns casos em que mais de um projeto com units de mesmo nome também levam a este problema...
Melhores Aug 2025
    200 pontos
    Melhores 2025 Jul 28 - Aug 03
    1. Larson

      156 Pontos

    2. danilo.pereira

      96 Pontos

    3. danilo.pereira

      96 Pontos

    4. danilo.pereira

      96 Pontos

    5. luciano.fronza

      61 Pontos

    6. luciano.fronza

      61 Pontos

    7. luciano.fronza

      61 Pontos

    8. diuari.molinari

      52 Pontos

    9. diuari.molinari

      51 Pontos

    10. diuari.molinari

      51 Pontos

    517 perguntas
    566 respostas
    389 comentários
    704 usuários