1)gcc
分为四个阶段:
a)预处理Pre-Processing:gcc -E test.c -o test.i
b)编译Compiling:
c)汇编Assembling:
d)链接Linking:
一般简化为:
gcc -c test.c -o test.o
gcc test.o -o test
或者直接简化为一步:
gcc test.c -o test
2)options:-E
-o
-g 产生gdb所需符号信息
-Wall 显示素有警告
-O
-Idirname
-Ldirname
-llibname
-MM
3)gdb
使用:
>gdb 程序文件名
或
>gdb
>gdb -q
(gdb) file 程序文件名
(gdb) list filename:lin1, line2
(gdb) list funcname
(gdb) search 字符串
(gdb) reverse-search 字符串
(gdb) shell shell命令
(gdb) run
(gdb) break 行号/函数名
(gdb) watch 条件
(gdb) print 变量/表达式/变量=值(赋值)
(gdb) disable 断点编号
(gdb) enable 断点编号
(gdb) info breakpoints
(gdb) clear
(gdb) clear 行号/函数名
(gdb) delete 断点编号
(gdb) whatis 变量/表达式
(gdb) set variable 变量=值
(gdb) continue
(gdb) kill
(gdb) next
(gdb) step
(gdb) nexti
(gdb) stepi
4)ldd