Xcode的控制台调试命令 (小小的体会)

原文地址: http://blog.csdn.net/likendsl/article/details/7576549html

XCode4.0之后,编译器换成了LLVM 编译器 2.0程序员

与之前相比,更增强大:
1.LLVM 编译器是下一带开源的编译技术.彻底支持C, Objective-C, 和 C++.
2.LLVM 速度比 GCC快两倍,创建的程序也会运行的更快. 由于它更好的利用现代的芯片的结构.
3.LLVM和Xcode 4彻底的整合在一块儿.包括关键字高亮,代码完整性等全都是由LLVM语法分析器来分析的. 这样能够在编辑的时候就能够很好的了解你的代码.app

 

编译器进化以后,控制台调试命令前缀,也由原来的gdb更改为了lldb,因此当你看到控制台没有gdb而出现lldb的时候,不用惊慌,由于咱们之前经常使用的调试命令依然可使用:iphone

使用前提:函数

1.既然是调试命令,理所固然的,程序模式应该选择Debug模式。工具

2.在Debug模式下,若是你的程序在运行中崩溃(Crash)掉,那么恭喜你,使用lldb调试的机会来了。(还有一种方法就是 打断点   程序就会进入调试状态,能够在命令行输入一些命令)网站

符合以上两个条件以后,控制台(即日志输出窗口All Output)会自动打出一个(lldb)命令,你在其后输入bt,回车。spa

恭喜你,这时Xcode会自动输出最后的一次调用堆栈。以下:.net

 

 

 

其实说实话这个 真的挺难找的 我本身在百度上搜了半天的  Xcode命令行指令  可是出来的都不是我想要的结果 ,今天忽然就看到一个关于这个的博客,看了以后 我也将指令 在命令行里面敲了 试试 。确实颇有用!  可是 还有不少更厉害的功能我尚未研究出来 ,慢慢发现 ,慢慢更新把~~命令行

 

还有一些其余的指令 ::::(和gdb命令通用的)
  1. 命令                        解释    
  2. break NUM               在指定的行上设置断点。    
  3. bt                      显示全部的调用栈帧。该命令可用来显示函数的调用顺序。    
  4. clear                   删除设置在特定源文件、特定行上的断点。其用法为:clear FILENAME:NUM。    
  5. continue                继续执行正在调试的程序。该命令用在程序因为处理信号或断点而致使中止运行时。    
  6. display EXPR            每次程序中止后显示表达式的值。表达式由程序定义的变量组成。    
  7. file FILE               装载指定的可执行文件进行调试。    
  8. help NAME               显示指定命令的帮助信息。    
  9. info break              显示当前断点清单,包括到达断点处的次数等。    
  10. info files              显示被调试文件的详细信息。    
  11. info func               显示全部的函数名称。    
  12. info local              显示当函数中的局部变量信息。    
  13. info prog               显示被调试程序的执行状态。    
  14. info var                显示全部的全局和静态变量名称。    
  15. kill                    终止正被调试的程序。    
  16. list                    显示源代码段。    
  17. make                    在不退出 gdb 的状况下运行 make 工具。    
  18. next                    在不单步执行进入其余函数的状况下,向前执行一行源代码。    
  19. print EXPR              显示表达式 EXPR 的值。     
  20. print-object            打印一个对象    
  21. print (int) name      打印一个类型    
  22. print-object [artist description]   调用一个函数    
  23. set artist = @"test"    设置变量值    
  24. whatis                  查看变理的数据类型   

 

 

若是能将这个运用的熟练的话 ,那么你的层次就会上升另外一个档次,在找bug方面 解决EXC_BAD_ACCESS错误的一种方法--NSZombieEnabled 一块儿使用,实在是查找crash的一大利器啊,非常方便!!  

 

 

最后给打击推荐几个 网站

  1. CocoaDev,我的以为讲Cocoa技术十分专业的网站之一,下面的连接详细讲了讲NSZombieEnable的原理。http://www.cocoadev.com/index.pl?NSZombieEnabled
  2. 苹果官方的Mac OS X Debugging Magic,详细讲述了最为一个高级苹果程序员应该具有的调试技巧 http://developer.apple.com/library/mac/#technotes/tn2004/tn2124.html
  3. 其实还能够在Instruments中开启NSZombie选项,这样就能够在Instruments中直接查看crash时候的callstack了:http://www.markj.net/iphone-memory-debug-nszombie/
相关文章
相关标签/搜索