鍍金池/ 教程/ iOS/ 調(diào)試
與四軸無人機(jī)的通訊
在沙盒中編寫腳本
結(jié)構(gòu)體和值類型
深入理解 CocoaPods
UICollectionView + UIKit 力學(xué)
NSString 與 Unicode
代碼簽名探析
測(cè)試
架構(gòu)
第二期-并發(fā)編程
Metal
自定義控件
iOS 中的行為
行為驅(qū)動(dòng)開發(fā)
Collection View 動(dòng)畫
截圖測(cè)試
MVVM 介紹
使 Mac 應(yīng)用數(shù)據(jù)腳本化
一個(gè)完整的 Core Data 應(yīng)用
插件
字符串
為 iOS 建立 Travis CI
先進(jìn)的自動(dòng)布局工具箱
動(dòng)畫
為 iOS 7 重新設(shè)計(jì) App
XPC
從 NSURLConnection 到 NSURLSession
Core Data 網(wǎng)絡(luò)應(yīng)用實(shí)例
GPU 加速下的圖像處理
自定義 Core Data 遷移
子類
與調(diào)試器共舞 - LLDB 的華爾茲
圖片格式
并發(fā)編程:API 及挑戰(zhàn)
IP,TCP 和 HTTP
動(dòng)畫解釋
響應(yīng)式 Android 應(yīng)用
初識(shí) TextKit
客戶端
View-Layer 協(xié)作
回到 Mac
Android
Core Image 介紹
自定義 Formatters
Scene Kit
調(diào)試
項(xiàng)目介紹
Swift 的強(qiáng)大之處
測(cè)試并發(fā)程序
Android 通知中心
調(diào)試:案例學(xué)習(xí)
從 UIKit 到 AppKit
iOS 7 : 隱藏技巧和變通之道
安全
底層并發(fā) API
消息傳遞機(jī)制
更輕量的 View Controllers
用 SQLite 和 FMDB 替代 Core Data
字符串解析
終身學(xué)習(xí)的一代人
視頻
Playground 快速原型制作
Omni 內(nèi)部
同步數(shù)據(jù)
設(shè)計(jì)優(yōu)雅的移動(dòng)游戲
繪制像素到屏幕上
相機(jī)與照片
音頻 API 一覽
交互式動(dòng)畫
常見的后臺(tái)實(shí)踐
糟糕的測(cè)試
避免濫用單例
數(shù)據(jù)模型和模型對(duì)象
Core Data
字符串本地化
View Controller 轉(zhuǎn)場(chǎng)
照片框架
響應(yīng)式視圖
Square Register 中的擴(kuò)張
DTrace
基礎(chǔ)集合類
視頻工具箱和硬件加速
字符串渲染
讓東西變得不那么糟
游戲中的多點(diǎn)互聯(lián)
iCloud 和 Core Data
Views
虛擬音域 - 聲音設(shè)計(jì)的藝術(shù)
導(dǎo)航應(yīng)用
線程安全類的設(shè)計(jì)
置換測(cè)試: Mock, Stub 和其他
Build 工具
KVC 和 KVO
Core Image 和視頻
Android Intents
在 iOS 上捕獲視頻
四軸無人機(jī)項(xiàng)目
Mach-O 可執(zhí)行文件
UI 測(cè)試
值對(duì)象
活動(dòng)追蹤
依賴注入
Swift
項(xiàng)目管理
整潔的 Table View 代碼
Swift 方法的多面性
為什么今天安全仍然重要
Core Data 概述
Foundation
Swift 的函數(shù)式 API
iOS 7 的多任務(wù)
自定義 Collection View 布局
測(cè)試 View Controllers
訪談
收據(jù)驗(yàn)證
數(shù)據(jù)同步
自定義 ViewController 容器轉(zhuǎn)場(chǎng)
游戲
調(diào)試核對(duì)清單
View Controller 容器
學(xué)無止境
XCTest 測(cè)試實(shí)戰(zhàn)
iOS 7
Layer 中自定義屬性的動(dòng)畫
第一期-更輕量的 View Controllers
精通 iCloud 文檔存儲(chǔ)
代碼審查的藝術(shù):Dropbox 的故事
GPU 加速下的圖像視覺
Artsy
照片擴(kuò)展
理解 Scroll Views
使用 VIPER 構(gòu)建 iOS 應(yīng)用
Android 中的 SQLite 數(shù)據(jù)庫支持
Fetch 請(qǐng)求
導(dǎo)入大數(shù)據(jù)集
iOS 開發(fā)者的 Android 第一課
iOS 上的相機(jī)捕捉
語言標(biāo)簽
同步案例學(xué)習(xí)
依賴注入和注解,為什么 Java 比你想象的要好
編譯器
基于 OpenCV 的人臉識(shí)別
玩轉(zhuǎn)字符串
相機(jī)工作原理
Build 過程

調(diào)試

歡迎來到 objc.io 的第19期:本期的內(nèi)容是調(diào)試。

我們?cè)谌魏吻闆r下都會(huì)犯錯(cuò)誤。以此想來,我們每個(gè)工作日的核心部分都該是調(diào)試。而且,總會(huì)有代碼不按照預(yù)定的方式去工作,而這種情況又實(shí)在太普遍。我們自己尋找這些代碼的方法,也已演變成了我們調(diào)試的習(xí)慣。

不過關(guān)于調(diào)試,總是有更多東西可學(xué)。你是否已經(jīng)發(fā)揮出 LLDB 所有的潛力了?你是否已經(jīng)吃透了框架代碼并且窺見了底層?你可曾用過 DTrace 框架?蘋果新發(fā)布的活動(dòng)追蹤 API 你又了解多少?在本期內(nèi)容中,我們將詳盡探討以上的命題,只多不少。

Peter 會(huì)以一個(gè)調(diào)試用例的研究作為開始:他為我們帶來的是他在捕捉一個(gè) UIKit 自身的 bug 時(shí)所用到的工作流程和工具,他正是使用這些手段把最初的用戶報(bào)告轉(zhuǎn)變?yōu)榱讼?Apple 提交的 radar。接下來,Ari 會(huì)向我們展示 LLDB 的力量,你可以利用它,使調(diào)試不那么麻煩。Chris 寫的內(nèi)容基于他的調(diào)試核對(duì)清單。這份清單列出了許多值得被關(guān)注的內(nèi)容,你可以利用它們來診斷 bug。結(jié)尾處,Daniel 和 Florian 會(huì)講解兩個(gè)強(qiáng)大但是名不見經(jīng)傳的調(diào)試工具,DTrace活動(dòng)追蹤。

我們希望你永遠(yuǎn)用不到以上內(nèi)容。但人生不如意十之八九,僅愿你可以享受本期的文章!:-)

來自柏林深冬的美好祝福,

Chris,Daniel,與 Florian。

原文 Editorial