使用 Code::Blocks 调试 C

Debugging C with Code::Blocks

我将我的代码作为一个独立的 .c 文件并阅读,为了调试,该文件必须在一个项目中。所以我创建了一个空项目并将我的文件添加到其中,设置了一些断点,当我 运行 调试器时,我在控制台上得到了这个:

Setting breakpoints
Debugger name and version: GNU gdb (GDB) 7.6.1
Child process PID: 13112
Error in re-setting breakpoint 2: PC register is not available
Error in re-setting breakpoint -3: PC register is not available
In  ()

尝试了一些教程并观看了一些视频但没有成功。有人知道解决办法吗?有没有更简单的方法来调试 .c 文件?

对于 linux 系统,您可以这样使用 gdb 作为调试器:

$ vim hello.c
# include <stdio.h>

int main()
{
    printf("hello \n");
}

$ gcc -o hello hello.c

$ ./hello
$ gdb hello
(gdb) break main
(gdb) run

然后你可以使用: c 或继续 n 或下一个 s或步骤 有关详细信息,请参阅 this

更新了 MinGW 从其 sourceforge 存储库下载它。 下载了此 link.

中可用的 6.2.0 版本

然后我解压到C:\,修改环境变量Path,添加新的C:\MinGW\bin文件夹。要知道你是否正确,只需打开 CMD 并输入 gcc --version.

之后,我修改了 Code::Blocks 的编译器和调试器设置,以使用新版本的 MinGW 及其可执行文件。

现在编译调试正常

根据 Free Pascal 的 GDB Debugger Tips the problem is with GDB and they cite Bug 14018

看来您应该使用不同版本的 GDB。他们建议降级到 7.2。现在我相信现在可以使用其他版本,例如 8.0。不知道GDB 8.0是不是也有这个问题