@ [जॉन Calsbeek]
तो यह लापता प्रतीकों के बारे में शिकायत।
(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.
मैं फाउंडेशन के लिए प्रतीकों लोड करने का प्रयास:
(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.
लेकिन फिर भी प्रयास विफल:
(gdb) p [(NSArray *)$esi count]
No symbol "NSArray" in current context.
वैसे भी, मैं कास्टिंग इस समस्या का समाधान है नहीं लगता है, आपको यह नहीं पता होना चाहिए कि संदेश भेजने में सक्षम होने के लिए यह किस प्रकार की वस्तु है। अजीब बात यह है कि मैं एक NSCFArray पाया मैं करने के लिए संदेश भेजने कोई समस्या नहीं है:
(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
इसलिए मुझे लगता है कि वस्तु मैं जांच कर रहा था ... या कुछ और के साथ एक समस्या थी।
आपकी मदद के लिए धन्यवाद!
नोट: रिवर्स इंजीनियरिंग विषयों का वर्णन करने के लिए [रिवर्सिंग] टैग का उपयोग नहीं किया जाना चाहिए; इसके बजाय [रिवर्स-इंजीनियरिंग] का उपयोग करें – user1354557