gcc中gdb调试工具的使用

摘要:
首先,利用gcc编译源文件时添加-g选项生成可调试的文件,例如,要调试test.c文件,输入命令$gcc-gtest.c-otest_gdb生成test_gdb文件。然后,运行命令$gdbtest_gdb可进入调试模式。

首先,利用gcc编译源文件时添加 -g 选项生成可调试的文件,例如,要调试test.c文件,输入命令 $ gcc -g test.c -o test_gdb 生成test_gdb文件。

然后,运行命令 $ gdb test_gdb 可进入调试模式。

在调试模式中,(gdb) 表明此时可输入命令,常用的gdb调试命令如下:

GDB常用命令格式含义简写
breakBreak [行号或函数名]在程序中设置一个断点b
cdCd 目录改变当前的工作目录
continueContinue [开始,结束]从断点开始继续执行c
deleteDelete breakpoints 断点号删除一个断点
displayDisplay 变量名显示参数
fileFile 文件名加载文件
infoInfo 变量名列出变量的信息i
killKill终止程序运行
listList [开始,结束]列出文件的代码清单l
nextNext下一行n
printPrint 变量名打印变量内容p
pwdPwd显示当前的工作目录
quitQuit退出gdbq
runRun args运行程序r
stepStep下一步(可进入函数内部执行)s
watchWatch 变量名或表达式设置变量或表达式的监测点

免责声明:文章转载自《gcc中gdb调试工具的使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Spring Cloud实战 | 第五篇:Spring Cloud整合OpenFeign实现微服务之间的调用突破防火墙下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

shell分享

shell脚本分享 一、介绍shell Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。 业...

MCGS触摸屏操作日志功能

  一, 问题描述实现操作日志功能,记录关键操作的当前操作人员以及对应操作内容和时间。 二, 构思过程昆仑通态HMI支持触发存盘功能,并且支持字符串等各类型变量的储存,对应在各关键操作按钮内设置好操作内容文本,将操作内容及当前用户储存下来即可,储存记录内默认自带时间戳。 三, 实现过程当前客户有这样一个工程:每次启动之后,用户登录之后才能对应进入操作界面;...

Opencv | 图形学 | Mingw64 | 如何正确地用MinGW64编译与配置vscode的Opencv环境

如何正确地用MinGW64编译与配置vscode的Opencv环境 1.前情提要 最近有关于图形学的授课,教授开始布置的上机打码的代码实现作业了。虽说教授为了让我们省心,直接就整了个环境已经配置好的几个G的虚拟机给我们用。但是你也懂的,虚拟机打码,卡得要命。一开始还以为会用到什么高级的库,看了下就是个Eigen3和Opencv,对于Opencv,感觉自己手...

C 位域

C位域如果程序的结构中包含多个开关量,只有 TRUE/FALSE 变量,如下: struct { unsigned intwidthValidated; unsigned intheightValidated; } status; 这种结构需要 8 字节的内存空间,但在实际上,在每个变量中,我们只存储 0 或 1。在这种情况下,C 语言提供了...

Linux头文件和库文件添加环境变量与GCC编译器添加INCLUDE与LIB环境变量

  对所有用户有效在/etc/profile增加以下内容。只对当前用户有效在Home目录下的 .bashrc或.bash_profile里增加下面的内容: (注意:等号前面不要加空格,否则可能出现 command not found) #在PATH中找到可执行文件程序的路径。 export PATH =$PATH:$HOME/bin #gcc找到头文件的...

基于无锁的C#并发队列实现

最近开始学习无锁编程,和传统的基于Lock的算法相比,无锁编程具有其独特的优点,Angel Lucifer的关于无锁编程一文对此有详细的描述。 无锁编程的目标是在不使用Lock的前提下保证并发过程中共享数据的一致性,其主要的实现基础是CAS操作,也就是compare_and_swap,通过处理器提供的指令,可以原子地更新共享数据,并同时监测其他线程的干...