Delphi 10 Seattle和10.1 Berlin无法调试COM DLL

时间:2016-06-14 10:25:03

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

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

但是,似乎IDE无法在德尔福10西雅图或10.1柏林的断点处停止。

我的调试步骤:

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

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

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

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

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

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

  7. 点击F9

  8. 预期:在断点处停止

    在Delphi 2007和XE8中,一切正常,但我无法在Delphi Seattle或Berlin中进行。

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

1 个答案:

答案 0 :(得分:1)

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

我终于在我的案例中找到了解决办法。

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

我的项目是300K COM DLL。