簡體   English   中英

如何在Xcode中有效地調試塊

[英]How can I debug effectively with blocks in Xcode

我真的很難在我們的大型ios項目上調試代碼。 似乎每個人都瘋狂地放置塊並在各處派遣隊列。

當我被要求調試一大塊代碼時,我真的想逐步完成它並觀察事情的變化,看看變量究竟發生了什么。 對於所有已放入的塊有兩個原因,我無法輕易做到這一點:

  1. 我必須在每個小塊內放置一個斷點以阻止該塊。

  2. 在一個塊中,沒有塊的變量不會以可用的方式顯示,並且不能使用po命令輕松地轉儲到控制台。

有沒有更簡單或更好的方法來逐步/評估充斥着塊的代碼? 或者我在這里遺漏了什么?

您是否使用斷點與自動控制台轉儲(不停止正在運行的應用程序)?

關於中間調試有一個非常好但非常實用的教程。

快樂的編碼!

為什么不使用NSLog()在塊中輸出所需的變量?

您可以使用以下命令在控制台中打印出對象:

例:

po object.name
po object.age

另一種方法:在代碼中放置一個斷點。 當它在該點停止執行時,將鼠標懸停在它上面。

有關更詳細的詳細信息,請查看我對此問題的答案: 如何在xcode中檢查來自NSArray和NSDictionary的元素?

你是對的,調試塊有點麻煩。 我嘗試使用“自動轉儲斷點”但事實證明,它們維護起來很糟糕......

我最終使用的是NSLog NSLog()的問題是,您不希望在發布版本中進行所有日志記錄。 所以我建議使用像這樣的工具:

MWLogging

我覺得這真的很棒。 您可以在此博客文章中閱讀相關內容並進行常規登錄:

iOS開發:你做錯了

這真的值得一讀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM