+13 votos
231 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 (623 pontos) | 231 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 (623 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 May 2020
  1. henrique.muller

    18 Pontos

  2. joao.melo

    14 Pontos

  3. joseglauber

    11 Pontos

  4. SlimShady

    7 Pontos

  5. willian.metalsystem

    6 Pontos

  6. lucas.melo

    3 Pontos

  7. fluipress.luciano

    2 Pontos

  8. pajucara.wallacef

    2 Pontos

  9. jean.filho

    2 Pontos

  10. maicon.pereira

    2 Pontos

200 pontos
Melhores 2020 May 25 - 31
    433 perguntas
    476 respostas
    346 comentários
    466 usuários