Мне нужно отладить приложение Cocoa / Objective-C, в котором удалены символы. Я довольно хорошо разбираюсь в gdb и Objective-C. Обычно я использую такие инструменты, как otool или class-dump, чтобы узнать, что мне нужно, чтобы немного упростить отладку. Например, class-dump позволяет легко узнать, где во время выполнения находятся определенные методы.
У меня вопрос: могу ли я «помочь» GDB предоставить лучшую символьную информацию во время выполнения при просмотре трассировок? В следующей трассировке я знаю (с помощью дампа класса), какие все методы помечены как "??" являются. Было бы здорово, если бы я мог заставить GDB сделать это за меня.
Спасибо!
(gdb) bt
#0 0x960de54e in -[NSPersistentUIManager init] ()
#1 0x960de489 in __PersistentUIManager_block_invoke_1 ()
#2 0x9abd0693 in _NSFaultInObject ()
#3 0x960ad800 in +[NSPersistentUIManager sharedManager] ()
#4 0x961aefac in -[NSWindow _doOrderWindow:relativeTo:findKey:forCounter:force:isModal:] ()
#5 0x961aeefd in -[NSWindow orderWindow:relativeTo:] ()
#6 0x96238acc in -[NSWindow orderFront:] ()
#7 0x0000a032 in ?? ()
#8 0x9154bdaa in -[NSObject performSelector:] ()
#9 0x9154bd27 in -[NSSet makeObjectsPerformSelector:] ()
#10 0x960c16a7 in -[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:] ()
#11 0x960b744d in loadNib ()
#12 0x960b6834 in +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:] ()
#13 0x960b673e in +[NSBundle(NSNibLoading) loadNibFile:externalNameTable:withZone:] ()
#14 0x960b6672 in +[NSBundle(NSNibLoading) loadNibNamed:owner:] ()
#15 0x9633d6c7 in NSApplicationMain ()
#16 0x00002cc6 in ?? ()
#17 0x00002bed in ?? ()