Я пытаюсь выяснить, что не так с моим приложением. Он отключает EXC_BAD_ACCESS в режиме деблокирования, но когда я пытаюсь проверить зомби, он не падает с помощью инструментов. В обязательном порядке я отключу обнаружение зомби, и он сработает.Приложение аварийно завершает работу в режиме освобождения, но не сбой при включении зомби
Когда это происходит, единственное, что я могу сказать, это то, что самый последний вызов в распределении vm показывает этот viewDidLoad. Так что мне интересно, что здесь что-то не так?
- (void)viewDidLoad
{
[super viewDidLoad];
//load abstract
if (self.abstractId > 0){
[self startQuery:@selector(getAbstractWithId:)];
}
//setup nav bar
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
[self.view addSubview:[self makeFavoriteButton]];
//add link attributes
self.linkAttributes = @{NSForegroundColorAttributeName: [UIColor colorWithHexString:emaGreen],
NSUnderlineColorAttributeName: [UIColor lightGrayColor],
NSUnderlineStyleAttributeName: @(NSUnderlinePatternSolid)};
//create text view
UITextView *tv = [[UITextView alloc] initWithFrame:self.view.frame];
tv.editable = NO;
tv.textAlignment = NSTextAlignmentLeft;
tv.text = @" ";
tv.backgroundColor = [UIColor whiteColor];
tv.scrollEnabled = YES;
tv.dataDetectorTypes = UIDataDetectorTypeLink;
tv.linkTextAttributes = self.linkAttributes; // customizes the appearance of links
tv.delegate = self;
// set the scroll indicators between nav and tabs
tv.scrollIndicatorInsets = UIEdgeInsetsMake(0,
0,
CGRectGetHeight(self.tabBarController.tabBar.frame),
0);
//add to property and view
self.tv = tv;
[self.view addSubview:tv];
//Create spinner view
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
hud.mode = MBProgressHUDModeIndeterminate;
self.hud = hud;
}
Какие еще варианты отладки у меня есть?
Спасибо!
Вы можете попробовать контрольные точки, чтобы увидеть, какая линия рушится. – ruthless
Вы проверили схему, чтобы убедиться, что сборка «Инструменты» и сборка выпуска построены таким же образом? – matt
Когда вы включаете зомби, все дело в том, что приложение больше не будет разбиваться. Вместо этого вы должны увидеть некоторый вывод в консоли отладки, когда вы попытаетесь сделать плохой доступ к памяти. Ищите эти сообщения при отладке с включенными зомби. – rmaddy