IOS開發之----經常使用的基本GDB命令【轉】

原文地址:http://blog.sina.com.cn/s/blog_71715bf801016d2y.htmlhtml

 

gdb不是萬能的,但是沒有gdb倒是萬萬不能的。這裏給你們簡單介紹下iOS開發中最基本的gdb命令。函數

po

po是print-object的簡寫,可用來打印全部NSObject對象。使用舉例以下:工具

(gdb) po self

<LauncherViewController: 0x552c570>

(gdb) po [self view]

<UIView: 0x544eb80; frame = (0 0; 320 411); autoresize = W+H; layer = <CALayer: 0x544ebb0>>

(gdb) print-object [self view]

<UIView: 0x544eb80; frame = (0 0; 320 411); autoresize = W+H; layer = <CALayer: 0x544ebb0>>

 

p

p是print的簡寫,能夠用來打印全部的簡單類型,如int, float,結構體等。使用舉例以下:this

(gdb) p self

$1 = (LauncherViewController *) 0x552c570

(gdb) p [[self view] size]

Unable to call function 「objc_msgSend」 at 0x1e7e08c: no return type information available.

To call this function anyway, you can cast the return type explicitly (e.g. ‘print (float) fabs (3.0)’)

(gdb) p (CGSize)[[self view] size]

$1 = {

width = 320,

height = 411

}

(gdb) print (CGSize)[[self view] size]

$2 = {

width = 320,

height = 411

}

 

call

call便是調用的意思。其實上述的po和p也有調用的功能。所以通常只在不須要顯示輸出,或是方法無返回值時使用call。使用舉例以下:spa

(gdb) call [[self view]sizeToFit]

Unable to call function 「objc_msgSend」 at 0x1e7e08c: no return type information available.

To call this function anyway, you can cast the return type explicitly (e.g. ‘print (float) fabs (3.0)’)

(gdb) call (void)[[self view]sizeToFit]

(gdb) call [[self view] size]

Unable to call function 「objc_msgSend」 at 0x1e7e08c: no return type information available.

To call this function anyway, you can cast the return type explicitly (e.g. ‘print (float) fabs (3.0)’)

(gdb) call (void)[[self view] size]

 

**************************************************************************************************************開放源代碼

 

Xcode的調試器爲用戶提供了一個GDB的界面,GDB是GNU組織的開放源代碼調試器。您能夠在Xcode的圖形界面裏作任何事情;可是,若是您須要 您能夠在命令行裏使用GDB的命令。 命令行


要在一個調試的任務裏輸入GDB命令行命令: 

在工具欄裏點擊Console Drawer (控制檯抽屜窗口)按鈕打開控制檯。 
您能夠在控制檯裏查看Xcode調試器發送給GDB的命令,或者您能夠直接在控制檯裏輸入GDB命令。在控制檯窗口裏點擊而後在gdb提示符後面 輸入命令。
調試

 

break NUM 在指定的行上設置斷點。
bt 顯示全部的調用棧幀。該命令可用來顯示函數的調用順序。 
clear 刪除設置在特定源文件、特定行上的斷點。其用法爲:clear FILENAME:NUM。
continue 繼續執行正在調試的程序。該命令用在程序因爲處理信號或斷點而致使中止運行時。 
display EXPR 每次程序中止後顯示錶達式的值。表達式由程序定義的變量組成。
file FILE 裝載指定的可執行文件進行調試。
help NAME 顯示指定命令的幫助信息。
info break 顯示當前斷點清單,包括到達斷點處的次數等。
info files 顯示被調試文件的詳細信息。
info func  顯示全部的函數名稱。
info local 顯示當函數中的局部變量信息。
info prog 顯示被調試程序的執行狀態。
info var 顯示全部的全局和靜態變量名稱。
kill 終止正被調試的程序。
list  顯示源代碼段。
make 在不退出gdb的狀況下運行make工具。
next  在不單步執行進入其餘函數的狀況下,向前執行一行源代碼。
print EXPR 顯示錶達式EXPR的值。
print- object 打印一個對象
print (int) name 打印一個類型 
print- object [artist description] 調用一個函數
set artist = @"test" 設置變量值
whatis 查看變理的數據類型
相關文章
相關標籤/搜索