【问题标题】:Delphi IDE hangs after performing Install of PackageDelphi IDE 在执行安装包后挂起
【发布时间】:2014-06-18 05:09:59
【问题描述】:

我正在尝试通过加载 DPROJ 文件、编译它(成功)然后安装来安装商业包。当我尝试安装时,编译进度框会出现一瞬间,然后 IDE 变得无响应。它没有使用大量的 CPU 资源,因此它没有处于紧密循环中。

如何尝试诊断问题所在?

【问题讨论】:

  • 您可以从添加有关项目性质、Delphi 版本甚至一些源代码的信息开始。
  • 看起来代码有问题。从哪里开始是从包中删除代码以缩小罪魁祸首。或者调试包加载。
  • 如果包是商业的,它肯定有技术支持可以帮助你。
  • 来吧,伙计们,对他放轻松。他是新用户,在这里他提供了很多有用的信息。无需仅仅因为没有足够详细的描述以供您在本地复制,就将某人的第一个问题埋在反对票中。
  • @MasonWheeler:世界需要更多像你这样的人。

标签: delphi installation package


【解决方案1】:

这真的没什么可做的——如果我们知道包的名称和你使用的是哪个版本的 Delphi 会很有帮助——但我会试一试。至少你已经很好地描述了你正在观察的问题。很多新用户甚至没有做那么多。

你说你可以编译。我希望这意味着这是有源代码的。如果没有——如果你有一个商业的、仅限 DCU 的库——你就被骗了。召集创建它的人并带他们完成任务。

但是让我们假设您有源代码。如果是这样,这个问题实际上很容易追踪。这是你要做的:

  • 打开两个 Delphi 副本,将包加载到它们中,然后编译。确保调试信息已开启。
  • 在一份副本中,尝试安装该软件包。等待它挂起。
  • 切换到 Delphi 的另一个副本。
  • 在菜单中,转到Run->Attach to Process...
  • 附加到 BDS.exe 的另一个副本。 (如果你不知道哪个是哪个,这很容易:你不能附加到你自己的进程,所以它会让你连接到它。)这会将调试器附加到 Delphi 的另一个副本.
    • 如果它没有自动中断到调试器,请点击暂停。
  • 切换到主线程并检查调用堆栈。如果您没有发现任何有用的信息,请查看其他主题。
  • 如果它没有消耗大量 CPU,它可能是挂在某处的锁上等待。在主线程中查找对WaitFor<something>Object(s) 的调用。

从那里开始,享受调试的乐趣!根据现有信息,我可以为您提供的帮助就这些了,但应该足以让您入门。

【讨论】:

  • 赞成不仅因为真正有用的建议,还因为您正试图将对话恢复到我们在 SO 想要的水平。谢谢。
猜你喜欢
  • 1970-01-01
  • 2018-02-28
  • 1970-01-01
  • 2021-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-13
相关资源
最近更新 更多