1. ldd
1.1. 查看程序链接的动态库
ldd /bin/ls
2. ar
2.1. 查看静态库包含哪些.o文件
ar -t libgcc.a
3. nm
3.1. 查看动态库包含的函数
nm -D /lib64/libc.so.6
3.2. 查看静态库包含的函数
nm libgcc.a
4. strings
4.1. 查看二进制文件内容
strings a.out
5. cpp
5.1. 递归查看所有加载过的头文件
cpp test.c
cpp test.cpp
6. strace
6.1. 查看可执行文件都使用了哪些系统调用
strace a.out
6.2. 查看系统调用花费了多长时间
strace -c a.out
6.3. 查看系统调用的详细信息
strace -e trace=open,write a.out
6.4. 实时监控正在运行的程序
strace -p PID
7. objdump
7.1. 查看可执行文件的汇编指令
objdump -d /bin/ls
7.2. 查看.o文件的汇编指令
objdump -d code.o
8. od
8.1. 查看文件的数字形式
od a.out
od file.txt
8.2. 查看文件的字符形式
od -c a.out
od -c file.txt
9.size
9.1. 查看可执行文件各部分所占用空间
size a.out