Je tiens à ouvrir une session le Dépisteur au cours de certains points, comme les assertions de l’échecs, ou à des exceptions non interceptées.
Réponses
Trop de publicités?Cacao déjà les journaux de la trace de la pile sur les exceptions à la console même si ils sont juste des premières adresses de la mémoire. Si vous voulez de l'information symbolique dans la console, il y a quelques exemples de code à partir d'Apple.
Si vous souhaitez générer une trace de la pile à un point arbitraire dans votre code (et vous êtes sur de Léopard), voir la trace de l'homme page. Avant de Léopard, il fallait creuser par le biais de la pile d'appel lui-même.
Ce joli beaucoup vous dit quoi faire.
Essentiellement, vous devez configurer la gestion des exceptions des applications pour ouvrir une session, quelque chose comme :
J'ai trouvé que c'était exactement ce dont j'avais besoin: Met de l'émotion dans la main.classe m et imprime la trace de la pile. Je ne suis pas sûr qu'il fonctionne dans toutes les situations, par exemple, pas sûr que cela fonctionne quand il y a un C niveau de crash. Mais, mieux que rien, et facile à installer.
http://blog.evergizmo.com/2012/01/17/objective-c-tip-how-to-print-stack-trace/
Dans le cas où le lien s'en va, - mettre cela en main.m:
int main(int argc, char *argv[])
{
@autoreleasepool {
int retval;
@try{
retval = UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
@catch (NSException *exception)
{
NSLog(@"Gosh!!! %@", [exception callStackSymbols]);
@throw;
}
return retval;
}
}