它是一款UNIX平台的调试器(debugger),可用于为C, C++,Objective-C,Java, Fortran等程序debug。 在gdb中,你可以通过设置断点(break point)来控制程序运行的进度,并查看断点时的变量和函数调用状况,从而发现可能的问题。在许多IDE中,gdb拥有图形化界面。 这里主要介绍gdb的命令行使用,并以C程序为例。测试使用的计算机...
1、安装 sudo apt install gdb 2、编译 //test.cpp:要编译的程序名//a:可执行程序名g++test.cpp-oa-g 3、进入gdb gdb a 4、gdb调试命令 4.1 显示代码行位置 //显示代码行位置 //list/l [文件名:](如果要查看别的文件,当前文件可省略) [行号] list test.c: 1 l 1 4.2 定位到函数位置 list/l ...
gcc -g -o main.outmain.c -g 参数表示可用于gdb调试 开始gdb调试 gdb main.out #运行编译好的c程序 list #查看代码 break 8 #在程序第8行打断点 info breakpoints #查看断点信息 run # 打完断点后可使用run 重新运行程序 12 #是程序中接收的输入, 与gdb 调试无关 n #next 下一步,如果是下一步是方...
UNIX定义了许多信号,比如SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号;SIGKILL表示终止程序运行的信号,等等。信号量编程是UNIX下非常重要的一种技术。 GDB有能力在你调试程序的时候处理任何一种信号,你可以告诉GDB需要处理哪一种信号。你可以要求GDB收到你所指定的...
eg:查看文件f2.c中的全局变量x的值:(gdb) p 'f2.c'::x 注:如果你的程序编译时开启了优化选项,那么在用GDB调试被优化过的程序时,可能会发生某些变量不能访问,或是取值错误码的情况。对付这种情况时,需要在编译程序时关闭编译优化。GCC,你可以使用“-gstabs” 选项来解决这个问题。
使用device作为被调试程序等标准输入输出流。例如 "gdb myprog -t /dev/tty5" -windows, -w 使用GDB内置的GUI。若gdb没有集成GUI,该选项无效。 -nowindows, -nw 不使用GUI调试 -tui 启动文本式调试界面。 文本式调试界面。默认情况下,它包含两个窗口:顶部窗口显示C源代码,左边部分指示了当前代码行和断点;下...
使用gdb调试C语言程序 1.编译:gcc xxx.c -o xxx 2.生成可调试文件:gcc -g xxx.c -o xxx 3.调试程序:gdb xxx 4.执行程序: start :从程序第一步开始执行 run:直接运行程序到结束或者断点处...
gdb是linux操作系统特有的调试工具,可以完成一般IDE提供的所有调试功能。使用gdb调试程序之前,必须使用gcc的-g选项编译程序,使生成的可执行文件中附带有源代码文件的信息。 编写例程如下,随后使用gdb调试该程序 #include<stdio.h>intadd_range(intmin,intmax){intsum;for(inti=min;i<max+1;i++){sum=sum+i;}...
在Linux中,C语言的调试工具叫做GDB(GNU Debugger),它是一个交互式的调试器。虽然GDB没有图形化的界面,但它的功能非常强大。GDB可以用来做以下几件事: 设置断点 🛑 监视程序变量的值 🔍 单步执行程序 🚶♂️ 修改变量的值 ✏️ 2. GDB安装 📦 ...