отладка плагина npapi

#javascript #plugins #google-chrome #npapi

#javascript #Плагины #google-chrome #npapi

Вопрос:

Какова наилучшая практика для отладки плагина npapi. В настоящее время я разрабатываю плагин с помощью nixysa. В настоящее время я отлаживаю печать промежуточных значений в файл журнала. Есть ли способ получше?

—Спасибо

Ответ №1:

Ну, я мог бы начать с намека на то, что первый лучший способ — использовать FireBreath вместо nixysa, но это было бы грубо и могло бы выдать мою предвзятость 😉 Серьезно, однако, в nixysa нет ничего плохого; Я рекомендую FireBreath просто потому, что он работает как в IE, так и в Windows и имеет гораздо больше исправлений и обходных путей, чтобы убедиться, что все работает на всех браузерах и платформах.

В FireBreath wiki есть много предложений по отладке плагинов в целом (например, по подключению к ним отладчиков), которые все довольно хорошо применимы к любому плагину NPAPI.

Получение подобных методов отладки, работающих в Linux, может быть особенно болезненным, поэтому в Linux я обычно больше склоняюсь к использованию платформы ведения журнала, такой как log4cplus.

У других может быть больше предложений, но, вероятно, было бы полезно, если бы мы точно знали, на какие платформы вы ориентируетесь; например, Chrome (я заметил этот тег в вопросе) поддерживает опцию —plugin-startup-dialog, которая неоценима для подключения к плагину перед его запуском из-за многопроцессорной природы плагинов в Chrome. В IE и Firefox есть опции отключения плагинов ООП (вне процесса), что упрощает подключение к ним.

Комментарии:

1. Спасибо за ваш совет. На самом деле это хобби-проект. Поэтому я больше концентрируюсь на функциональности, чем на ее адаптируемости к большему количеству браузеров. И плагин предназначен для Linux (как и я, большинство моих друзей используют Linux). Я попытаюсь взглянуть на FireBreath и log4cplus.

2. Что ж, FireBreath определенно проще в использовании, чем nixysa (IMO); главное преимущество, которое дает вам nixysa, заключается в том, что вы работаете на более низком уровне, поэтому, если вам нужна какая-то функция, которую FireBreath не поддерживает, было бы проще добавить ее. Тем не менее, FireBreath поддерживает большинство функций, которые вам понадобятся для большинства плагинов. Удачи! В Linux можно запустить отладку на уровне строки (запустите firefox с помощью -g, чтобы запустить ее в GDB), но у меня недостаточно опыта работы с разработчиками Linux, чтобы рассказать вам больше, чем это.