Ответ 1
В консоли отладки вы можете получить значение строки, выполнив что-то вроде:
(gdb) print (void)CFShow(myCFString)
или
(gdb) po (NSString*)myCFString
Either of those will display the entire string contents to the debugging console. It probably the easiest way to deal with large, variable-length strings or data structures of any kind.
For more information, the print
команда в отладчике в основном сбрасывает некоторую структуру данных на консоль. Вы также можете вызывать любые функции или что-то еще, но поскольку печать не имеет доступа к объявлениям функций, вы должны убедиться, что вы предоставляете их неявно (как показано в примере выше), или команда печати будет жаловаться.
po
является ярлыком для print-object
и является тем же самым, что и печать, кроме объектов Objective-C. Он в основном работает следующим образом:
(gdb) print (const char *)[[theObject debugDescription] UTF8String]
This is really useful for examining things like NSData
и объекты NSArray/NSDictionary.
Для получения более подробной информации по темам отладки см. Техническая нота TN2124 - Mac отладка Mac OS X и (с консоли отладчика) вы можете введите команду справки.