尝试调试 D 程序时出错

Posted

技术标签:

【中文标题】尝试调试 D 程序时出错【英文标题】:Error while trying to debug D program 【发布时间】:2014-03-30 15:56:15 【问题描述】:

我的问题是当我尝试在 Eclipse (Kepler) 中的 DDT 中启动调试时出现错误:

最终启动顺序错误 执行 MI 命令失败: -gdb-set auto-solib-add on 来自调试器后端的错误消息: 未加载符号表。 使用“文件”命令。 未加载符号表。 使用“文件”命令。

我已经用 -gc 和 -g 标志编译了应用程序,但它没有帮助。

我正在使用原始 DMD 编译器。

【问题讨论】:

如果从终端运行 GDB 会发生什么? 同样的错误,另外它说文件不是可执行格式。 【参考方案1】:

听起来您是在 Windows 上工作,DMD 还没有 GDB 支持。您可以在命令行中使用windbg,也可以使用Visual Studio 插件,它会在编译后转换调试信息。

【讨论】:

您知道任何支持 D 的良好调试并具有语法高亮和自动完成等成熟功能的 IDE 吗? 我主要使用 DDT,当需要调试时,我使用 VS 插件(它本身非常简洁)或切换到 Linux。 VisualD 可以安装在免费的 Visual Studio Shell 中,更多信息请查看 VisualD 的安装页面。 我曾经尝试过使用 VS shell 的 VisualD。因此,您将编码与调试分开并为每个任务使用两个不同的 IDE?或者你是否也在 VisualD 中进行编码?问题是我在使用 D 时在 VS Shell 中启用完成和其他语言功能时遇到问题,我不知道这是否与文档说的事实有关:“shell 与 Visual Studio IDE 相同,但是剥夺了任何语言支持。" 当我必须调试时,我也在 VS 中编写代码,但之后我切换回 Eclipse,因为我更喜欢它的键盘快捷键功能。由于有学生 DreamSpark 帐户,我还没有尝试过 Shell,所以我无法真正帮助您。【参考方案2】:

我遇到的问题是编译器 (DMD) 在 Windows 下无法使用 GDB。如果有人想使用带调试支持的 DDT,他需要使用 GDC 编译器。 这实际上是在“调试”页面中提到的: http://wiki.dlang.org/Debugging

【讨论】:

以上是关于尝试调试 D 程序时出错的主要内容,如果未能解决你的问题,请参考以下文章

尝试启动 Boost 线程时出错

VS2013创建C#控制台程序,调试错误,尝试运行项目时出错:拒绝访问

在 Flutter VScode 中运行调试 ios 应用程序时出错

FLutter - 尝试运行应用程序时出错

因为“未知信号”而在QT创建者中使用dgb进行调试时出错

尝试将 Spring Boot 应用程序与 mongoDB 连接时出错