GCC(GNU Compiler Collection)是一个用于编译C、C++、Objective-C、Fortran、Ada等编程语言的编译器套件。在使用GCC进行调试时,通常会结合使用gcc
或g++
编译器以及gdb
调试器。以下是一些基本的GCC调试命令和步骤:
在编译程序时,需要添加-g
选项来生成调试信息。例如:
gcc -g -o myprogram myprogram.c
或者对于C++程序:
g++ -g -o myprogram myprogram.cpp
使用gdb
命令启动调试器,并指定要调试的可执行文件:
gdb myprogram
以下是一些常用的GDB命令:
list
或 l
:显示源代码。break
或 b
:设置断点。例如,break main
在main
函数处设置断点。run
或 r
:启动程序。continue
或 c
:继续执行程序,直到遇到下一个断点或程序结束。next
或 n
:单步执行,不进入函数内部。step
或 s
:单步执行,进入函数内部。finish
:执行完当前函数并返回到调用处。print
或 p
:打印变量的值。例如,print x
打印变量x
的值。backtrace
或 bt
:显示当前的调用栈。info locals
:显示当前函数的局部变量。info args
:显示当前函数的参数。quit
或 q
:退出GDB。以下是一个简单的调试会话示例:
$ gdb myprogram
GNU gdb (GDB) 10.1
...
(gdb) break main
Breakpoint 1 at 0x401136: file myprogram.c, line 5.
(gdb) run
Starting program: /path/to/myprogram
Breakpoint 1, main () at myprogram.c:5
5 int x = 10;
(gdb) next
6 printf("Hello, World!\n");
(gdb) print x
$1 = 10
(gdb) continue
Continuing.
Hello, World!
[Inferior 1 (process 1234) exited normally]
-x filename
:从文件中读取GDB命令。-tui
:启用文本用户界面(TUI)模式,可以在终端中同时显示源代码和调试信息。通过这些基本步骤和命令,你可以有效地使用GCC和GDB进行程序调试。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: CentOS如何利用Fortran进行大数据处理