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 WebIDE, 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 a 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.