斷點與單步除錯

2021-07-05 11:10:53 字數 1293 閱讀 7272

先看看xcode除錯控制台上的一些命令按鈕。

lldb 常用命令 :

1.執行時修改變數的值

假如有乙個loginwithusername:方法,需要兩個引數:username,password。

首先設定好斷點,如下圖所示:

控制台會返回以下資訊

(0x1c59aae0) a line

forthe

breakpoint

(0x1c59aae0) username and password after: username:badpassword

看到看吧,我們在執行時修改了變數的值,事情還可以變的更簡單一些,我們可以編輯斷點,讓它自動填充需要的修改的變數的值,並且可以選擇在此斷點處不進入斷點模式,僅僅修改指定變數的值,然後自動執行後續**。

右擊斷點選擇「edit breakpoint…」(或者按住cmd+option,單擊斷點),然後如下圖所示設定斷點

注意選中了最後一行(「automatically continue after evaluating」)的選擇框,這就保證執行到這個斷點的時,填充變數的值,然後繼續執行,並不在此處斷點進入除錯模式。

2.掌握除錯技巧,除錯技術

最基本,最重要的除錯手段包括:單步跟蹤,斷點,變數觀察等。

3.記憶體洩漏解釋

簡單的說就是申請了一塊記憶體空間,使用完畢後沒有釋放掉。它的一般表現方式是程式執行時間越長,占用記憶體越多,最終用盡全部記憶體,整個系統崩潰。由程式申請的一塊記憶體,且沒有任何乙個指標指向它,那麼這塊記憶體就洩露了。 一般我們常說的記憶體洩漏是指堆記憶體的洩漏。堆記憶體是指程式從堆中分配的,大小任意的(記憶體塊的大小可以在程式執行期決定),使用完後必須顯示釋放的記憶體。應用程式一般使用malloc,realloc,new等函式從堆中分配到一塊記憶體,使用完後,程式必須負責相應的呼叫free或delete釋放該記憶體塊,否則,這塊記憶體就不能被再次使用,我們就說這塊記憶體洩漏了。[iphone]如何使用leak檢查記憶體洩漏

vs Release 斷點單步除錯。

今日在除錯程式遇到了乙個問題,由於連線公共的lib 在debug 模式下又link錯誤,又沒有src,不得不release除錯,也懶得用debugview了。直接改下工程設定,也可以實現單步除錯。1 configuration properties c c general debug informa...

Android ndk 單步除錯

1.設定ndk目錄 在 android 配置項上設定下 ndk 選擇ndk後,有乙個選項 ndk location 這裡配置ndk根目錄。如下圖 2.新增ndk支援 android專案上右鍵,選擇 android tools 再新增native的支援。如果不需要除錯,這時編譯環境已經ok了 3.修改...

IAR單步除錯

首先進行配置,在driver下拉列表中選擇合適的驅動,其中simulator是純軟體 驅動,適合與應用程式前期簡單邏輯貨一般運算程式除錯。其他均為硬體 驅動,需要相應的硬體配合。go 全速執行 break 終止執行 reset 復位 stop debugging 退出偵錯程式 step over 單...