只是知道XCode4.0以后,编译器换成了LLVM 编译器 2.0肯定是因为LLVM更完美,因为人都是喜欢追求更完美的东西。不然也不会轻易更换,search了一篇才了解到:
与以前相比,更加强大:
1.LLVM 编译器是下一带开源的编译技术. 完全支持C, Objective-C, 和 C++.
2.LLVM 速度比 GCC快两倍,建立的程序也会运行的更快. 因为它更好的利用现代的芯片的结构.
3.LLVM和Xcode 4完全的整合在一起.包括关键字高亮,代码完整性等全都是由LLVM语法分析器来分析的. 这样可以在编辑的时候就可以很好的了解你的代码.
编译器进化之后,控制台调试命令前缀,也由原来的gdb更改成了lldb。当然以前的gdb命令如今还是可以完美的使用的。
关于调试的技巧和命令,其实我个人觉得在xcode里面用的很好。
用的比较多的命令就po 一个object,比较多的调试技巧就是添加一个exception断点。这个真的很好用,除了你的nib文件由野指针。一般都能准确定位你的异常在哪儿。
但是nib文件的也指针也是很好定位的。比如你nib文件中一个button指向的那个method找不到,lldb将给你-[LoginViewController onClickLogin:]: unrecognized selector sent to instance 0x7b75d00近乎完美的提示,显然提示LoginViewController里面找不到onClickLogin。
还有一个就是在scheme里面enable zombie object。它可以帮你打印EXC_BAD_ACCESS的异常信息(一般情这种情况没有错误信息输出)。
评论区