用于检查源代码的工具
工具 | 位于何处 | 所做工作 |
cb | 随编译器附带 | C程序美化器,在源文件中运行这个过滤器,可以使源 |
indent | 与cb作用相同,来自AT&T | |
cdecl | 本节 | 分析C语言的声明 |
cflow | 随编译器附带 | 打印程序中调用者/被调用者的关系 |
cscope | 随编译器附带 | 一个基于ASCII码C程序的交互式浏览器,我们在操作系统小组中 使用,用于检查头文件修改的效果。它提供了对下列问题的快速 答案:“有多少命令使用了libthread?”或“阅读了kmem的所有 文件是哪些?” |
ctags | /usr/bin | 创建一个标签文件,供vi编辑器使用。标签文件能加快程序源文件 的速度,方法是维护一个表,里面有绝大多数对象的位置。 |
lint | 随编译器附带 | C程序检查器 |
sccs | /usr/ccs/bin | 源代码版本控制系统 |
vgrind | /usr/bin | 格式器,用于打印漂亮的C列表 |
用于检查可执行文件的工具
工具 | 位于何处 | 所做工作 |
dis | /usr/ccs/bin | 目标代码反汇编工具 |
dump -Lv | /usr/ccs/bin | 打印动态链接信息 |
ldd | /usr/bin | 打印文件所需的动态 |
nm | /usr/ccs/bin | 打印目标文件的符号表 |
strings | /usr/bin | 查看嵌入于二进制文件中的字符串。用于查看二进制文件可能产生 的错误信息、内置文件名和(有时候)符号名或版本和版权信息 |
sum | /usr/bin | 打印文件的检验和与程序块计数。回答下面这样的问题:“这些 可执行文件是同一版本的吗?”“传输是否成功?” |
工具 | 位于何处 | 所做工作 |
truss | /usr/bin | trace的SVr4版本,这个工具打印可执行文件所进行的系统调用。它可 用于查看二进制文件正在干什么,为什么阻赛或者失败,这将非常有用。 |
ps | /usr/bin | 显示进程的特征 |
ctrace | 随编译器附带 | 修改你的源文件,文件执行时按行打印。是一个对小程序非常有用的工具。 |
debugger | 随编译器附带 | 交互式调试器 |
file | /usr/bin | 告诉你一个文件包含的内容(如可执行文件、数据、ASCII、 shell、script、archive等) |
工具 | 位于何处 | 所做工作 |
collector | 随编译器附带 | (SunOS独有)在调试器控制下收集运行时性能数据 |
analyzer | 随编译器附带 | (SunOS独有)分析已收集的性能数据 |
gprof | /usr/ccs/bin | 显示调用图配置数据(确定计算密集的函数) |
prof | /usr/ccs/bin | 显示每个程序所消耗时间的百分比 |
tcov | 随编译器附带 | 显示每条语句执行次数的计数(确定一个函数中计算密集循环) |
time | /usr/bin/time | 显示程序所使用的实际时间和CPU时间 |