delphi - 在单元破坏调试信息中通用定义

标签 delphi generics delphi-2010

这一定是 Delphi 的错误...

我有一个单元,它是我的持久性框架的基础。在该单元中,我有一个用于所有域对象的基类、一个列表类和一个通用列表类。

最近我注意到,当我在调试时进入该单元时,执行会跳转到文件中比应有的位置更靠下的位置......可能四到五行。重新排序文件没有什么区别。该代码还会生成访问冲突,但仅在我对其进行调试时发生。

我试图找到这个问题的原因...我想到了几件事,比如调试器中的一些代码注入(inject)(例如 this logitec webcam driver bug ),或者调试信息与我的单元源不同步(例如,DCU 是从某个旧来源中提取的)。

最后,我启动了一个安装了干净的 Windows + Delphi 的虚拟机,仅获取测试该单元所需的内容,并创建了一个小型 DUnit 项目来测试它。同样的问题。

然后我开始一次一个地从设备中移除一些东西,直到它工作为止。唯一有区别的是当我删除通用列表类时。

还有其他人遇到过这个问题吗?有谁知道如何解决它吗?

提前致谢,

N@

更新:将通用添加回设备中会使问题再次出现,因此这不是过时的 DCU 的问题。

最佳答案

您是否确保相关单元的所有行都以 CR LF 结尾?调试器不能只处理 CR 或 LF,而编辑器可以。 Notepad++、TextPad 等可以显示是否存在混合物。在[Windows]记事本中加载并重新保存即可解决。

关于delphi - 在单元破坏调试信息中通用定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3920434/

相关文章:

delphi - 使用 Chromium Embedded 时如何修复此内存泄漏?

delphi - FindFirst、FindNext(Delphi Xe、Win7)排名不正确

java - 如何将整数元素添加到泛型通配符的ArrayList中?

delphi - 免费的 Delphi 编译器

delphi - delphi2010 中的错误行为/Bug "extract method"

delphi - 有人用Delphi 来编程VST 吗?

mysql - Delphi 2009 + Zeos + MySQL DBGrid 将字符串显示为 (BYTES)

java - java 方法如何接受扩展泛型类型的参数

c# - 将对象显式转换为 C# 中仅在运行时可用的泛型类型的另一个对象

delphi - Delphi 2010 中 RadioGroup.ControlCount 的问题