Отладчик XCode: отображать длинные строки - PullRequest
28 голосов
/ 10 февраля 2009

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

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

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

Ответы [ 2 ]

32 голосов
/ 10 февраля 2009

В консоли отладки вы можете получить строковое значение, выполнив что-то вроде:

(gdb) print (void)CFShow(myCFString)

или

Команда

(gdb) po (NSString*)myCFString</p> </blockquote> <p>Either of those will display the entire string's contents to the debugging console. It's probably the easiest way to deal with large, variable-length strings or data structures of any kind.</p> <p>For more information, the <code>print в отладчике в основном выводит некоторую структуру данных на консоль. Вы также можете вызывать любые функции или что угодно, но так как print не имеет доступа к объявлениям функций, вы должны убедиться, что вы предоставили их неявно (как показано в примере выше), иначе команда print будет выдавать жалобу.

po является ярлыком для print-object и аналогичен print, за исключением объектов Objective-C. В основном это работает так:

(gdb) print (const char *)[[theObject debugDescription] UTF8String]</p> </blockquote> <p>This is really useful for examining things like <code>NSData объект и NSArray / NSDictionary объекты.

Для получения дополнительной информации по темам отладки см. Техническое примечание TN2124 - Магия отладки Mac OS X , а также (из консоли отладчика) можно также выполнить команду help .

1 голос
/ 18 июля 2017

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

po имя_строки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...