Подтвердить что ты не робот

Отладчик XCode: отображает длинные строки

При отладке программы в XCode у меня есть несколько переменных CFStringRef, которые указывают на строки с длиной около 200 символов.

В отладчике он показывает только значение этих строк до определенной длины, а затем просто отбрасывает их. Мне бы очень хотелось увидеть полное значение строк.

Есть ли какая-то опция, которую я могу настроить, чтобы она не прерывала их на произвольной длине?

4b9b3361

Ответ 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 и (с консоли отладчика) вы можете введите команду справки.

Ответ 2

Если вы компилируете проект С++ в xcode, просто используйте эту команду

po string_name