Xcode提供了Instruments工具用于对应用程序进行各种性能相关的测试,其中也包含内存泄漏测试,但它是GUI程序,不便于进行自动化测试,所以这里暂不关注它。以后会有机会详解它的使用方法。
Xcode另带了一个命令行工具leaks,是专为内存泄漏测试而生的。Mac OS X 10.7及以后的版本,操作系统也自带leaks命令。本文将着重介绍它的使用方法。
1. 原理
执行man leaks可以看到leaks工具的帮助。leaks的命令行如下:
leakspid |partial-executable-name [-nocontext] [-nostacks] [-excludesymbol] [-traceaddress]
最主要输入参数是一个进程名或PID,也就是说被测试进程必须是正在运行的。帮助中还简要的描述了leaks的工作原理。
leaks identifies leaked memory -- m