你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> 使用LLDB調試程序

使用LLDB調試程序

編輯:IOS開發基礎

簡述

LLDB是XCode下默認的調試工具,蘋果向來都會把界面做得很好,XCode中的lldb也不例外:無縫集成,方便簡單。 嗯,casa是命令行控,也不喜歡簡單玩法,所以這篇文章要講的是用命令行LLDB來調試C程序。 LLDB和GDB有很多相似之處,如果你GDB玩得比較熟,那麼相信你LLDB一會兒就能上手了。閱讀這篇文章不需要有GDB的基礎。 系好安全帶,打起精神,我們開始了。

如果你是因為不知道怎麼退出lldb才搜到這篇文章的, 直接告訴你退出命令就是quit, 你可以關網頁去愉快地玩耍啦。

准備工作

1. 安裝lldb

Ubuntu用戶:

屏幕快照 2015-08-18 上午11.50.35.png

Mac用戶:

屏幕快照 2015-08-18 上午11.50.47.png

Windows用戶:

12.png

2. 寫一段C程序,記得編譯成可執行文件

程序自己隨便寫一個就好了,來個if-else判斷, 然後有一個隨便你做什麼的子函數,然後輸出個helloworld就好。編譯時記得帶-g參數,這樣編譯器就能在編譯時候提供調試時所需要的一些信息。

lldb調試之旅

進入調試狀態

1. 調試可執行文件

屏幕快照 2015-08-18 上午11.50.11.png

2. 調試運行時帶參數的可執行文件

如果運行這個程序時是要帶參數的,那麼就這樣:

屏幕快照 2015-08-18 上午11.50.23.png
3. 調試某個正在運行中的進程

78.jpg

看代碼

進入到調試狀態之後, lldb和gdb一樣,也給了你看代碼的命令: list或l, 但只有在編譯時候帶-g才能看哦

1. 使用list看代碼

01.png

tips:

不輸入命令的時候直接按回車,就會執行上一次執行的命令。

一直list到底了之後再list就沒有了,這時候怎麼辦?list 1就回到第一行了。l 13就是從第13行開始往下看10行。

2. 看其他文件的代碼

如果你的這個程序編譯的時候是由很多文件組成的,那麼就可以使用list 文件名看其他文件的代碼, 以後再執行list 3的時候,看的就是你前面設置的文件名的第三行

02.png

3. 看某個函數的代碼

03.png

下斷點

我們把調試器掛上程序了,也看到代碼了,接下來就是找一個地方下斷點,然後讓程序跑起來,看看這裡面到底發生了些什麼~o
1. 根據文件名和行號下斷點

04.png

2. 根據函數名下斷點

05.png

3. 根據某個函數調用語句下斷點(Objective-C比較有用)

06.png

4. 一個小技巧

你可以通過設置命令的別名來簡化上面的命令

07.png

5. 查看斷點列表、啟用/禁用斷點、刪除斷點

80.jpg

運行環境操作

1. 啟動

OK, 我們前面已經下好斷點了,現在就要啟動這個程序了!前面留了一個斷點是斷在main函數的哈。

14.png

2. 下一步、步入、步出、繼續執行

33.jpg

3. 查看變量、跳幀查看變量

54.jpg

結束

這只是這篇文章結束了,還有watchpoints這一門沒有寫。不過這篇文章裡面的東西知道了以後,調試個程序問題就不大。 想要進階的同學可以去看官方tutorial。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved