gdb调试,最常用的过程如下:
1.编译可执行文件
gcc -g test.c -o test
2.启动调试
gdb test
3.在mian处开始打上断点
break main
4.运行
run
在2启动调试后,常用操作如下:
next/n:下一步
step/s:下一步,与带调试信息的函数会进入,而next会跳过
continue/c:至下一个断点,或者结束程序.
finish:直到当前函数结束
list/l:显示程序,这样可以打断点
break/b main (mian的入口打断点)
break 23(第23行加断点)
b 23 if i = 10(条件断点)
info break(查看所有断点)
delete 1(删除第一个断点)
print(i) (查看i的值)
watch 变量名:监视该变量
quit/q:退出程序
更多请转到:
makefile初步理解
作用:构建和管理软件工程,GNU make,需要makefile文件
make根据makefile进行编译链接.
gcc -o main.o func1.o func2.o hello(目标:三个文件链接为最终的文件hello)
eg.
目标targets:依赖prepequisites
命令command
mian.o:mian.c
gcc -c mian.c
.PHONY:clean(伪目标)
#优化
obj = main.o func1.o func2.o
hello:$(obj)
gcc $(obj) -o hello
$^:所有依赖文件
$@:代表目标
$<:代表第一个依赖文件
hello:main func1.o func2.o
gcc $^ -o $@
#makefile注释加"#"
@:取消回显(@gcc $^ -o $@)