【问题标题】:Debugging Makefile project (mingw-gcc) on Visual Studio在 Visual Studio 上调试 Makefile 项目 (mingw-gcc)
【发布时间】:2015-10-17 21:59:45
【问题描述】:

我今天在 Visual Studio Community 2015 上安装了 MinGW 并创建了一个 makefile 项目,并让它可以进行编译。

还有两件事困扰着我:

界面

我无法告诉 Visual Studio 在运行程序后阻止关闭控制台窗口。连Start Without Debugging关闭窗口,项目属性和普通VS项目都不一样,不知道怎么配置。

调试

设置断点是没有希望的。显然,调试器无法理解使用其他编译器编译的文件中的调试信息。我得到Module was built without symbols.

我已尝试根据this answer 设置 gdb,但随后启动调试器将我引导至此窗口: 这表明可执行文件确实有调试符号(我正在使用-g 编译)

我能感觉到我已经很接近了。我错过了什么?

【问题讨论】:

    标签: visual-studio gdb mingw visual-studio-2015


    【解决方案1】:

    mingw-gcc 生成 DWARF 格式的调试信息 可执行文件。 Visual Studio 调试器需要单独的 PDB 由 Microsoft 的编译器生成的调试文件。它不能 认识矮人。

    您可以使用以下任一方式调试 MinGW 可执行文件 gdb 控制台,就像您几乎开始做的那样,或者 您可以在支持gdb 的 IDE 中进行“可视化”调试, 在 Windows 上,例如 CodeLite、Eclipse-CDT、CodeBlocks。如果你 与 Visual Studio 结缘,您可以试试运气 Microsoft's open sourced Visual Studio MI Debug Engine , 根据其简介“启用使用支持 gdb 机器接口 (“MI”) 规范的调试器进行调试,例如 GDB、LLDB 和 CLRDBG”。 我对此一无所知

    【讨论】:

    • 所以底线是:做不到?如果是这样的话,无论如何我都会接受这个作为答案...... :(
    • 当目标中的调试信息为 dwarf 格式或除 pdb 之外的任何其他格式时,您不能使用 VS 调试器。您不能指示 GCC 生成 pdb 调试信息。 Microsoft 和 GCC 工具链来自不同的世界。 cv2pdb 是一个开源工具,它可以从你的 dwarf 可执行文件中正确生成一个 pdb 数据库,但你必须在每次更改后重新运行它。
    猜你喜欢
    • 2013-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-03
    • 2011-04-09
    • 1970-01-01
    相关资源
    最近更新 更多