IOS開發--常用的基本GDB命令,ios--gdb

來源:互聯網
上載者:User

IOS開發--常用的基本GDB命令,ios--gdb

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,結構體等。使用舉例如下:

(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。使用舉例如下:

(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 查看變理的資料類型

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.