2012-12-04 16 views
6

Attualmente sto lavorando su una semplice estensione per Firefox. Ora vorrei essere in grado di emettere alcuni comandi in una console nel contesto delle estensioni.Debug del codice di estensione in firefox (javascript debugger/venkman)

Ho installato l'addon Javascript Debugger (Venkman), ma seguendo le istruzioni:

  • deselezionare "escludere l'applicazione Files"
  • Scegli file e fare clic destro "Imposta come Evaluation oggetto"

non imposta mai il contesto, finisco sempre (o meglio sto) nel contesto venkman.xul.

vorrei passare a un altro debugger, ma finora non ha avuto fortuna con chromebug uno:

  • installato chromebug 1.08a2 e la congruenza Firebug
  • iniziato firefox con -chromebug -P dev (come un separato ' firefox 'per lo sviluppo)

quindi chromebug sulla propria finestra non mi permette di scegliere un contesto, in effetti non mostra nemmeno QUALSIASI contesto, tutti i pannelli sono disattivati.

Davvero non ho idea di dove cercare più e mi piacerebbe avere una soluzione. Per ora non ho nemmeno bisogno di tutte le funzioni di debugger "fantasiose" come l'impostazione dei punti di interruzione, basta emettere comandi a livello di Chrome.

risposta

12

Firefox ora ha un debugger integrato che rivale facilmente, e forse supera firebug, chromebug o venkman.

You need to enable (or create) 2 particular options in about:config per il debug estensione al lavoro:

devtools.chrome.enabled: true 
devtools.debugger.remote-enabled: true 

quindi fare clic sulla nuova voce "Browser Debugger" nel menu Web Developer. Anche la "Console del browser" è molto utile.

Il official documentation menziona che questo funzionerà da Firefox 19, ma in realtà sarà only work well on all extension code from Firefox 23 onwards. (Se provi prima che venga rilasciato Firefox 22, installa semplicemente the latest nightly build.)

Inoltre, se hai un valore di editing extension code directly, devi aggiornare Firefox per es. utilizzando la ricarica di tutte le estensioni chrome utilizzando the tips mentioned in this answer prima che il debugger elencherà il codice aggiornato.

Aggiornamento: Firefox V32 e in seguito ha integrato il supporto per il debugging restartless e SDK-based add-on. Come stated in Mozilla's documentation, il "debug remoto" di cui sopra ha ora una casella di controllo nelle impostazioni del riquadro Web Developer:

enter image description here

È quindi possibile andare alle componenti aggiuntivi -> scheda Estensioni e fare clic su "debug" a fianco del nome della tua estensione.

Problemi correlati