Comment puis-je get une erreur de trace de stack dans Swift?

En Objective-C, à chaque fois qu'une application tombe en panne, je peux get la trace de la stack pour voir où est la dernière méthode qui cause l'erreur en utilisant ce code dans AppDelegate

  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSSetUncaughtExceptionHandler(&myExceptionHandler); return YES; } void myExceptionHandler(NSException *exception) { NSArray *stack = [exception callStackReturnAddresses]; NSLog(@"Stack trace: %@", stack); NSLog(@"MyExceptionHandler"); } 

et il va imprimer le journal de trace de la stack à la console que je peux utiliser pour déboguer la cause du problème au lieu de finir à main.m sans information

Alors, comment puis-je faire cela dans Swift?

Si je vous comprends bien, je pense que ce que vous searchz est un point d'arrêt d'exception , qui fonctionne comme un point d'arrêt régulier mais qui est appelé chaque fois qu'une exception est levée. De cette façon, il arrêtera votre application à l'endroit où l'exception a été lancée, afin que vous puissiez voir la méthode, la ligne de code et les valeurs des variables au moment du crash.

Cela peut être défini en accédant à l'onglet Navigateur de point d'arrêt dans le browser , en cliquant sur le button plus en bas à gauche et en sélectionnant " Ajouter un point d'arrêt d'exception ".

Le point d'arrêt d'exception peut être édité avec différentes options en faisant un clic droit dessus et en sélectionnant " Modifier point d'arrêt ".