1. 程式人生 > >Xcode8 檢測記憶體洩露

Xcode8 檢測記憶體洩露


xcode8_new.png


Source Editing 主要可說的而是官方整合XCode外掛開發,總算有了一個具體的規範,蘋果拿來主義也是毫不含糊,在

XCode的/Applications/Xcode-beta.app/Contents/PlugIns/XCDocumenterExtension.appex/Contents/Resources/VVDocumenter-Xcode-Info.plist,直接拿了貓神的VVDocument!!!

本文主要說明Xcode8 的Debuging 新功能,Xcode8 改進了ViewDebugging,能檢視autolayout並提示autolayout約束的問題,這個具體用就很清楚了,主要還是看Debug Memory Graph這個功能。

開啟Debug Meory Graph:

  • 配置Edit Scheme,如下圖

malloc_1.png


這裡 Malloc Stack 有兩個選項,一個是 All allocations,另一個如圖中 Live Allocations Only所示。如果不開啟這個,在最終的生成記憶體洩露的列表中將無法檢視具體leak的函式堆疊資訊。

  • Xcode 8 執行一個App
  • 點選ViewDebug 旁邊類似分享的按鈕,如下圖:

debug1.png


然後Xcode會生成leak列表,如下圖:


memory2.png
memory_graphy_2.png


具體的引用次數和迴圈引用的引用計數圖都清晰表名,點選具體函式能檢視程式碼為什麼存在記憶體洩露,這樣大大方便開發者發現bug。
如果想要了解更多,請參看WWDC的session:

Visual Debugging with Xcode