【问题标题】:Using JVCL's debug DCUs with C++Builder将 JVCL 的调试 DCU 与 C++Builder 一起使用
【发布时间】:2011-04-12 08:31:27
【问题描述】:

如何使用 C++Builder 调试 JVCL 代码?我在安装 JVCL 时启用了构建调试 DCU,我在项目的 Delphi 设置下打开了“使用调试 DCU”(在 C++ 设置下似乎没有类似的选项),我 disabled building with packages。尽管如此,单步仍然会跳过 JVCL 代码,如果 JVCL 函数出现在堆栈跟踪中,双击它只会显示反汇编。

调试 RTL 和 VCL 代码工作正常;这只是我遇到问题的 JVCL 代码。

有什么想法吗?

编辑:我还注意到 JVCL 调试 DCU 可以很好地用于 Delphi 应用程序。我尝试在 Process Monitor 运行时构建我的项目,对于 C++Builder 应用程序,它甚至没有尝试找到 JVCL DCU(所以这显然不仅仅是我的搜索路径的问题)。但是,它确实会查找核心 VCL 文件的 DCU。因此,显然 C++Builder 确定其依赖项的方式与 Delphi 不同,显然 JVCL 依赖项的处理方式与核心 VCL 依赖项不同,但我不知道如何或为什么。

【问题讨论】:

    标签: delphi c++builder jvcl dcu


    【解决方案1】:

    设置“使用调试 DCU”选项会将 调试路径 选项的内容添加到 搜索路径 选项的前面,以便下次链接代码时,链接器将使用调试文件而不是普通文件。

    选中该框后,请确保包含 JVCL DCU 调试版本的目录位于您的搜索路径中。如果不是,则将 JVCL 路径添加到您的调试路径(在 $(BDS)\Lib\Debug 之后)并切换“使用调试 DCU”选项以重置搜索路径。

    【讨论】:

    • 然后确保您对项目进行 BUILD 而不是 COMPILE,以便它完全重新链接,从而在可执行文件中包含调试信息。
    • 这还需要吗,@Ken?我以为 Delphi 更改了几个版本,以便更改编译器和链接器设置会自动触发下一次构建。
    • 感谢您的信息。我试过这样做,但似乎没有帮助;查看我的编辑。
    • AFAIK,但我可能错过了变化。我得看看那个才能看到。
    猜你喜欢
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    • 1970-01-01
    • 2013-02-02
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    相关资源
    最近更新 更多