【问题标题】:Can I use a Code::Blocks as a MinGW GDB GUI?我可以使用 Code::Blocks 作为 MinGW GDB GUI 吗?
【发布时间】:2018-07-19 07:32:02
【问题描述】:

我们正在使用 Vectorcast 进行单元测试,这让我们可以使用 MinGw GDB,但只能使用命令行版本。一些年轻的开发者想要更直观的东西。

我们不使用 Code::Blocks 来构建我们的代码,这样做需要付出很大的努力。

我们可以使用 Code::Blocks 作为 GDB GUI 吗?也就是说,我可以将它指向一个 .EXE 文件(其中包含 MinGW 调试信息)并使用 Code::Blocks(或任何其他基于 MinGW 的 IDE)作为 GDB GUI 吗?

【问题讨论】:

  • 您可能可以使用 Code::Blocks 进行 MinGW,请参阅 mingw.org/wiki/ide
  • 支持链接到 wiki。唉,在第一次搜索时,我没有找到我想要的东西。也许我会ask for help
  • 你使用什么编译器?例如,您不能将 gdb 用于使用 MSVC 构建的 exe 文件。
  • 我们实际上是在使用 MinGW 编译器和链接器。但是,它们是从 Vectorcast 单元测试系统调用的。到目前为止,我们还没有使用过 MinGW IDE,也不需要创建 Code::Blocks 项目(哎呀,我必须更新问题;我们想使用 Code::Blocks 或其他东西,这将给我们一个可视化调试器,而不仅仅是命令行 MinGW GDB - 我们已经有了 Vectorcast))

标签: gdb mingw codeblocks


【解决方案1】:

作为调试器的 GUI 工具,您可以使用 x64dbg。 它允许您对使用 MinGW 或 Visual Studio 构建的程序执行 32 位和 64 位调试

【讨论】:

  • 很好的答案,谢谢!不幸的是,我们不允许管理员权限,这是 x64dbg 所要求的。不过,阅读该网站后,我发现了与 OllyDbg 的比较,看起来很有希望。
【解决方案2】:

可以在 VectorCAST 中使用基于 GUI 的调试器,而不是默认的基于 cmd 行的 GDB 调试器。过去,youtube 上有一个关于 eclipse 调试器的简短教程视频,但我现在找不到了。无论如何,用户必须从工具的“链接器/调试器”部分修改默认调试器命令 (gdb) 并指定调试器,然后取消选择“命令行...”。完成后,当用户尝试调试测试用例时,它将启动已调试的 IDE,然后用户可以绕过在测试环境中生成的 .exe 简单地构建调试项目。

【讨论】:

    【解决方案3】:

    我们不使用 Code::Blocks 来构建我们的代码,这样做将是一项重大的努力。 我们可以使用 Code::Blocks 作为 GDB GUI 吗?也就是说,我可以将它指向一个 .EXE 文件(其中包含 MinGW 调试信息)并使用 Code::Blocks(或任何其他基于 MinGW 的 IDE)作为 GDB GUI 吗?

    是的,您可以这样做。 首先,您可以创建一个简单的控制台 C::B 项目。

    其次,您可以将您想要的.EXE文件的路径作为输出可执行文件。它位于项目/目标选项对话框的“输出文件名”字段中。

    第三,你应该在调试器插件选项对话框中取消选择“Auto-build project if it is not up-to-date”。

    然后你可以点击“开始调试”按钮来调试这个.EXE。您可以将.EXE的源文件添加到C::B项目中,以便您可以单步执行源文件,设置断点。

    【讨论】:

    • 我:We do not use Code::Blocks to build our code, and it would be a major effort to do so 你:Yes, you can do this. First, you can create a simple console C::B project ??!!
    • 嗨,@Mawg,我的意思是你可以创建一个简单的 C::B 项目,你不需要构建这个 C::B 项目,你可以将源文件添加到 C: :B 项目,这些文件仅用于调试。您可以通过其他方法构建您的EXE文件(我的意思是您可以使用其他工具构建这个EXE文件),但是您将EXE文件设置为C :: B项目中的“输出文件”,所以当您开始调试时, C::B 将使用 GDB 来调试这个 EXE 文件。希望这个解释有所帮助。
    • 我会在星期一试一试。手指交叉
    • 他们不会让我“浪费时间”。所以,我对命令行 GDB 很满意,而年轻人还在抱怨:-(
    • @Mawg 在 Code::Blocks 下调试并不难,事实上,很简单。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多