title: Native code - how to get function call stack (backtrace) programmatically
body: <p>I have C++ codebase running on Android, and want to have crash reports sent by users.</p>
  
  <p>I'm using <a href="https://code.google.com/p/acra" rel="nofollow noreferrer">ACRA library</a> which works fine for Java code, but when something crashes in native code, I don't get enough information. Actually I'd like to receive stack trace of native function calls. I know crash info is printed into logcat after my process ends, and I can configure ACRA to read/send logcat. I've setup my code to detect native crash using signal handlers and calling back to Java for reporting by ACRA. It works also fine.</p>
  
  <p>However there's bad timing with this approach - ACRA reads logs while crashing process is still alive, and Android (don't know exactly which part) writes crash report to logcat after crashed process completely ends. So I don't receive stack traces when using ACRA.</p>
  
  <p>So I'm looking for a way to programatically read current stack trace from C++ code, and feed this info to ACRA (or maybe other crash reporting tool) myself.</p>
  
  <p>All I need is some kind of this report written to logcat:</p>
  
  <pre><code>10-10 08:29:13.868: INFO/DEBUG(1121):          #00  pc 0003fc7c  /data/data/com.ex.lib/libapp.so
  10-10 08:29:13.891: INFO/DEBUG(1121):          #04  pc 00016df4  /system/lib/libdvm.so
  10-10 08:29:13.891: INFO/DEBUG(1121):          #05  pc 00045284  /system/lib/libdvm.so
  10-10 08:29:13.899: INFO/DEBUG(1121):          #15  pc 00047c56  /system/lib/libdvm.so
  10-10 08:29:13.922: INFO/DEBUG(1121):          #16  pc 00030e4c  /system/lib/libandroid_runtime.so
  </code></pre>
  
  <p>Is there any way to get this stack trace from my code?</p>