J'ai défini des points d'arrêt mais Xcode semble les ignorer.
xcode
breakpoints
AlanKley
la source
la source
Réponses:
Tout d'abord, je suis d'accord à 100% avec les personnes précédentes qui ont dit désactiver
Load Symbols Lazily
.J'ai encore deux choses à ajouter.
(Ma première suggestion semble évidente, mais la première fois que quelqu'un me l'a suggérée, ma réaction est allée dans ce sens: "allez, s'il vous plaît, vous pensez vraiment que je ne saurais pas mieux ... oh.")
Assurez-vous de ne pas avoir défini par inadvertance «Configuration de build actif» sur «Release».
Sous "Cibles" dans l'arborescence graphique de votre projet, faites un clic droit sur votre cible et faites "Obtenir des informations". Recherchez une propriété nommée «Générer des symboles de débogage» (ou similaire) et assurez-vous qu'elle est VÉRIFIÉE (aka ON). Vous pouvez également essayer de trouver (également dans Target >> Get Info) une propriété appelée "Debug Information Format" et la définir sur "Dwarf with dsym file".
Il existe un certain nombre d'autres propriétés sous Cible >> Obtenir des informations qui peuvent vous affecter. Recherchez des éléments tels que l'optimisation ou la compression du code et désactivez ces éléments (je suppose que vous travaillez en mode débogage, ce n'est donc pas un mauvais conseil). Recherchez également des éléments tels que supprimer des symboles et assurez-vous que ce paramètre est également désactivé. Par exemple, "Supprimer le produit lié" doit être défini sur "Non" pour la cible de débogage.
la source
Dans Xcode 7, ce qui a fonctionné pour moi était:
1) Assurez-vous que la cible -> schéma -> Exécuter - est en mode débogage (était Release)
2) Assurez-vous de cocher l'option "Debug executable" voir ci-dessous:
la source
Accédez aux préférences de débogage Xcode. Assurez-vous que "Charger les symboles paresseusement" n'est PAS sélectionné.
la source
J'avais juste ce même problème (encore). Après avoir vérifié trois fois "Charger les symboles paresseusement" et dépouillé et débogué les indicateurs de génération d'informations, j'ai fait ce qui suit:
Vous pouvez accomplir la même tâche dans Finder en cliquant avec le bouton droit / option-clic sur le bundle .xcodeproj et en sélectionnant "Afficher le contenu du paquet".
Lorsque j'ai redémarré Xcode, toutes mes fenêtres étaient réinitialisées aux positions par défaut, etc., mais les points d'arrêt fonctionnaient!
la source
Pour Xcode 4.x: Accédez au produit> Déboguer le flux de travail et décochez "Afficher le désassemblage lors du débogage".
Pour Xcode 5.x, accédez au débogage> Déboguer le flux de travail et décochez «Afficher le désassemblage lors du débogage».
la source
Une autre raison
Définir
DeploymentPostprocessing
sur NO dans BuildSettings - détails iciEn bref -
la source
YES
uniquement dans monsubproject
, puis les points d'arrêt ne fonctionnaient passubprojects
. Et après s'être installéNO
, c'était parfait!Voir cet article: Les points d'arrêt ne fonctionnent pas dans Xcode? . Vous pourriez pousser "Exécuter" au lieu de "Déboguer" auquel cas votre programme ne s'exécute pas avec l'aide de gdb, auquel cas vous ne pouvez pas vous attendre à ce que les points d'arrêt fonctionnent!
la source
Une des solutions possibles pour cela pourrait être .... allez dans Produit> Schéma> Editer le schéma> .. Sous Exécuter> info> Exécutable, cochez "Debug executable".
la source
Cela m'a mis dans Xcode 9 pendant une demi-journée frustrante. Cela a fini par être un simple paramètre de débogage.
Allez Déboguer> Déboguer le flux de travail et assurez-vous que «Toujours afficher le désassemblage» est désactivé. Aussi simple que cela. :(
la source
Solution pour moi avec XCode 9.4.1 (ne s'est arrêté à aucun point d'arrêt):
Sous la cible de construction -> Paramètres de construction -> Niveau d'optimisation: basculé de "Optimiser pour la vitesse" -> "Aucune optimisation" (maintenant c'est plus lent mais fonctionne)
la source
Ce qui l'a résolu dans mon cas était assez simple, dans Xcode - Product - Clean Build Folder suivi de Product - Run (pas le bouton Play Xcode).
(Avait le problème sur Xcode 11 -beta 4 après le passage au test unitaire avec un appui long sur le bouton de lecture Xcode)
la source
Est venu sur cette page avec le même problème (le code C dans Xcode 6 ne s'arrêtant pas aux points d'arrêt) et aucune des solutions ci-dessus n'a fonctionné (le projet était pratiquement prêt à l'emploi, en ce qui concerne les paramètres, donc peu de chance pour les paramètres du débogueur de être réglé sur la mauvaise valeur) ...
Après avoir perdu un certain temps à réduire le problème, j'ai finalement trouvé le coupable (pour mon code):
Xcode (/ LLVM) n'aime pas les
#line
commandes de préprocesseur de style Bison .Leur suppression a résolu le problème (le débogueur s'est arrêté à mes points d'arrêt).
la source
Pour Xcode 4:
la source
J'ai beaucoup de problèmes avec les points d'arrêt dans Xcode (2.4.1). J'utilise un projet qui contient simplement d'autres projets (comme une solution dans Visual Studio). Je trouve parfois que les points d'arrêt ne fonctionnent pas du tout à moins qu'il y ait au moins un point d'arrêt défini dans le projet de départ (c'est-à-dire celui contenant le point d'entrée de mon code). Si les seuls points d'arrêt se trouvent dans des projets de "niveau inférieur", ils sont simplement ignorés.
Il semble également que Xcode ne gère correctement les opérations de point d'arrêt que si vous agissez sur le point d'arrêt lorsque vous êtes dans le projet qui contient la ligne source sur laquelle se trouve le point d'arrêt.
Si j'essaie de supprimer ou de désactiver des points d'arrêt via un autre projet, l'action ne prend parfois pas effet, même si le débogueur l'indique. Je vais donc me retrouver à casser sur des points d'arrêt désactivés, ou sur un point d'arrêt (maintenant invisible) que j'ai supprimé plus tôt.
la source
Mes points d'arrêt ne fonctionnent pas, puis j'ai créé / nettoyé toutes les cibles pour les faire fonctionner à nouveau.
la source
Je pense que le problème pourrait être une incompatibilité entre les versions de l'appareil et Xcode. J'ai ce problème lorsque je tente de déboguer sur mon iPhone 4S sous iOS 5.0.1. J'utilise toujours Xcode 3.2.5. J'ai récupéré les symboles du combiné en sélectionnant «utiliser cet appareil pour le développement» dans la fenêtre de l'organiseur. Ce téléphone refuse cependant le point d'arrêt. Mon ancien 3GS aura un point d'arrêt, le même projet Xcode, les mêmes paramètres ... juste un appareil différent et il exécute iOS 4.0. Je suppose que c'est un bogue Xcode dans 3.2.5, puisque j'ai les symboles. Ayant essayé toutes les solutions publiées ici jusqu'à présent, j'ai décidé que la solution à mon problème était d'aller de l'avant et de passer à XCode 4. Peut-être que vous ne pouvez pas déboguer efficacement à moins que votre SDK de base ne soit au moins aussi élevé que le système sur lequel déboguer. Peut-être que c'est évident - quelqu'un peut-il confirmer?
Edit: Je mettrai à jour quand je pourrai confirmer que c'est vrai.
la source
La suppression de mon dossier Build a résolu le problème pour moi.
la source
Cela m'est arrivé la même chose dans XCode 6.3.1. J'ai réussi à le réparer en:
Après avoir effectué cette modification, j'ai défini les options Déplacer les points d'arrêt vers le projet et désélectionner les points d'arrêt Partager option , et fonctionne toujours.
Je ne sais pas exactement pourquoi mais cela récupère mes points d'arrêt.
la source
Pour cela, ainsi que pour Xcode 6 et supérieur, assurez-vous que le bouton d'état du point d'arrêt est activé (le bouton en forme de flèche bleue):
la source
Dans Xcode 4
la source
J'ai trouvé le problème. D'une manière ou d'une autre, " Afficher le désassemblage lors du débogage " a été activé dans mon XCode, ce qui crée ce problème. Quand je l'ai désactivé, tout mon débogueur s'est arrêté dans mon code source.
Vous pouvez le trouver sous:
Product->Debug Workflow->Show Disassembly
lors du débogage.la source
Vous pouvez activer / désactiver les points d'arrêt dans le menu déroulant
la source
Si tout le reste échoue, au lieu d'un point d'arrêt, vous pouvez appeler la fonction suivante:
Pour reprendre, réglez manuellement i sur zéro, puis appuyez sur le bouton de reprise.
la source
J'ai essayé toutes les choses ci-dessus, mais pour moi, désactiver une seule fois les points d'arrêt de débogage, puis les activer a fonctionné.
la source
Lors de la définition de votre point d'arrêt, faites un clic droit et vous devriez obtenir plusieurs options sur la façon dont le point d'arrêt est géré (journal des variables et continuer, suspendre l'exécution, etc.)
Assurez-vous également que "Charger les symboles paresseusement" n'est pas sélectionné dans les préférences de débogage.
(S'applique à Xcode 3.1, pas sûr des versions passées / futures)
la source
Assurez-vous également que la distribution AppStore de l'application n'est pas également installée sur l'appareil.
la source
Une autre chose à vérifier est que si vous avez un fichier plist "Droits" pour votre mode de débogage (peut-être parce que vous faites des choses avec le trousseau), assurez-vous que ce fichier plist a la ligne "get-task-allow" = YES. Sans cela, le débogage et la journalisation seront interrompus.
la source
Il semble y avoir 3 états pour les points d'arrêt dans Xcode. Si vous cliquez dessus, ils passeront par les différents paramètres. Le bleu foncé est activé, le gris est désactivé et j'ai parfois vu un bleu pâle qui m'a obligé à cliquer à nouveau sur le point d'arrêt pour le faire passer à la couleur bleu foncé.
À part cela, assurez-vous que vous le lancez avec la commande de débogage et non avec la commande d'exécution. Vous pouvez le faire en appuyant sur option + commande + retour ou sur l'option Go (débogage) dans le menu Exécuter.
la source
J'ai Xcode 3.2.3 SDK 4.1 Les points d'arrêt échoueront au hasard. J'ai trouvé que si vous nettoyez la construction et utilisez la commande tactile sous la construction, ils fonctionnent à nouveau.
la source
En voici une obscure que j'ai rencontrée: si vous travaillez sur une bibliothèque partagée (ou un plugin), vos points d'arrêt deviendront jaunes au démarrage, ce qui pourrait vous amener à marteler votre clavier de frustration et à tuer le processus de débogage. Eh bien, ne fais pas ça! Les symboles ne seront pas chargés tant que l'application n'aura pas chargé la bibliothèque, auquel cas les points d'arrêt deviendront valides. J'ai rencontré ce problème avec un plugin de navigateur ... Les BP ont été désactivés jusqu'à ce que je navigue sur une page qui instancie mon plugin.
la source