@ [John Calsbeek]
Ensuite, il se plaint de symboles manquants.
(gdb) p (NSUInteger)[(NSObject*)$esi retainCount]
No symbol table is loaded. Use the "file" command.
(gdb) p [(NSArray *)$esi count]
No symbol "NSArray" in current context.
J'ai essayé de charger les symboles pour la Fondation:
(gdb) add-symbol-file /System/Library/Frameworks/Foundation.framework/Foundation
add symbol table from file "/System/Library/Frameworks/Foundation.framework/Foundation"? (y or n) y
Reading symbols from /System/Library/Frameworks/Foundation.framework/Foundation...done.
mais toujours pas de chance:
(gdb) p [(NSArray *)$esi count]
No symbol "NSArray" in current context.
Quoi qu'il en soit, je ne pense pas que la coulée est la solution à ce problème, vous ne devriez pas avoir à connaître le type d'objet pour pouvoir lui envoyer des messages. La chose étrange est que je l'ai trouvé un NSCFArray je n'ai aucun problème d'envoyer des messages à:
(gdb) p $eax
$11 = 367589056
(gdb) po $eax
<NSCFArray 0x15e8f6c0>(
file://localhost/Users/ask/Documents/composing-fractals.pdf
)
(gdb) p (int)[$eax retainCount]
$12 = 1
donc je suppose qu'il y avait un problème avec l'objet que j'enquêtais ... ou quelque chose.
Merci pour votre aide!
Remarque: La balise [inversion] ne doit pas être utilisée pour décrire des sujets de reverse engineering; utiliser [reverse-engineering] à la place – user1354557