一个很奇怪的问题.(100分)

  • 主题发起人 主题发起人 DelphiTony
  • 开始时间 开始时间
D

DelphiTony

Unregistered / Unconfirmed
GUEST, unregistred user!
一个很奇怪的问题.看大家能否解决!
在Delphi中,我在代码运行处设置了断点,在按F9运行,它就会弹出来一段话:
Breakpoint is set on line that may have been removed by the optimizer or cantains no debug information.
Run anyway?
然后我设置的断点就不起作用了.不知道是为什么?
答对一定给分!


 
编译器优化后,你那一句无论如何不会被执行.
有以下几种可能:
对循环变量赋值
对没有使用的局部变量赋值
永假判断语句的部分等等.
 
你设置断点的代码行可能是不能加断点的!你可以在这一行的上一行或者上几行加断点
然后单步运行 看看程序从你原来设断点的地方走吗?
 
编译整个程序,在语句前面有蓝点的才能加断点
 
我如果在这样的语句前设了断点,没有提示为什么?
 
我设置的断点就是加断点的地方呀!奇怪的是,我的另外的几个工程文件里可以设置的,
而其中有一个就是不能设.
 
你不是在库文件上加断点吧
那样要选择Build with Debug DCU

即使不是库文件,也有可能默认不包含Debug信息的,如果是你自己写的,检查一下
是否是没有包含Debug信息,在工程选项设置中有
 
也碰到同样的问题
不只是怎么回事
不过有一点知道的是
你运行后断点左边上如果是勾就可以在那里停下来
是叉的话就不行

可能是整个程序里的某些代码不让断点吧
我如果写有什么背景重画之类的代码就不行
如果去掉就可以了。你看一下一些是消息的代码去掉看看
 
你那一句无论如何不会被执行.
或者代碼被重新修改了
 
关于breakpoint,我也有个奇怪的问题。先全编译一个dll,在他前面有蓝点的行上设置断点,但是运行后,蓝点全部消失,断点不起作用,我修改代码,发现程序确实是运行到这个地方的。已经dll设置的run parameters为一个exe。
 
还没有说完:上述的问题我碰到后一般情况下都是重新打开delphi IDE基本上问题就解决了。所以说应该不是编译参数设置的问题。难道就是delphi的BUG?
 

Similar threads

回复
0
查看
804
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部