如何在 android 中查看本机编译的 C 程序的堆栈跟踪?

How can I view the stack traces of a native compiled C program in android?

我使用 arm-linux-gnueabi-gcc -static -fno-stack-protector -fno-pie -march=armv7-a hello.c -o hello 为 arm v7 编译了一个 c 程序,并将二进制文件推送到 android 设备根目录中的 /data/local/hello。我能够 运行 使用 adb shell 的程序。但我的问题是如何调试程序,即如何查看程序计数器和此类信息?

尝试在远程模式下使用 gdb:https://source.android.com/devices/tech/debug/gdb 可能它已经工作了(过去有问题)。

您也可以尝试使用 Google Breakpad:https://github.com/google/breakpad/blob/master/README.ANDROID 它有时会起作用 :)