This is an archived page. It's not actively maintained.

Debugging on Firefox OS

There are two main types of debugging you'll want to with Firefox OS: debugging apps, and debugging other aspects of the system. This section of the site provides articles covering the different tools at your disposal to debug your Firefox OS code.

Debugging apps

When debugging your web apps, the best tool at your disposal is Mozilla's powerful App Manager, which allows you to run your apps directly on a real device or simulator, update any changes instantly, and debug them directly on the device using Mozilla's excellent developer tools. This should be your first choice, especially for app/Gaia debugging.

Using WebIDE
The WebIDE is the replacement for the App Manager. Like the App Manager, it enables you to run and debug Firefox OS apps using the Firefox OS Simulator or a real Firefox OS device. However, it also provides an editing environment for you to create and develop apps.
Using the App Manager
The App Manager is a new tool available in Firefox for Desktop, which provides a number of useful tools to help you test, deploy and debug HTML5 web apps on Firefox OS phones and the Firefox OS Simulator, directly from your browser.
Debugging out of memory errors on Firefox OS
This article describes how B2G's multiprocess architecture affects what the phone does when we run out of memory, and how to understand and debug OOM crashes.

Debugging Gaia/B2G

If you want to debug code from the Gaia apps suite or B2G itself, the following tools will be of use to you.

Debugging using the desktop B2G client
You can use the dedicated B2G desktop application (and associated tools) to debug multiple aspects of B2G and Gaia.
Firefox OS crash reporting
This page details how to handle crash reporting on Firefox OS, including retrieving crash reports, and forcing crashes.
Debugging B2G using gdb
The popular gdb debugger can be used to debug Firefox OS and web apps running on a device, or on an emulator. This guide will show you how it's done.
Debugging B2G using Valgrind
Valgrind gives developers access to information about memory allocations, threads, and other information important to performance. This guide shows how to run Valgrind either on desktop B2G or select phone hardware.
Getting NSPR logs in B2G
You can use NSPR logs to record HTTP and other networking.
Debugging OpenGL
How to debug OpenGL code on Firefox OS.

General setup and information

The following articles provide information on individual aspects of setup for Firefox OS development. The chances are that you won't need these, especially if you are just debugging apps using the App Manager. But we have made them available here in case you do.

Developer settings for Firefox OS
There are a number of settings options available for developers on Firefox OS. This guide explains what they do and how to take advantage of them.
Installing and using ADB
Many aspects of Firefox OS development require installation of adb, the Android Debug Bridge. This article explains how to do that, and shares some common useful ADB commands.
On-device console logging
How to log to console on a Firefox OS device, and how to access the resulting logs for review on your computer.
Connecting a Firefox OS device to the desktop
This short guide explains how to set up your Firefox OS device and your desktop so that the desktop can communicate with the device over USB.
Setting up to debug Firefox OS code
Before you can begin using most of the tools integrated into Firefox for debugging code running under Firefox OS, you need to do a little configuration work. This article explains what you need to do.