Depuis que j'ai mis à jour vers la dernière version Xcode 11.0 (11A420a), le débogage est extrêmement lent et lourd.
EDIT: Après la mise à jour vers 11.1 GM (11A1027) le problème est toujours le même.
Compiler un projet et l'exécuter dans un simulateur ou sur un appareil ne pose aucun problème. Cependant, lorsque vous atteignez un point d'arrêt, Xcode devient plus ou moins inutilisable:
J'utilise Xcode sur un Mac mini 2018 avec un i7 à 3,2 GHz et 32 Go de RAM. J'ai déjà utilisé Xcode 10 sur la même machine sans aucun problème.
La recherche de "Xcode slow" fait apparaître une tonne de threads et de solutions possibles bien sûr. Depuis mes années en tant que développeur iOS, je sais que Xcode n'a jamais été le programme le plus rapide et le plus stable. Mais ce n'était jamais aussi mauvais que maintenant.
Malheureusement, aucune des astuces connues (redémarrage de Xcode ou du Mac, nettoyage du projet, nettoyage des dossiers de la bibliothèque Xcode, etc. n'a eu d'effet,
Donc la grande question est:
Est-ce un problème connu dans Xcode 11? Y a-t-il des solutions connues?
J'ai trouvé les mêmes problèmes dans deux cas différents:
1) l'application n'est pas lancée par Xcode, c'est-à-dire que le drapeau "Attendre que l'exécutable soit lancé" est défini dans le panneau Info des paramètres de Scheme Run;
2) l'option "Lancer en raison d'un événement d'extraction en arrière-plan" est sélectionnée dans les paramètres du schéma (mais ce n'est pas la valeur par défaut)
Xcode 11.2.1 (11B500)
Dans mon cas (XCode 11.x, MacOS 10.15.2), j'ai constaté que l'extrême lenteur du débogueur n'est déclenchée que si je ne fais qu'une seule étape alors qu'une autre opération en une seule étape est en cours, c'est-à-dire que je appuyez trop rapidement sur le bouton de pas. Ma solution de contournement actuelle consiste à éviter de le faire.
Spéculation pure mais peut-être est-elle déclenchée par XCode/LLDB essayant de desservir plusieurs points d'arrêt simultanément? Essayez de supprimer tous les points d'arrêt, sauf un, et voyez si cela aide les choses.
Dans le cas où c'est pertinent: je travaille principalement avec C++ dans XCode, avec un petit Obj-C ici et là. Je n'utilise pas Swift du tout pour le moment.