Самый быстрый способ отладить дополнения Firefox во время разработки

Per android.util.Log предоставляет способ включить / отключить журнал:

public static native boolean isLoggable(String tag, int level);

По умолчанию метод isLoggable (...) возвращает false, только после того, как вы настроили setprop в устройстве следующим образом:

adb shell setprop log.tag.MyAppTag DEBUG

Это означает, что любой журнал выше уровня DEBUG можно распечатать. Справочная документация для Android:

Проверяет, регистрируется ли журнал для указанного тега на указанном уровне. Уровень по умолчанию для любого тега установлен на INFO. Это означает, что любой уровень выше, включая INFO, будет зарегистрирован. Прежде чем делать какие-либо вызовы метода регистрации, вы должны проверить, должен ли ваш тег регистрироваться. Вы можете изменить уровень по умолчанию, установив системное свойство: 'setprop log.tag. «Где уровень - VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERT или SUPPRESS. SUPPRESS отключит все записи для вашего тега. Вы также можете создать файл local.prop со следующим: «log.tag. =» И поместить его в /data/local.prop.

.

Таким образом, мы могли бы использовать custom log util:

public final class Dlog 
{
    public static void v(String tag, String msg)
    {
        if (Log.isLoggable(tag, Log.VERBOSE))
            Log.v(tag, msg);
    }

    public static void d(String tag, String msg)
    {
        if (Log.isLoggable(tag, Log.DEBUG))
            Log.d(tag, msg);
    }

    public static void i(String tag, String msg)
    {
        if (Log.isLoggable(tag, Log.INFO))
            Log.i(tag, msg);
    }

    public static void w(String tag, String msg)
    {
        if (Log.isLoggable(tag, Log.WARN))
            Log.w(tag, msg);
    }

    public static void e(String tag, String msg)
    {
        if (Log.isLoggable(tag, Log.ERROR))
            Log.e(tag, msg);
    }
}
38
задан Robinicks 3 July 2009 в 04:33
поделиться

4 ответа

Вам нужно найти папку своего профиля . Как только вы его найдете, перейдите в папку с названием «extension», а затем найдите папку для надстройки, над которой вы работаете. Замените эту папку файлом с тем же именем (за вычетом .xpi , если это часть имени), а внутри файла поместите полный путь к исходному каталогу надстройки.

В Linux и Mac это будет выглядеть так:

/full/path/to/yourExtension/

И в Windows:

C:\full\path\to\yourExtension\

Запомните конечную косую черту и остерегайтесь лишних пробелов.

Если вы не используете файлы jar внутри своего добавления -on, вам больше не нужно будет перестраивать ( более подробно это описано здесь ).

Кроме того, вы захотите установить nglayout.debug.disable_xul_cache к истине. Для редактирования файлов xul или js вы: Вам просто нужно будет открыть новое окно, чтобы увидеть ваши изменения, вместо того, чтобы перезапускать приложение. Здесь есть другие настройки, , которые также могут оказаться полезными.

Дополнительные советы:

  • Запуск firefox с определенным профилем (dev), в то время как другой профиль firefox открыт и отладчик уже включен :

    "C: \ Program Files (x86) \ Mozilla Firefox \ firefox.exe" -no-remote -P dev -jsconsole

  • Ознакомьтесь с дополнением перезапуска (экономит время).

48
ответ дан 27 November 2019 в 03:38
поделиться

Я использую Netbeans с плагином Foxbeans для разработки аддонов, там вы просто нажимаете кнопку «запустить», и firefox запускается с установленным аддоном (в тестовый профиль). может тебе стоит попробовать!

5
ответ дан 27 November 2019 в 03:38
поделиться

You need the "edit source" and "restart firefox" steps; they can't be removed from the process...

When you install the addon, the javascript ends up on disk, in your firefox profile. If you edit it in there, and restart firefox, the new stuff will be picked up. When you're done, create the xpi from the files in your profile.

4
ответ дан 27 November 2019 в 03:38
поделиться

http://simplygenius.com/2005/08/debugging-firefox-mozilla-extensions_25.html содержит хорошее описание отладки расширений FF в venkman

3
ответ дан 27 November 2019 в 03:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: