這只是關於新的Xcode 4.1,專門在Lion上運行。你如何在儀器中啓用NSZombie?它不再位於Xcode 4.0中的啓動配置下的(i)圖標中的Allocations中。也沒有一個名爲殭屍的圖書館條目。如何在Lion下的Xcode 4.1文件中啓用NSZombie?
當然,問題是我不能退回到Xcode 4.0,因爲它拒絕在Lion下運行,所以我在泡菜!任何其他利用獅子的流血尖端開發者,如果擁有比我更多的經驗,可以幫助挖掘出這些?謝謝。 -Ric
這只是關於新的Xcode 4.1,專門在Lion上運行。你如何在儀器中啓用NSZombie?它不再位於Xcode 4.0中的啓動配置下的(i)圖標中的Allocations中。也沒有一個名爲殭屍的圖書館條目。如何在Lion下的Xcode 4.1文件中啓用NSZombie?
當然,問題是我不能退回到Xcode 4.0,因爲它拒絕在Lion下運行,所以我在泡菜!任何其他利用獅子的流血尖端開發者,如果擁有比我更多的經驗,可以幫助挖掘出這些?謝謝。 -Ric
我從Apple得到了這個非常有用的答案,關於我自己的問題。它是逐字的 -
ME:是否有關於如何找到那些難以解除分配的對象的更新,使用Xcode 4.1.1和/或Instruments在設備上進行測試?
蘋果:首先,[蘋果論壇]上面顯示的黑客已經被操作系統的內部變化所淘汰,即殭屍設置現在由CF完成。您可以使用下面顯示的代碼強制啓用殭屍:
extern void _CFEnableZombies(void);
int main(int argc,char ** argv) { _CFEnableZombies();
... rest of your main ...
}
重要提示:_CFEnableZombies功能是私有的,所以你別想把這個代碼到生產應用。然而,這不是祕密;您可以通過查看Darwin的Lion開放源代碼來了解它是如何實現的。
http://www.opensource.apple.com/source/CF/CF-635/CFRuntime.c
如果你這樣做,你的應用程序將停止(與斷裂點除外),當你消息的殭屍,無論你如何運行它。因此,您可以使用分配工具在儀器中運行它,同時獲得殭屍檢測和分配跟蹤。
注意,當一個殭屍被傳遞消息的系統打印是這樣的:
*** - []:發送到釋放實例「消息
這不會出現在儀表控制檯區域;你將不得不使用Xcode的組織者(或IPCU)進行查看。
分享和欣賞
奎恩「愛斯基摩人!「 蘋果開發者關係,開發者技術支持,核心操作系統/硬件
ME:希望是在這種情況下,你們中的一些有用的信息
還有另一種方式在設備上與NSZombie運行,但是這是通過的XCode 4沒有的儀器。
要在設備上運行NSZombie,打開您的XCode項目並點擊頂部菜單項「產品」,然後按住Alt並點擊「運行」,這將打開一個單獨的窗口,您將看到「環境變量」窗戶底部。點擊「+」,爲名稱輸入「NSZombieEnabled」,輸入值爲「YES」。
你的意思儀器或Xcode的 – esqew
文書來了包裝和Xcode? 4.1 ...在儀器4.1 – Ric