我有一个COM DLL项目,我可以在Delphi 2007和XE8中调试它(在断点处停止)。
但是,似乎IDE无法在德尔福10西雅图或10.1柏林的断点处停止。
我的调试步骤:
更改为DEBUG(并检查选中的调试选项。例如调试信息)
regsvr32输出目录下的项目DLL
编写一个只创建COM对象并调用其方法的vbscript
在调试器中,使用Run
为32位设置c:\windows\syswow64\cscript.exe
命令行,或为{64}调试设置c:\windows\system32\cscript.exe
设置命令行参数以运行vbscript。
在调用的方法中设置断点。
点击F9
预期:在断点处停止
在Delphi 2007和XE8中,一切正常,但我无法在Delphi Seattle或Berlin中进行。
这里可能出现什么问题?在Delphi的最新IDE版本下,为了调试COM DLL,是否需要启用/禁用任何设置?
答案 0 :(得分:1)
看起来这是IDE的一个问题。我在JIRA提出了这个问题:https://quality.embarcadero.com/browse/RSP-14964
我终于在我的案例中找到了解决办法。
我必须按F8而不是F9。在这种情况下,CPU窗口将弹出混合的Pascal和汇编指令,如果按F9,它最有可能在断点处停止(但有时会发生随机行为)。 我可以根据需要多次重现这个。直接按F9不会在断点处停止,但在调试期间会弹出cscript.exe窗口。
我的项目是300K COM DLL。