Mobile/debug on maemo

DISCLAIMER

This guide is intended for developers who want to debug and/or profile applications running under maemo (either directly on the device, or from inside maemo). Though its main goal is to eventually be able to debug fennec on the device, it should still come in handy for debugging just about anything running under maemo.

The device that was used was Nokia's N810.
The covered maemo distributions in this guide are the following:

  • chinook
  • diablo

There's no guarantee herein. Deception and misfortune could still arise from following these steps, as they're based on a setup that could differ from yours.

CHOOSE YOUR MAEMO

First thing we need to do before debugging some app under maemo is choosing our preferred maemo distribution and SDK. Normally, one should always choose the latest stable distribution, but sometimes, various tools may be unavailable or in an unstable state. That was the case when first writing this document : the various profiling tools provided with the diablo distribution (e.g. oprofile) were very unstable and not-so-compatible with the associated binutils tools from the associated scratchbox SDK. that's why the whole step-by-step process is presented for Chinook and Diablo.

INSTALL AND SETUP

The various steps presented hereafter are based upon the assumption that you have installed the maemo 4.0.1 scratchbox SDK on your desktop with an additional target using the arm2007q3 toolchain, as described in Mobile/Build/cs2007q3. At this point, you should find at least those 2 targets in scratchbox:

  1. CHINOOK_ARMEL
  2. CHINOOK_ARMEL_2007

chinook with older arm2005q3-toolchain

chinook with recent arm2007q3-toolchain

diablo with built-in arm2007q3-toolchain

DEBUG AND PROFILE