Erreur lldb + array
olof
Membre
'soir,
soit Xcode 4.5, sdk IOS6.
J'ai une classe qui a une propriété NSMutableArray dans laquelle j'ai mis un objet. Je mets un point d'arrêt dans cette classe. Dans ma fenêtre des variables, je vois quelque chose comme :
scores = (__NSArrayM *) 0x01245784 @1 object
Comme j'ai envie d'en savoir un peu plus sur cet objet, dans la console, je tape :
po [scores objectAtIndex:0]
Et lldb me répond :
J'ai rien trouvé sur Google... Des idées ?
Merci !
soit Xcode 4.5, sdk IOS6.
J'ai une classe qui a une propriété NSMutableArray dans laquelle j'ai mis un objet. Je mets un point d'arrêt dans cette classe. Dans ma fenêtre des variables, je vois quelque chose comme :
scores = (__NSArrayM *) 0x01245784 @1 object
Comme j'ai envie d'en savoir un peu plus sur cet objet, dans la console, je tape :
po [scores objectAtIndex:0]
Et lldb me répond :
<br />
Internal error [IRForTarget]: Couldn't rewrite external variable _ZZ51-[FGViewController($__lldb_category) $__lldb_expr:]E19$__lldb_expr_result<br />
error: Couldn't materialize struct: Structure hasn't been laid out yet<br />
J'ai rien trouvé sur Google... Des idées ?
Merci !
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
A chaque "step over", j'ai le même message.
Et si je veux afficher quelque chose :
Merci !!!!!
C'est un bug de Xcode ou de lldb, quoi.
En fait, ça ne me rassure pas vraiment... J'ai de la peine à croire qu'il s'agisse d'un bug Xcode ou lldb, sinon tout le monde aurait le même problème ! Ce que je fais dans ce projet est plus que trivial !!!
Est-ce que quelqu'un pourrait créer un projet basique comme le mien avec Xcode 4.5, ajouter quelques lignes de code comme je l'ai fait et poster son projet ? Histoire que je vois ce que ça donne sur ma machine ?
Merci !
Passe en GDB et tu pourras débugguer tranquile.
Je me suis un peu amusé à lire les sources de LLDB vu que j'avais du temps à perdre, et de ce que je comprend, __lldb_category serrait une variable globale que LLDB trouve dans l'environnement mais dont il n'arrive pas à retrouver la déclaration.
Je n'ai plus de machine pré SDK 5.1 mais à jouer les oracles, j'aurais tendance à dire qu'il manque un bout de LLDB dans l'environnement de débug iOS (au hasard PrivateFramework/LLDB.framework).
Si quelqu'un a une ancienne version d'Xcode juste pour me dire s'il est l'heure de dormir ou si ça va encore :-p
Question bête, il suffit de changer le "Complier for C/C++/Objective-C dans les Build Settings pour ne plus utiliser lldb ?
Ok, je vais annoncer le bug. Mais ce qui m'étonne quand même, c'est que je fais quelque chose de on ne peut plus standard qui génère ces problèmes, alors que je ne trouve rien sur le net ! Je ne suis quand même pas le seul à créer un nouveau projet et à vouloir le débugger ?!?!?!?
Là l'idée c'est de changé de débugueur pour passer de lldb à gdb, pas de changer de compilateur pour passer de llvm à gcc.
Cela se fait dans le Scheme : menu Product > Edit Scheme et quand tu choisis l'action "Run" (ou pour Test ça le propose aussi) dans l'onglet Info tu peux choisir l'exécutable à lancer, etc... et le débugueur à utiliser pour débuguer l'exécutable que tu lances.