在蘋果 Cocoa/iOS 編程下,有沒有類似《Debuggin Applications》或《Windows 高級調試》的書呢?


謝邀。《The Art of Debugging with GDB, DDD, and Eclipse》。

其中的 DDD 和 Eclipse 部分對 Cocoa 不太有用,但是 GDB 部分不錯。

目前 Mac/iOS 開發的調試轉向 LLDB,所以命令部分要參考 LLDB 和 GDB 的對照。

調試這東西還需要自己仔細琢磨,比如:

  • 用好 watch point;
  • 用好 pause 來檢查 modal dialog 和 deadlock;
  • 複雜的和 focus/window-active-status 相關的 case 用 ssh 雙機調試。

另外,Mac 下的 runtime 沒有 Windows 那麼複雜。比如,Windows 下 C++ exception 居然是配合內核態的 structural exception handling (SEH) 實現的,而且處理之後還抹去了一些 stack,所以需要很複雜的調試工具。另外 WinDebugger 的命令行和 shell 配合不好,必須自行配置 remote debugging,而 Mac 下只要用 ssh 即可。這也是沒有針對 Mac debugging 的書籍的原因。


不懂高級調試,這裡說我的 一點小建議xcode自身帶gdb調試,用起來還是特別方便的。gdb加上NSlog();我想平常遇到的問題解決起來還是很輕鬆的。


建議同時了解一下Instruments的使用,檢查一下有無zombie等等。尤其是對iOS 5以下沒有ARC的。不然,bug會不知不覺地冒出來。


推薦閱讀:

iOS 7 的「向右滑動返回」,是否代表著蘋果在準備大屏手機?
如何用Mac為Android手機刷機?
PC 遊戲開發轉手機遊戲需要做哪些工作?
作為一個 iOS 程序開發人員,需要掌握哪些知識,才能進入類似於 BAT 等大型公司?
如何評價盤古越獄iOS9.2-9.3.3?

TAG:編程 | iOS開發 | Cocoa | 軟體調試 |