iOS調試奇巧淫技(一)

來源:互聯網
上載者:User

iOS調試奇巧淫技(一)

你以為,你以為的就是你以為的嗎?

你以為你代碼寫的很OK啦? 你以為你的是大牛啦? 你以為的就是你以為的嗎? 你的代碼經得起考驗嗎?(PS:愛經得起考驗嗎)iOS調試的技巧很多,通過調試我們不僅可以迅速找到Bug的所在,更能最佳化代碼,讓你的你以為不再是你以為!一、斷點普通斷點

當運行時遇到斷點會停止下來供程式員調試<喎?http://www.bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPjxpbWcgYWx0PQ=="這裡寫圖片描述" src="http://www.bkjia.com/uploads/allimg/160326/04153330Y-2.png" title="\" />

我們清晰的看到此時的i依舊等於0,該函數在一個名為ViewController中

中有五個可選按鈕

分別是取消斷點按鈕、繼續執行一步按鈕、步入按鈕、步出按鈕

條件斷點


點擊斷點右鍵的Edit Breakpoint按鈕

解釋一下:

Condition後面的UILbel中我們可以寫入條件陳述式 例如i==5,此時斷點只會在i==5的時候斷點作用才會生效

同樣的我們可以在lgnore裡面設定數字,表示忽略前面的執行次數,在數字+1時

才會生效。

當我們想看到哪個函數執行了多少次,可以在Action設定為Log Message,如所示的那樣:

記住一定要把下面的對號打上呀

異常斷點

注意這個斷點感覺是最實用的

我們經常會遇到程式調試過程中崩潰,幾萬行甚至幾十萬行的代碼,崩潰後就會跑到Mian函數中,根本不清楚

哪裡出現問題,想加普通斷點調試都不知道該往哪裡加,如那樣:

看到這個你是不是這樣的表情:duang~一般的崩潰

此時我們就需要加到異常斷點,加入辦法如下:


這樣我們遇到崩潰~~~

Dang~的XCode直接幫我們進入引起Crash的地方,方便進行修改

配置斷點:根據使用性也加函數、類斷點

通過配置斷點我們可以精確到某個類或者某個方法中進行終端

具體做法是在Symobol中根據具體的需求加上相應的函數或者類

代碼已耗用時間

我們完成一個項目後,進行調試,為了使軟體流暢的最大化,有時候需要最佳化代碼,這時候我們需要找到哪些
代碼是耗時的,想辦法最佳化演算法或者另外開闢多線程,保證良好的使用者體驗。這時候就用到測時間的方法。

NSDate *startTime=[NSDate date];for (i=0; i<100000; i++) {    NSLog(@"NSLog:%d次",i);}NSLog(@"Time is:%f",-[startTime timeIntervalSinceNow]);

建議在pch檔案中可以定義一個宏變數,關於pch的用法

#define STARTTIME NSDate *startTime=[NSDate date];#define ENDTIME  NSLog(@"Time: %f", -[startTime timeIntervalSinceNow]); STARTTIMEfor (i=0; i<100000; i++) {    NSLog(@"NSLog:%d次",i);}   ENDTIME
還有LLDB、Profile等東西需要細細總結,但因每天晚上要跑步就先到這裡啦,明天找時間補充~~~    O(∩_∩)O

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.