2012-07-23 3 views
3

J'ai un thread d'arrière-plan qui interroge le thread UI toutes les 200ms. S'il y a un blocage pendant 2 secondes, je voudrais obtenir la pile d'appel à partir du fil de l'interface utilisateur à ce moment-là. Quand j'appelle [NSThread callStackSymbols], il est exécuté sur le thread d'arrière-plan puisque je vérifie si le blocage est de plus de 2 secondes dans le thread d'arrière-plan.NSThread callStackSymbols d'un autre thread?

Y at-il un moyen facile d'obtenir la pile d'appel sur le fil principal à partir du fil bg?

Répondre

0

Voici comment le faire "manuellement". Eh bien, si je vous comprends bien, l'un des fils est en train de soulever des objets lourds, ce qui prend trop de temps. Pour ces cas, je viens d'appuyer sur le bouton de pause dans xcode pour mettre en pause le débogueur. Ensuite, il est facile d'inspecter la callstack et de voir quelle méthode bloque de continuer.