1

我有 Delphi 2006。突然它开始表现不正常。如果我运行到断点,它会停止,但下次我启动它时,程序会运行但会忽略断点。如果我重置调试器并从头开始运行程序,断点会再次起作用,但只有一次。

如果我在断点处停止后尝试设置变量 watch 之类的任何功能,IDE 将挂起。任务管理器在 BSD.EXE 上没有显示内存或 I/O 活动,但 CPU 牢牢地卡在 50%(大概是我的 2 个核心之一处于紧密循环中)。

所以我可以通过以下方式重现问题:

  • 启动德尔福
  • 加载我的项目
  • 完整构建
  • 在第一行设置断点
  • 运行(程序在第一行中断)
  • 在源中选择一个变量名并将其拖到监视窗口中
  • 繁荣!

此行为仅限于正在调试的一个特定程序,并在 PC/IDE 重新启动后发生。

该应用程序有几十万行。

一定有东西被损坏了,但我从哪里开始呢?它指出我的程序正在破坏 IDE,但我可以通过中断 DPR 文件的第一行来重现问题!

是不是编译器被我最近添加的一些代码卡住了?

我想下一步是开始倒退,删除我添加的东西,直到问题消失,但我希望有人可以先阐明一些情况。

4

2 回答 2

1

Delphi 在配置选项方面过于复杂。我使用相同的 Windows 安装了五年,最后我的 Delphi 2006 非常错误。我有很多第 3 方套餐和一些我自己的套餐。

解决方案是:

  1. 创建两个文件夹(1 到 bpl 文件,其他到包);
  2. 为每个组件包创建一个子文件夹;
  3. 使用小名称以免库路径超载;
  4. 记下要安装在文本文件中的每个包;
  5. Tools\Library Path使用包源、drc 等的新路径刷新 ;
  6. 删除旧的德尔福安装;
  7. 对所有内容进行全新、干净且有文档的安装。

当包显示任何错误时,将其从Components\Install Packages文件中删除,然后删除它的文件子文件夹。

于 2012-06-30T00:27:31.037 回答
0

在使用运行时包进行构建时,我在使用 Delphi 进行调试时遇到了问题(2006 和 2010 都表现出类似的行为)。

如果所有内容都包含在 exe 中,那么它是坚如磐石的。否则,行为与您描述的非常相似。

我不能说这是因为自制的包装不好,还是因为 Delphi 的某些特定的东西。

于 2012-05-04T16:45:12.130 回答