gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 14:44:36 25 4
gpt4 key购买 nike

我有一个 COM DLL 项目,我能够在 Delphi 2007 和 XE8 中对其进行调试(在断点处停止)。

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

我的调试步骤:

  1. 更改为“DEBUG”(并检查是否勾选了那些调试选项。例如“调试信息”)

  2. regsvr32输出目录下的工程DLL

  3. 编写一个 vb 脚本来简单地创建 COM 对象并调用其方法

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

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

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

  7. 按 F9

预期:在断点处停止

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

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

最佳答案

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

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

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

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

关于Delphi 10 Seattle 和 10.1 Berlin 无法调试 COM DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37809366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com