Array
(
)

Unit no projeto não aceita breakpoints!

Kenji_rh
   - 06 abr 2006

Alguém sabe o que acontece quando se marca um breakpoint na Unit e na compilação ela é marcada como se não fosse compilada (sem aqueles pontos azuis) e ao passar pela rotina onde se encontra o breakpoint, ela passa direto?
Observei e essa unit não está com o parâmetro {$D-} que faz a unit ser ´ignorada´ numa execução passo a passo.

Obrigado!!


Massuda
   - 06 abr 2006

O compilador do Delphi por default faz otimização do código. Isso significa, entre outras coisas, que se o compilador perceber que uma determinada linha de código não é utilizada, ele não gera código para ela (por isso tem a linha sem a bolinha azul). Você pode desligar a otimização em Project|Options|Compiler|Code generation e desmarque a opção Optimization.


Marco Salles
   - 06 abr 2006

Pode ser da sua própria Rotina... Algo que o proprio compilador do delphi por razões de otimização , desconsidere

Exemplo simples


Citação:
var
i,q:integer;
begin
q:=2;
i:=1; //--->>> esta linha não sera compilada sem aqueles pontos azuis)
showmessage(inttostr(q));
end;



Kenji_rh
   - 06 abr 2006

Valeu Massuda, fiz o que vc disse mas do mesmo jeito não funcionou.
O problema é que a unit inteira está assim... e detalhe: é um Data Module, será que isso tem algo a ver?


Massuda
   - 06 abr 2006

Essa unit é usada em algum lugar do programa, ou seja, o DM dela é criado e utilizado pelo programa?


Marco Salles
   - 06 abr 2006

é o segundo tópico so hoje que eu respondo simultaneamente ao massuda com o conteudo identico , e os caras so agradecem ao massuda

Ninguem ve a gente

Acho que vou mudar meu nome para masuda

Amigo kenji_rh , não é nada pessoal é so um desabafo...


Kenji_rh
   - 07 abr 2006

Foi mal aí Marcos... tentei responder as duas perguntas ao mesmo tempo e esqueci de citar o seu nome...

Mas valeu pela ajuda sim!!! Agradeço muito


Marco Salles
   - 07 abr 2006

sem mágoas amigo ...Mas resolveste ou não ????


Kenji_rh
   - 08 abr 2006

Massuda, eu uso esse DM no projeto mesmo, já exclui a mesma do projeto e adicionei novamente e nada.

Marco, ainda nada deu certo... que raios será que acontece com esse DM?! Já viu coisa assim?


Marco Salles
   - 08 abr 2006

Uma coisa e esta unit fazer parte do projeto , outra coisa é o que esta unit tem ser aproveitada pelo projeto

Provavelmente as istruçoes presentes nesta unit estão sendo otimizadas pelo compilador ,

é toda a unit que não esta sendo compilda(Marcada com aquelas bolinhas azuis) ???

Ou é algum método especifico desta unit que não esta sendo compilada
(Marcada com aquelas bolinhas azuis)???

Ou é alguma isntruçaõ especifica desta unit que não esta sendo compilada(Marcada com aquelas bolinhas azuis) ???

Alem de responder a uma destas tres perguntas , se possivel coloque o fragemnto de codigo desta unit para que possamos dar uma olhada


Wildner
   - 22 jul 2008

Ola pessoal vendo o relato dos amigos sobre nao aceitar os break point estou com o mesmo caso em uma unit que comecou a nao aceitar os breakpoint de uns dias para ca. Antes estava normal so que agora nao aceita ja tentei colocar as diretivas D+ O- para forcar o debug mas nao resolve.

Gostaria de ajuda de algume que ja passou por isto para uma solucao pois estou precisando debugar esta unit e nao tem como .


Brunodsr
   - 22 jul 2008

Pessoal.. Deixem de viajar.

O Delphi só vai compilar o que é usado no projeto e(ou) no library path. Se o seu código não é utilizado em lugar nenhum, o delphi realmente não vai colocar break points válidos lá. Afinal de contas, vc vai depurar o q???

Verifique se o código empregado no seu datamodule é chamado em algum lugar. Acredito que não.

Um abraço galera.