В консоли отладки можно получить строковое значение путем выполнения чего-то как:
(gdb) print (void)CFShow(myCFString)
или:
(gdb) po (NSString*)myCFString
Любой из тех отобразит содержание всей строки к консоли отладки. Это - вероятно, самый легкий способ иметь дело с большими, строками переменной длины или структурами данных любого вида.
Для получения дополнительной информации, эти print
команда в отладчике в основном выводит некоторую структуру данных к консоли. Можно также вызвать любые функции или что бы то ни было, но так как печать не имеет доступа к объявлениям функции, необходимо удостовериться, что Вы обеспечиваете их неявно (как показано в примере выше), или команда печати будет жаловаться.
po
ярлык для print-object
и совпадает с печатью за исключением объектов Objective C. Это в основном функционирует как это:
(gdb) print (const char *)[[theObject debugDescription] UTF8String]
Это действительно полезно для исследования вещей как NSData
объекты NSArray/NSDictionary и объект.
Для намного большей информации об отладке тем, см. Техническое примечание TN2124 - Mac OS X, Отлаживающий Волшебство , и (от консоли отладки) можно выпустить команду справки также.
Вам действительно нужно изменить настройки memcached, чтобы он не занимал столько памяти. Когда вы запускаете memcached, вы можете передать ему объем памяти, который он должен использовать, в мегабайтах, используя флаг -m
. Для получения информации см. его документацию .
flush
просто аннулирует все элементы в кэше, он не дает команду memcached для освобождения или резервирования памяти, которую он использует. Я сомневаюсь, что вы можете использовать команду memcached для освобождения памяти, которую он использует.
Колин, Команда Flush All приводит к тому, что кеш устанавливает текущее время истечения срока действия. Следующий запрос существующего ключа ничего не вернет, и запись будет удалена из кеша. Memcached не имеет отдельного процесса для очистки просроченных элементов и использует «ленивый» метод, который делает этот процесс очень легким и эффективным. Из-за этого, если вам действительно нужно удалить кеш и начать с нуля, единственный реальный способ сделать это - перезапустить Memcached. Долгим обходным путем было бы сбросить все ваши ключи, отправить команду «Очистить все», а затем перебрать каждый ключ, выполняющий get против него, в результате чего запись будет удалена. Не уверен на 100%, что этот метод сработает, но в теории звучит правдоподобно.
Попробуйте это
Mage :: app () -> getCacheInstance () -> getFrontend () -> getBackend () -> clean (Zend_Cache :: CLEANING_MODE_ALL);