Crashes & ANR section of google play developer console provides this kind of feedback when native code crashes on user's device:
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: '...'
Revision: '...'
ABI: 'arm'
pid: ...., tid: ...., name: .... >>> com.package <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
<registers>
backtrace:
#00 pc 003ba9be /data/app/com.package/lib/arm/libx.so (sl_setVolumeSound(unsigned int, float)+105)
#01 pc 003b9db7 /data/app/com.package/lib/arm/libx.so (Audio::setVolumeSound(unsigned int, float)+106)
so far, so good. But how could one determine a source code line out of bytecode offset(?), such as +105 for the sl_setVolumeSound function in the sample output above?
I would especially appreciate a solution which would work completely in macosx command line, with no IDEs engaged.
ndk-stack
is specially suited for this purpose. Note, that to get it working you need a non-stripped versions of your native libraries. More details here.