在蘋果 Cocoa/iOS 編程下,有沒有類似《Debuggin Applications》或《Windows 高級調試》的書呢?
01-05
謝邀。《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?