web-dev-qa-db-fra.com

Le débogueur Xcode 11 est extrêmement lent - Un problème connu?

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:

  • L'exécution du programme s'arrête immédiatement lorsque le point d'arrêt est atteint. Cependant, Xcode a besoin de jusqu'à 30 secondes pour afficher la position dans la fenêtre de code et d'une minute environ pour charger le contenu de la vue variable (qui montre les valeurs et les états des variables disponibles au point d'arrêt).
  • Si j'utilise les fonctionnalités Passez à ou Passez à , cela prend jusqu'à une minute pour effectuer l'étape suivante et encore une autre minute pour charger les variables.

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?

82
Andrei Herford

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 option position

Xcode 11.2.1 (11B500)

0
Giorgio Daino

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.

0
Reuben Scratton