调试器:gdb
1.GNU计划的工具;内核调试KGDB
2.程序的错误分类:
编译时错误—语法错误
运行时错误—内存错误、逻辑错误
3.gdb的作用:
(1)运行程序
(2)设置断点
(3)查看变量值
4.hello.c gcc -g hello.c -o hello hdb hello
5.使用
-tui:layout asm layout src layout split
run finsh continue结束当前断点运行知道遇到下次断点
break+行号
info break
delete
enable+断点编号 disable+断点编号
单步执行:step next
工程管理器:make
1.工程管理器:编译很多个文件(类型不同、存放在不同的目录、资源文件使用)组成的软件代码结构
单个.c–gcc hello.c -o hello
10000个.c(分别保存在100个不同的目录)–gcc*.c -o
make–makefile --实现自动编译,根据makefile稳健的内容进行
2.如何编写makefile文件?
语法:目标、依赖、命令
执行顺序:自上而下,当目标依赖的文件又是一个目标文件时,会先跳转该目标去执行相关命令。
make+目标名:从该目标开始自上而下的执行
自动编译:
(1)根据makefile文件的内容进行自动编译
(2)根据文件的时间来判断文件是否需要编译
伪目标:执行命令,不生成对应的文件
PPHONY:Iclean install