delphi单步跟踪不能同步,类似错位的感觉。有朋友遇到过这种问题吗?

天鸽 2009-01-07 08:42:51
delphi单步跟踪不能同步,类似错位的感觉。

在有些模块里跟踪是正常的,但有一些就会出现这种问题,懊恼,求助!

运行程序没有任何问题。
...全文
308 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
handy01 2009-02-06
  • 打赏
  • 举报
回复
碰到过这种问题,重启下delphi就行了
快乐老猫 2009-02-06
  • 打赏
  • 举报
回复
工程组里面有同名文件。
寻梦928 2009-02-06
  • 打赏
  • 举报
回复
我也遇见这种问题,不过都是以重启Delphi解决的不知道什么原因?
lvjun 2009-02-05
  • 打赏
  • 举报
回复
错位?是说的执行和代码对不上么?
如果是这样,那应该是执行代码和你看到的代码是不同的.原因有很多.
先自己重新编译一次.
不行的话,再清除DCU文件.
还不行的话,仔细查看你打开调试的文件的路径,是否正确.
你这种情况,大部分是路径引起.
(实在不行的话,如果你的test.pas调试不正确,搜索一下你计算机中所有的test.pas和test.dcu,除了工程用到的,其其它的都删除,嘿嘿)
cchh 2009-02-02
  • 打赏
  • 举报
回复
可能是option里面的debug source path和你实际打开的工程不一致
gzmhero 2009-02-02
  • 打赏
  • 举报
回复
代码拷贝的问题。

从记事本、有些网页、QQ等里面拷贝过来的吧?是有一些不可见的字符。

重新手工敲一遍代码才行。
lvgaojian 2009-02-02
  • 打赏
  • 举报
回复
这种情况我也碰到过,
装第三方控件后出现的,
我猜想是bpl包的问题,
我没有找到好的解决方法最后重装delphi了
Seamour 2009-02-02
  • 打赏
  • 举报
回复
也有些情况是代码被优化掉了,比如

function Add5(X: Integer): Integer;
begin
Result := X; // 1
Inc(Result, 5);
end;

这种情况语句1就会被优化掉,因为传入的参数 x 使用 eax 寄存器,而 Result 也使用 eax 寄存器,所以编译的时候这句就成了多余的。这种情况下ide中语句1之前不会出现蓝色的可设断点的蓝点儿(好比有些短的、没几个局部变量的函数begin/end语句没法设断点,因为不需要保存/恢复栈现场)。还有些情况比如某些for循环里可能产生的(delphi的for语法使编译器能够做一些特别的优化),有时候生成的代码会和原来的实现方法有差别,单步跟代码的时候可能会跑的和预想的不太一样,跟出来for循环变量的值也可能会与预期的不太一样。这种情况并不多见,如果跟反汇编的话就知道是怎么回事了。
zzxap 2009-01-10
  • 打赏
  • 举报
回复
老实实再敲一边
CDSoftwareWj 2009-01-10
  • 打赏
  • 举报
回复
楼上所有人说的都不对!!!

老大你用windows记事本Copy/Paste过代码吧

哇哈哈哈,把那部分删除了,老老实实再敲一边
hwj_wj_123 2009-01-09
  • 打赏
  • 举报
回复
我遇到过这种情况,和代码有关。某段代码中存在中文的空格字符。
从代码的开头检查,找到最远的可以一致的部位。
对开始出现不一致的地方一句句检查。
lyguo 2009-01-08
  • 打赏
  • 举报
回复
不行就删除DCU 然后 重启DELPHI 打开原来工程,然后CTRL+F9
zoujianqing 2009-01-08
  • 打赏
  • 举报
回复
应该是是你在debug模式的时候修改了代码,又没有重新编译导致的。
重新再编译一下就可以啦!
etomahawk 2009-01-08
  • 打赏
  • 举报
回复
我也想知道。

以前看到一个帖子说是Delphi IDE的bug。
天鸽 2009-01-08
  • 打赏
  • 举报
回复
我删掉了*.dcu,但问题仍然存在~~~~~
SOS
ZuoBaoquan 2009-01-08
  • 打赏
  • 举报
回复
检查三个位置:
1. 项目选项(Search & Project Source)
2. Delphi环境选项(Library)
3. Unit Output
搜索这些位置(不要包含扩展名),肯定能发现同名的文件名。

另外,你也可以直接在Enviroment里面把当前单元的正确位置加载Library的第一条。
再Build。
一定可以的!

GL
lenism521 2009-01-08
  • 打赏
  • 举报
回复
把exe文件删除,重新启动delphi再次打开工程,先别调试,重新build一下,再调试!
天鸽 2009-01-08
  • 打赏
  • 举报
回复
为什么我试了,还是不行呢????
e01620230 2009-01-07
  • 打赏
  • 举报
回复
这种情况,如果 你现在在跟踪 如果删除一条代码 那跟踪会错位 你应该把一些原来编译出来的文件删除,在重新编译下。当然删除编译出来的文件先备份下 防止出现问题。
bdmh 2009-01-07
  • 打赏
  • 举报
回复
重新build一下程序
加载更多回复(8)

830

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧