lldb erreur: propriété ne trouve pas dans l'objet de type

Je suis en train de déboguer mon application iOS à l'aide de lldb et je me fais vraiment bizarre erreurs de débogage.

Quelques lignes avant de mon point d'arrêt, j'ai:

CGRect frame = view.frame;

Qui je peux accéder sans problème avec print frame commande en lldb. Cependant, lorsque j'essaie d'accéder au cadre de nouveau dans lldb, j'type print view.frame et obtenez l'erreur suivante:

error: property 'frame' not found on object of type 'UIView *'

Ce n'est pas logique que je puisse vérifier la view est un UIView* instance et a une propriété valide appelé frame en tapant po view et d'obtenir des résultats corrects:

(UIView *) $4 = 0x1e199bf0 <MyAppCustomView: 0x1e199bf0; frame = (3398 3396; 204 208); layer = <CALayer: 0x1e199ce0>>

Ce lldb d'erreur m'arrive beaucoup, et je ne pouvais pas trouver la cause de cette erreur. Quelqu'un a suggéré à La propriété 'count' ne trouve pas sur l'objet de type " NSMutableArray *' PO commande en lldb qu'on pourrait utiliser gdb que (gdb) p view.frame mais je suis error: '(gdb)' is not a valid command. et je soupçonne fortement qu'une commande gdb serait "le travail?" à l'intérieur d'un autre débogueur de toute façon.

Des suggestions ou des solutions de contournement pour ce bug qui se produit au hasard?

  • imprimer [afficher l'image]
  • déjà essayé: erreur: pas de méthode connue pour le 'cadre'; cast le message envoyé à la méthode type de retour de la
  • imprimer [(UIView*)voir l'image] ne fonctionne pas, soit
  • print (CGRect)[afficher l'image]
  • Cela arrive aussi à moi parfois.Dans ce cas, je viens de l'utiliser NSLog() ou l'attribuer à un temporairement objet/struct que je vais imprimer avec lldb.
  • c'est une solution de contournement, mais il n'est pas très pratique lorsque vous déboguez et ont besoin de la valeur d'une variable et que vous n'avez pas nslogged il.
  • Il semble que vous devez utiliser GDB au lieu de LLDB, voir ici: stackoverflow.com/questions/9515630/...