Отладка и тестирование генератора
Беглый взгляд дает разработчикам некоторые средства для отладки и тестирования их кода генератора. Следующие разделы описывают те средства, и предлагает некоторые стратегии и уведомление для отладки и тестирования генераторов.
Средства отладки
Поскольку генератор является плагином и не является автономной исполнимой программой, отлаживание его могло быть проблематичным, если бы Вас оставили самостоятельно. К счастью, Беглый взгляд дает Вам способ отладить код генератора легко: qlmanage
инструмент диагностики (установленный в /usr/bin
). qlmanage
выполняет генератор Вашего проекта в почти том же виде среды как демон Беглого взгляда (quicklookd
) делает. Можно выполнить этот инструмент как исполнимую программу проекта и путем указания определенных параметров, можно продвинуться через генератор, кодируют и видят, как это обрабатывает предварительные просмотры и миниатюры.
Для установки проекта Беглого взгляда для отладки завершите следующие шаги:
Выберите New Custom Executable из Меню проектов.
В Окне помощника введите «qlmanage» как исполнимое имя. В Исполнимом Поле трактов указывают полный путь к инструменту:
/usr/bin/qlmanage
Нажмите Finish для увольнения Ассистента.
Окно Executable Info появляется для
qlmanage
, как показано на рисунке 10-1. Щелкните по вкладке Arguments.В области Arguments окна Executable Info (рисунок 10-2) вводят один или несколько параметров отладки в таблицу Arguments.
qlmanage
инструмент берет следующие параметры:Флаг
Значение
Описание
-p
Абсолютный путь к документу
Предварительный просмотр запросов указанного документа
-t
Абсолютный путь к документу
Миниатюра запросов указанного документа.
-r
Ни один
Сброс
quicklookd
и кэш генератора клиента Беглого взгляда-m
Ни один
Информация о печати о
quicklookd
действия, включая список обнаруженных генераторов-h
Ни один
Распечатывает краткое описание опций
Можно также работать qlmanage
инструмент из командной строки. Следующий пример запрашивает миниатюру указанного документа:
qlmanage -t /tmp/MySketchDoc.sketch2 |
Этот пример выводит на экран предварительный просмотр для определенного документа:
qlmanage -p /tmp/MySketchDoc.sketch2 |
-m
опция для qlmanage
полезно, поскольку это распечатывает (к стандартному выводу) отчет от демона Беглого взгляда на состоянии генератора тока.
Вывод Listing 10-1 Sample qlmanage -m
2007-04-05 17:00:46.998 qlmanage[1190:d03] Server statistics: |
server: living for 21s (9 requests handled) |
memory used: 10 MB (10551296 bytes) |
last burst: during 0s - 1 requests - 0s idle |
plugins: |
com.apple.ichat.ichat -> /System/Library/QuickLook/iChat.qlgenerator |
com.apple.safari.bookmark -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Bookmark.qlgenerator |
com.apple.sketch1 -> /Library/QuickLook/QuickLookSketch.qlgenerator |
public.rtf -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Text.qlgenerator |
public.audio -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Audio.qlgenerator |
com.apple.dashboard-widget -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/StandardBundles.qlgenerator |
com.apple.rtfd -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Text.qlgenerator |
com.microsoft.word.doc -> /System/Library/QuickLook/Office.qlgenerator |
com.apple.addressbook.person -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Contact.qlgenerator |
public.plain-text -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Text.qlgenerator |
com.apple.quartz-composer-composition -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Movie.qlgenerator |
public.xml -> /Library/QuickLook/QuickLookSweet.qlgenerator |
com.apple.eventmanager.events -> /Library/QuickLook/WebViewQLPlugin.qlgenerator |
com.apple.sketch2 -> /Library/QuickLook/QuickLookSketch.qlgenerator |
com.apple.package -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Package.qlgenerator |
com.apple.ical.bookmark -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/iCal.qlgenerator |
com.adobe.pdf -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/PDF.qlgenerator |
public.font -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Font.qlgenerator |
com.apple.mail.emlx -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Mail.qlgenerator |
com.microsoft.excel.xls -> /System/Library/QuickLook/Office.qlgenerator |
com.apple.eventmanager.eventsbin -> /Library/QuickLook/WebViewQLPlugin.qlgenerator |
com.apple.mail.email -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Mail.qlgenerator |
com.apple.ical.ics -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/iCal.qlgenerator |
com.apple.systempreference.prefpane -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/StandardBundles.qlgenerator |
com.apple.safari.history -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Bookmark.qlgenerator |
public.html -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Web.qlgenerator |
com.apple.eventmanager.eventsq -> /Library/QuickLook/WebViewQLPlugin.qlgenerator |
com.apple.addressbook.group -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Contact.qlgenerator |
public.movie -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Movie.qlgenerator |
com.apple.application -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/StandardBundles.qlgenerator |
com.apple.ichat.transcript -> /System/Library/QuickLook/iChat.qlgenerator |
com.apple.ical.bookmark.todo -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/iCal.qlgenerator |
public.vcard -> /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Contact.qlgenerator |
generators change detected: NO |
Как только Вы установили свой проект генератора Беглого взгляда для отладки, укажите точки останова в своем коде, измените конфигурацию сборки, чтобы Отладить, и выбрать Build и Debug из меню Debug.
Инструменты тестирования и стратегии
После того, как Ваш генератор, кажется, без ошибки, можно протестировать его далее, чтобы определить, должно ли что-либо еще быть улучшено. Скопируйте генератор в комплект приложений или в одно из стандартных расположений файловой системы для генераторов Беглого взгляда. Испытайте свой генератор с различными клиентскими приложениями (Средство поиска, Центр внимания, Машина времени, и т.д). Используя qlmanage
как исполнимая программа (см. Средства отладки) можно протестировать генератор, чтобы видеть, как он обрабатывает миниатюры и предварительные просмотры. Предварительный просмотр силы - или генерация миниатюры путем закрытия окна Finder или Spotlight и видит, как хорошо отвечает генератор.
Кроме того, проверьте свой генератор, чтобы видеть, как хорошо он выполняет; если занимает больше времени, чем две секунды генерировать предварительный просмотр, то необходимо близко исследовать код для обнаружения, где Вы могли улучшить производительность.
Как средство тестированию или даже отладке, можно установить QLEnableLogging
пользовательское значение по умолчанию в командной строке:
defaults write -g QLEnableLogging YES |
После выполнения этого Беглый взгляд распечатывает сообщения журнала, показывающие его действие, такой как, какие генераторы это загружает и для каких документов это запрашивает предварительные просмотры и миниатюры. Вот демонстрационное сообщение журнала:
2006-12-15 11:18:16.839 quicklookd[26260:3b03] [QL] Thumbnailing /Users/jalon/Documents/PreviewableDocuments/Test5.sketch2. Content type UTI: com.apple.sketch2. Generator used: <QLGenerator /Library/QuickLook/quicklooksketch.qlgenerator> |