【问题标题】:no correlation of the debugger line marked , and the effect on variables标记的调试器行没有相关性,以及对变量的影响
【发布时间】:2011-07-27 10:34:03
【问题描述】:

这很奇怪,作为调试代码,似乎Delphi在断点之后没有指向正确的代码行。

有没有办法解决这个问题?

【问题讨论】:

    标签: delphi debugging delphi-2009


    【解决方案1】:

    您需要确保您正在查看的源文件与实际正在执行的代码相对应。检查以下内容:

    • 您没有使用运行时包。如果您确实使用运行时包,请确保使用最新版本的 PAS 文件编译运行时包。
    • 您实际上是在编译 PAS 文件。确保将文件添加到您的项目中。例如,当从 VCL 修改文件时,这可能会打击您:您正在修改 PAS 文件,但您正在链接 Delphi 提供的预编译 DCU。我通常通过在 PAS 文件中输入垃圾(那些强制编译错误)、重建应用程序并查找错误来检查这一点。如果编译器没有抱怨我的垃圾,那么我肯定知道我没有编译我正在查看的 PAS 文件。

    最近这里有一个问题揭示了解决该错误的另一种方法:如果您的 PAS 文件中的某些行有异常的行终止符,您可能会看到执行的代码行和实际的代码行之间存在恒定偏移程序中的代码。

    【讨论】:

      【解决方案2】:

      当编辑器加载的 .pas 文件不是用于生成调试器使用的 .dcu 文件时,就会发生这种情况。

      删除所有 .dcu 文件并重建。

      【讨论】:

      • 也可能(很少)需要删除所有断点,因为断点可能位于不再起作用的位置。 (删除 .DSK 文件)
      • 我也面临这个问题。我使用运行时包构建了我的应用程序。某些包无法调试,因为事件日志显示包的“无调试信息”。我确实包含了包的调试信息。删除 .dcu 文件根本没有帮助。有什么想法吗?
      猜你喜欢
      • 1970-01-01
      • 2015-08-08
      • 1970-01-01
      • 1970-01-01
      • 2015-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多