Unit no projeto não aceita breakpoints!

Delphi

06/04/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!!


Kenji_rh

Kenji_rh

Curtidas 0

Respostas

Massuda

Massuda

06/04/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.


GOSTEI 0
Marco Salles

Marco Salles

06/04/2006

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

Exemplo simples

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



GOSTEI 0
Kenji_rh

Kenji_rh

06/04/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?


GOSTEI 0
Massuda

Massuda

06/04/2006

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


GOSTEI 0
Marco Salles

Marco Salles

06/04/2006

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

Ninguem ve a gente :evil: :evil:

Acho que vou mudar meu nome para masuda

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


GOSTEI 0
Kenji_rh

Kenji_rh

06/04/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


GOSTEI 0
Marco Salles

Marco Salles

06/04/2006

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


GOSTEI 0
Kenji_rh

Kenji_rh

06/04/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?


GOSTEI 0
Marco Salles

Marco Salles

06/04/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


GOSTEI 0
Wildner

Wildner

06/04/2006

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 .


GOSTEI 0
Brunodsr

Brunodsr

06/04/2006

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.


GOSTEI 0
POSTAR