Nom du projet " a été compilé avec l'optimisation des pas à pas peuvent se comporter de façon étrange; les variables peuvent ne pas être disponibles
En essayant de faire un pas dans AFNetworking code génère le message d'avertissement suivant:
[Project Name] was compiled with optimization - stepping may behave oddly; variables may not be available.
Et bien sûr, je ne suis pas en mesure de déboguer le code. Pour être précis je suis en train de déboguer UIImageView+AFNetworking
catégorie qui semble impossible. Modifiant le code n'a pas d'effet (essayé NSLog
, etc) et en essayant d'étape dans les compilateurs va à l'assemblée de code et montre UIImageView+TVASTAFNetworking
comme le nom de la catégorie qui n'existe nulle part dans le code de base.
À L'Aide De Xcode 7. iOS 9 & 8. Cocoapods (pas de Cadre)
Mise à JOUR
J'ai oublié de mentionner que l'Optimiseur est fixé à none
pour les deux version et configuration de débogage et je suis en fait en utilisant Debug
config.
Mise à JOUR 2
Strip Debug Symbols
Est hors tension.
- Je me souviens d'être une sorte de "Bande de Symboles de Débogage" option. Que, probablement, serait la cause de ce problème. Est-il éteint?
- Oui
Strip Debug Symbols
est éteint. - Bizarre j'ai juste essayé de transformer la Bande de symboles de Débogage, et l'avertissement disparu 8-|
- Hey, avez-vous trouvé comment résoudre le problème? Je suis coincé avec le même problème depuis la mise à jour de Xcode 7
- Malheureusement, Pas De
- Argh! Si douloureusement ennuyeux, même problème ici, et gaspillé des heures à essayer de faire le tri. Si je commence un nouveau projet tout fonctionne bien :/
- Salut! Mojtaba! Avez-vous déjà résolu le problème? J'ai le même problème, donc si vous avez déjà résoudre ce problème, svp laissez-moi savoir.
- malheureusement pas. Mais essayez de réponses ci-dessous on peut travailler pour vous.
- Salut, je suis coincé dans une situation similaire et avez essayé tout ce qui est mentionné dans ce fil, le tout en vain cependant. Avez-vous trouvé la solution ?
- pas encore de. J'ai copié tous les fichiers dans un nouveau projet et il a bien fonctionné tho. (y compris les gousses)
- J'ai eu un problème similaire avec attente pour le test attentes (optimisation éteint). Vous devriez vérifier qui teste si tous sont suspendus.
- Comme dit plus tôt. "Il y a en fait deux d'optimisation des champs au niveau du sous Paramètres de construction, un pour LLDB et un pour Swift compilateur". Cela l'a fait pour moi, merci.
Vous devez vous connecter pour publier un commentaire.
Si votre projet est l'utilisation de Swift, il y a deux "Niveau d'Optimisation" paramètres " dans le projet/configuration cible.
Assurez-vous de définir à la fois correctement:
None [-O0]
pour LLVM etNone [-0none]
pour Swift) pour la construction de config en question.Faire ce résolu que l'avertissement pour moi.
po
,p
,expr
... ?Il ressemble à votre projet est en mode Release. Mode de diffusion de compiler l'application avec beaucoup d'optimisations, mais débogueurs haine optimisations, donc fiable pour déboguer l'application, vous avez besoin de le passer en mode Debug qui réduit l'optimisation et ajoute un tas d'informations de débogage. Pour le passer en mode Debug:
Cet avertissement ne s'affiche que lorsque vous atteignez un point d'arrêt et que la source est dans un projet où l'optimisation est activée, vous empêche de regarder le vrai valeurs de la variable (chaque objet est présenté comme nulle, même si elle n'est pas)
Dans mon cas, il ne s'est produit lors du débogage, étape par étape, cocoapod de dépendance.
Donc, même si vous avez votre cœur de cible et les paramètres de projet définir correctement (Bande de symboles de Débogage=OFF, et le niveau d'Optimisation Aucun), vous devez vous assurer qu'elle est de même pour le Pod votre projet de frapper le point d'arrêt.
None [-O0]
)pod install
de nouveau. Modifier comme ceci.S'avère que, après l'importation d'un ancien projet (Xcode 7.x+) à la nouvelle Xcode 8.3 (8E162), probablement en raison d'optimisation du compilateur, le Swift Compilateur - Niveau d'Optimisation a été configuré par défaut pour Rapide, Simple Optimisation de Fichier:
De la modifier à aucun, le problème est réglé:
Editor
->Validate Settings
puis confirmez toutes les modifications. Alors vous devriez obtenirEnsemble de Débogage pour
None
.Cela a été la solution pour moi...
Le long des lignes de gimino réponse, si vous utilisez cocoapods, ajouter une ligne de ce genre pour les Podfile:
ou pour cocoapods versions >= 1.0 (merci Diejmon)
Où MyProject a 'Debug - local', 'Debug - mise en scène', 'Debug - PRODUCTION" que de débogage configuations en plus de la norme 'Debug'
Par défaut, cocoapods généralement générer de la gousse de configurations de presse, ce Podfile ligne permet de vous dire qu'ils sont de débogage.
J'ai rencontré le même problème aujourd'hui, et pensé à elle (au moins dans mon cas).
Je suis également en utilisant CocoaPods, et j'ai eu ce problème lors de l'exécution de mon test de la cible (Swift mélangé avec de l'ObjC).
Je suis en utilisant Xcode 7.2, avec iOS 9.2 SDK.
Dans l'image ci-dessous, vous pouvez voir les optimisations de la cible et du projet avant mon changement:
La chose surprenante est que, même si l'Optimisation est résolu Aucun [-O0], après avoir changé la configuration de projet de -Os à -O0 ne le compilateur arrêt de l'optimisation de la cible.
Ci-dessous vous pouvez voir mes derniers paramètres:
Il a été un long moment, mais j'ai finalement résolu le problème. Il existe une troisième option d'optimisation
LTO
ouLink Time Optimization
et il est Surprenant que personne n'ontmentionné ici, et pour une raison que je n'ai pas prêter attention à cela. C'est juste au-dessus de la
Optimization Level
paramètre comme vous pouvez le voir dans de nombreuses captures d'écran postées ici.Donc, pour résumer, il y a 3 différentes options d'optimisation vous souhaitez désactiver pour le débogage :
-flto
)-O
)Plus d'informations sur LTO:
http://llvm.org/docs/LinkTimeOptimization.html
Êtes-vous sûr que votre configuration de débogage n'est pas optimiser le code (il ne devrait pas)? Il semble que vous avez accidentellement activé optimisation de la configuration de débogage et vous devez le désactiver à partir de la cible de paramètres.
Cette erreur m'est arrivé deux fois, et dans tous les cas c'était une erreur dans l'URL le paramètre utilisé pour demander un service.
Dans un cas, l'URL de l'espace dans la section de port dans les autres cas, certaines options de la Valeur n'a pas été déballé.
Si le correctif a été assurez-vous que l'url de la requête est bien formé. Plus d'informations sur mon cas, et d'autres rapports le même ici.
Tout ce que je fait est de la Nettoyer (
Product > Clean
) mon projet et l'exécuter à nouveauCela peut être une simplification excessive, mais avez-vous les capacités pour la Libération ou à l'optimisation (qui éliminent les symboles de Swift ou LLVM) trop élevé? Si donc l'éditer votre régime et de passer en Debug, ou de modifier vos Paramètres de génération pour swift ou LLVM optimisation à zéro (0).
Juste au cas où quelqu'un est confronté à ce problème lors du débogage d'un pod, qui utilise une bibliothèque C en interne, il y a autre chose à modifier dans les paramètres du projet pour le faire fonctionner, en plus de tout le reste répertoriés dans le fil.
Aller à Gousses paramètres du projet -> C-à l'aide de la cible -> Build Settings -> Apple Llvm - Custom Drapeaux du Compilateur -> Autre C de Drapeaux et de supprimer les
-O3
drapeau qui a obtenu là en quelque sorte.