上次说了查看当前视图和参数的方法,要记住一串`*(int*)($esp+4)` 实在不爽。
于是查到可以使用LLDB脚本来完成。写了一个脚本( 下载),本来想做个递归查询的,因为不是源代码调试,就没办法直接做到,需要花更多的时间,现在没空了。
脚本自己看,参考的资料在这里, 不是很详细,就算是有:
LLDB Python Reference
Using Scripting and Python to Debug in LLDB
没找到完整的API文档,有需要看代码:
http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/Python/interface/
在当前用户目录下建个.lldbinit, 然后加上一句话:
command script import xxxx/showViews.py
以后打开XCode, 下个断点,就可以像下面这样用了。 如果有源代码的调试可以参考其中printvh的实现。
showRec -> 显示recursiveDescription
showDes -> 显示description
showParameters -> 显示前几个参数
printvh -> 显示变量值 后面要有变量名,不是寄存器或者地址,所以要有源代码。
我这算抛砖引玉了。
参考:
GDB秘技--调试时执行代码中的特定函数(LLDB不支持)
调试程序时在不中断程序的情况下输出函数调用信息
GDB使用介绍
开发工作中使用的软件列表
使用脚本简化工作
程序员要学会偷懒---正确运用自动化技术
如何使用搜索技巧来成为一名高效的程序员
转载请注明出处: http://blog.csdn.net/horkychen