前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用gcc编译gdb调试

使用gcc编译gdb调试

作者头像
用户1154259
发布2018-01-17 19:24:14
2K0
发布2018-01-17 19:24:14
举报

gcc

在linux系统中,默认是没有安装gcc编译器的,可以通过命令

代码语言:javascript
复制
rpm -q | grep gcc

 来查看。安装命令为:

代码语言:javascript
复制
yum -y install gcc

安装后,编写一个.c结尾的文件。

代码语言:javascript
复制
gcc test.c

 就会默认输出一个a.out的输出文件,这个输出文件就是可执行文件。

如果加上-o选项,则可以自定目标文件。

代码语言:javascript
复制
gcc -o test test.c  

test就是它的可执行文件。

一般都默认加上-Wall 选项,可以自动提示一些出错警告的信息。

代码语言:javascript
复制
gcc -Wall -o test test.c

gbd

以上就是常用的gcc相关知识了。下面就是它的调试,调试通常使用gdb。在编译的时候需要加上选项-ggdb3选项

代码语言:javascript
复制
gcc -ggdb3 -Wall -o test test.c

这样在没有出错的情况下

代码语言:javascript
复制
gdb test

就进入调试窗口

输入下面命令可以进行如下的操作:

break 设置断点

break 21 在第21行设置断点

break main 在main函数处设置断点

break test 在函数test处设置断点

step /  s  下一步,直接执行下一条程序

continue / cont 下一段,如果遇到函数,不会进入函数,逐过程,有点类似VS里面的F10

run 运行

finish 结束调试

tbreak设置临时断点

print / p 显示某个变量的值

p *array@len 输出数组

p i 输出i的值

enable 恢复失效的断点

disable 使断点失效

clear 清除断点

backtrace / bt 查看堆栈信息

相关的输出格式

x 十六进制格式

d 十进制格式

u 十六进制无符号

o 八进制显示

t 二进制显示

a 十六进制显示

c 字符格式显示

f 浮点数格式显示

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-04-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • gcc
  • gbd
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档