<html><body><pre>Android ndk-stack tool
----------------------

Introduction:
-------------

This document describes the 'ndk-stack' tool that is distributed with
the Android NDK, since release r6.

Overview:
---------

'ndk-stack' is a simple tool that allows you to filter stack traces as they
appear in the output of 'adb logcat' and replace any address inside a shared
library with the corresponding <source-file>:<line-number> values.

In a nutshell, it will translate something like:

    I/DEBUG   (   31): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    I/DEBUG   (   31): Build fingerprint: 'generic/google_sdk/generic/:2.2/FRF91/43546:eng/test-keys'
    I/DEBUG   (   31): pid: 351, tid: 351  %gt;%gt;%gt; /data/local/ndk-tests/crasher &lt;&lt;&lt;
    I/DEBUG   (   31): signal 11 (SIGSEGV), fault addr 0d9f00d8
    I/DEBUG   (   31):  r0 0000af88  r1 0000a008  r2 baadf00d  r3 0d9f00d8
    I/DEBUG   (   31):  r4 00000004  r5 0000a008  r6 0000af88  r7 00013c44
    I/DEBUG   (   31):  r8 00000000  r9 00000000  10 00000000  fp 00000000
    I/DEBUG   (   31):  ip 0000959c  sp be956cc8  lr 00008403  pc 0000841e  cpsr 60000030
    I/DEBUG   (   31):          #00  pc 0000841e  /data/local/ndk-tests/crasher
    I/DEBUG   (   31):          #01  pc 000083fe  /data/local/ndk-tests/crasher
    I/DEBUG   (   31):          #02  pc 000083f6  /data/local/ndk-tests/crasher
    I/DEBUG   (   31):          #03  pc 000191ac  /system/lib/libc.so
    I/DEBUG   (   31):          #04  pc 000083ea  /data/local/ndk-tests/crasher
    I/DEBUG   (   31):          #05  pc 00008458  /data/local/ndk-tests/crasher
    I/DEBUG   (   31):          #06  pc 0000d362  /system/lib/libc.so
    I/DEBUG   (   31):

Into the more readable output:

    ********** Crash dump: **********
    Build fingerprint: 'generic/google_sdk/generic/:2.2/FRF91/43546:eng/test-keys'
    pid: 351, tid: 351  &gt;&gt;&gt; /data/local/ndk-tests/crasher &lt;&lt;&lt;
    signal 11 (SIGSEGV), fault addr 0d9f00d8
    Stack frame #00  pc 0000841e  /data/local/ndk-tests/crasher : Routine zoo in /tmp/foo/crasher/jni/zoo.c:13
    Stack frame #01  pc 000083fe  /data/local/ndk-tests/crasher : Routine bar in /tmp/foo/crasher/jni/bar.c:5
    Stack frame #02  pc 000083f6  /data/local/ndk-tests/crasher : Routine my_comparison in /tmp/foo/crasher/jni/foo.c:9
    Stack frame #03  pc 000191ac  /system/lib/libc.so
    Stack frame #04  pc 000083ea  /data/local/ndk-tests/crasher : Routine foo in /tmp/foo/crasher/jni/foo.c:14
    Stack frame #05  pc 00008458  /data/local/ndk-tests/crasher : Routine main in /tmp/foo/crasher/jni/main.c:19
    Stack frame #06  pc 0000d362  /system/lib/libc.so

Usage:
------

To do this, you will first need a directory containing symbolic versions of your
application's shared libraries. If you use the NDK build system (i.e. ndk-build),
then these are always located under $PROJECT_PATH/obj/local/&lt;ab&gt;, where
&lt;ab&gt; stands for your device's ABI (i.e. 'armeabi' by default).

You can feed the logcat text either as direct input to the program, e.g.:

   adb logcat | $NDK/ndk-stack -sym $PROJECT_PATH/obj/local/armeabi

Or you can use the -dump option to specify the logcat as an input file, e.g.:

   adb logcat &gt; /tmp/foo.txt
   $NDK/ndk-stack -sym $PROJECT_PATH/obj/local/armeabi -dump foo.txt


** IMPORTANT **:

  The tool looks for the initial line containing starts in the logcat output,
  i.e. something that looks like:

    *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

  When copy/pasting traces, don't forget this line from the traces, or
  ndk-stack won't work correctly.

TODO:
-----

A future version of 'ndk-stack' will try to launch 'adb logcat' and select the
library path automatically. For now, you'll have to do these steps manually.

As of now, ndk-stack doesn't handle libraries that don't have debug information
in them. It may be useful to try to detect the nearest function entry point to
a given PC address (e.g. as in the libc.so example above).

</pre></body></html>
