文章目录
一、错误描述
有时候在开发NDK的时候,会出现一些native的crash,直接闪退。但是又不知道如何定位到底是cpp哪一行代码出错了。这里介绍下如何通过addr2line来定位出错代码的位置。
1.1 写一段有错误代码

出错代码如下:
80行 // 故意制造出crash:除零异常
81行 int i=0;
82行 int j=1
本文介绍了在Android Studio的NDK开发中,如何利用addr2line和ndk-stack工具来定位出错代码的位置。当遇到native crash时,通过错误日志和PC寄存器值,使用addr2line可以确定出错的文件和行号。当addr2line出现乱码或无法定位时,可能是因为so文件被strip处理,需要找到未strip的so配合addr2line。此外,ndk-stack提供了一种更简单的堆栈轨迹转换方法,便于调试。
有时候在开发NDK的时候,会出现一些native的crash,直接闪退。但是又不知道如何定位到底是cpp哪一行代码出错了。这里介绍下如何通过addr2line来定位出错代码的位置。

出错代码如下:
80行 // 故意制造出crash:除零异常
81行 int i=0;
82行 int j=1
1445
1417
1121
9443

被折叠的 条评论
为什么被折叠?