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/
相關文章
相關標籤/搜索