在linux中调试C

windows里调试手段比较多 VS  eclipse,图形界面很丰富,小伙伴一定都接触的比较多。

linux下,怎么调试C代码呢,中间需要提前介绍makefile,这里不系统介绍,就把最常用的列几点:

:=     立即赋值

=         统一赋值

?=    如果没赋值,就设置这个值

+=     追加赋值

通配符%.o所有的.o文件,有时通配符不太灵,一般就用wildcard来实现。

下面是一段简单的makefile,可作为模板套用。

CC = gcc

INCLUDE = -I ./
//INCLUDE += -I XXX/XXXX

LIBS = -lm
LIBS += -L xxx
LIBS += -L xxx.a

CFLAGS = -g

SRCS = $(wildcard *.c */*.c)
OBJS = $(padsubst %.c,%.o,$(SRCS))

TARGET = test

$(TARGET):$(OBJS)
    $(CC) $(CFLAGS) -o $@  $^

%.o:%.c
    $(CC) $(CFLAGS) -o $@ -c $<

clean:
    rm -f $(TARGET) $(OBJS) 

安装gcc\g++\gdb

例如ubuntu就是apt install gcc\g++\gdb,可以用which gcc看是否安装过

然后make好可执行文件后,就可以用gdb 可执行文件调试了

L:查看代码

b   main :在main函数设置断点

b  xx.c:5 在xx.c的第五行设置断点

i b:查看所有的断点信息

r:运行   n:下一步   c:继续运行直到断点

p   xxx :打印xxx的值;p local  打印本地变量的值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值