Android 本机崩溃调试符号

Android native crash debug symbols

我是本机级别调试的新手 Android。所以,我需要一些帮助。假设我有一个使用某些本地库的应用程序。有时,该应用程序会在本机代码处崩溃,我有崩溃的 logcat 和墓碑。但正如我在其他地方看到的那样,我需要调试符号来将 backtrace/memory 位置转换为错误代码的确切行。我在哪里可以找到这些调试符号。我有设备的 ROM、设备本身、.so 文件的代码。但崩溃是随机发生的,因此无法在 java 级别应用调试点。那么,谁能指导我在哪里可以找到这些调试符号(在 ROM/phone 内)?

调试符号放置在 .so 文件中,这些文件可以在 obj/local/<target_arch>/ 目录中找到。请注意,这些 .so 与打包到 apk 中的不同。前者是包含机器代码和调试信息的完整二进制文件,后者是准备部署的剥离二进制文件,仅包含机器代码。

此外,NDK 有一个名为 ndk-stack 的实用工具,可帮助将原始崩溃跟踪转换为更有用的 : 表示。有关详细信息,请参阅 here