我試圖解決我的第一個非常難的EXC_BAD_ACCESS問題。我從很多教程和博客中看到,我可以使用殭屍工具來幫助我找出錯誤的地方。但我不認爲我的殭屍正在工作,而且我明確地沒有從控制檯中獲得任何有用的信息。無法讓殭屍在XCode中工作
當我開始計劃我看到這一點:This GDB was configured as "x86_64-apple-darwin".Setting environment variable "NSZombieEnabled" to null value.
最後,我看到一對夫婦的NSLog的痕跡我使用後被:
Program received signal: 「EXC_BAD_ACCESS」.
根本沒有幫助。有任何想法嗎?我有一個偷偷摸摸的懷疑,即使殭屍工作,它也不能告訴我發生了不良訪問。 Objective C的讓我傷心 - 這要花費3秒的ActionScript :(
你說崩潰就在這裏(編輯問題的下一次):
- (IBAction) toggleView{
if(switchableView.subviews.count != 0)
[[switchableView.subviews objectAtIndex:0] removeFromSuperview];
UIViewController* newView = (viewSelector.selectedSegmentIndex == 0) ? [Login new] : [UserRegistration new];
[switchableView addSubview:newView.view];
//[newView release];
}
謝謝你,我想我認爲複選標記是yes的合理表示。我發現我的問題,但我無法理解解決方案。 – pseudopeach 2010-10-31 18:01:59
由於autorelease的魔力,這並不總是很容易找到。當這些咬傷時,回溯並不總是有幫助的。 – 2010-10-31 18:05:06
這有什麼幫助。使用儀器,使用Object Alloc運行。停止您的應用程序,然後按下ObjectAlloc工具中的小「i」,並啓用NSZombie檢測以及引用計數。然後按「記錄」,你的應用程序將運行(在模擬器中執行此操作),當你得到「不良訪問」時,它將在儀器工具中用箭頭標記 - 按下該按鈕,你會看到每個都保留並釋放目的。 – 2010-10-31 18:35:37