【问题标题】:Delphi 10 Seattle and 10.1 Berlin not able to debug COM DLLDelphi 10 Seattle 和 10.1 Berlin 无法调试 COM DLL
【发布时间】:2016-10-15 00:42:54
【问题描述】:

我有一个 COM DLL 项目,我可以在 Delphi 2007 和 XE8 中调试它(在断点处停止)。

但是,IDE 似乎不可能在 Delphi 10 Seattle 或 10.1 Berlin 的断点处停止。

我的调试步骤:

  1. 更改为 DEBUG(并检查那些已勾选的调试选项。例如调试信息)

  2. regsvr32输出目录下的项目DLL

  3. 编写一个简单地创建 COM 对象并调用其方法的 vbscript

  4. 在调试器中,设置 Run 命令行,使用 c:\windows\syswow64\cscript.exe 用于 32 位或 c:\windows\system32\cscript.exe 用于 64 位调试

  5. 设置命令行参数运行vbscript。

  6. 在调用的方法处设置断点。

  7. 按 F9

预期:在断点处停止

在 Delphi 2007 和 XE8 中,一切正常,但我无法在 Delphi 西雅图或柏林做到这一点。

这里可能出现什么问题?为了在 Delphi 的最新 IDE 版本下调试 COM DLL,我需要启用/禁用任何设置吗?

【问题讨论】:

  • 好问题,但不是那么容易回答。很可能是一个错误。
  • 通过Quality Portal向Embarcadero提交报告。

标签: delphi delphi-10-seattle delphi-10.1-berlin


【解决方案1】:

看起来是 IDE 的问题。我在 JIRA 中提出了这个问题:https://quality.embarcadero.com/browse/RSP-14964

我终于找到了解决方法。

我必须按 F8 而不是 F9。在这种情况下,CPU 窗口将弹出混合的 Pascal 和汇编指令,如果按 F9,它很可能会在断点处停止(但有时确实会发生随机行为)。 我可以根据需要多次复制它。直接按F9不会停在断点处,但是调试时会弹出cscript.exe窗口。

我的项目是一个 300K 的 COM DLL。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-13
    • 2017-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2015-12-17
    相关资源
    最近更新 更多