总结一下NDK crash排查步骤:

    1. 先在PC上跑通算法

      用Visual Studio写算法的testbed,确保算法能跑通
    1. 抓log
    adb logcat -c;
    adb logcat > 1.txt 2>&1

    然后开notepad++,打开1.txt

    1. 分析日志文件

      查找关键字fatal以及backtrace;

      使用addr2line等工具对backtrace结果进行进一步定位:参考这篇博客
    1. android studio开启ndk代码的调试

      应当基于cmake构建;

      没有算法核心源码也可以,只要是AS工程中的C++代码就能调;

      使用logcat等进行打印(lldb调试时鼠标移动到变量上很容易导致apk停止运行,why?);

      调试时的按钮怎么用?参考这篇
    1. 把源码放进AS,源码编译出库

      如果源文件名字过长,容易导致CMake编译单个文件失败(实际上是ndk里的clang编译失败),要改短;
    1. 其他方法

      固定ndk代码中的输入,用fread从sdcard读取,保证和PC端的输入一致。
    1. 检查并关闭fprintf(stderr, "...");,实测发现写到stderr会造成crash然后app自动重启。

总结一下NDK crash排查步骤的更多相关文章

  1. php不解析的排查步骤

    php不解析的排查步骤:1. /usr/local/apache2/bin/apachectl -M 看一下有没有加载libphp5.so2. 查看配置文件中是否有 AddType applicati ...

  2. 在Windows平台下Qt的exe报错问题排查步骤

    在Windows平台下Qt的exe报错问题排查步骤 工具介绍: 1. Dependency Worker Dependency Worker是一个免费的用具用来扫描任何的32bit 或者64bit 的 ...

  3. Kafka 0.8 宕机问题排查步骤

    CPU 利用率高的排查方法 看看该机器的连接数是不是比其他机器多,监听的端口数:netstat -anlp | wc -l Kafka-0.8的停止和启动 启动: cd /usr/local/kafk ...

  4. Openblas编译Android NDK库的步骤

    1.配置Android NDK编译工具.以下下载地址,直接放到浏览器中下载,不需要VPNlinux 32 bithttp://dl.google.com/android/ndk/android-ndk ...

  5. Lodop简短问答客户反馈篇 及排查步骤 及注册相关

    A.http下打印图片正常,https下打印图片是××.(有的客户端可以,有的不可以)重置ie浏览器试试.客户反馈:(和ie浏览器的设置有关)intenet选项--高级里,我调整为和能打印出图片的电脑 ...

  6. django表格form无法保存评论排查步骤

    初学django项目,在网上找了个blog教程,还是很不错的,这里感谢一下博主https://www.zmrenwu.com/post/2/ 这个项目适合django初学者,是一个完整的blog项目 ...

  7. Redis Desktop Manager无法连接虚拟机中启动的redis服务问题排查步骤

    Redis Desktop Manager下载地址 https://redisdesktop.com/download 安装好以后连接linux服务器上的Redis服务器错误: 问题排查: 1.检查R ...

  8. Linux云主机安全入侵排查步骤

    导语 经常有用户报障系统被植入恶意程序,如挖矿软件.ddos攻击病毒.syn映射攻击病毒等,可以按照以下流程为用户排查入侵病毒类型: 一.定位病毒进程 对于用户反馈云主机性能卡顿,CPU和内存占用较高 ...

  9. mysql innodb引擎 一次线上死锁分析排查步骤

    我们的线上erp系统一天使用人员反映部分数据死活保存不上而且页面操作很慢.开始以为操作数据量大的原因, 后来查看了我们线上的glowroot系统,发现slowtrace中有超长时间的访问,点开查看详情 ...

随机推荐

  1. ThinkPhp5 数据迁移(think-migration)

    ThinkPhp5 数据迁移(think-migration)   在thinkphp5中提供了数据迁移工具(think-migration),它是机遇phinx开发(文档地址:http://docs ...

  2. http 1.1 状态码定义

    part of Hypertext Transfer Protocol -- HTTP/1.1RFC 2616 Fielding, et al. 10 Status Code Definitions ...

  3. 深度相机Astra Pro测试教程

    最近在微信群内,很多群友在群友的推荐下,购买了Astra pro的深度相机,价格地道,物超所值!群友反馈积极,所以这里出一波简单的教程.   以下内容知识抛砖引玉,主要讲解windows下和Ubunt ...

  4. SVM – 回归

    SVM的算法是很versatile的,在回归领域SVM同样十分出色的.而且和SVC类似,SVR的原理也是基于支持向量(来绘制辅助线),只不过在分类领域,支持向量是最靠近超平面的点,在回归领域,支持向量 ...

  5. Nginx打印json日志

    1.修改配置,在http{}中添加 log_format access_json '{"@timestamp":"$time_iso8601",' '" ...

  6. java拼接字符串、格式化字符串方式

    1.代码 //+ String arg0 = "Bob"; String arg1 = "Alice"; System.out.println("he ...

  7. 【记录】【mysql】的REPLACE()用法

    操作前数据 操作 UPDATE `test_replace` SET PASSWORD ') WHERE id REPLACE(PASSWORD, '1', '77')意思就是password中的1替 ...

  8. 前端与编译原理 用js去运行js代码 js2run

    # 前端与编译原理 用js去运行js代码 js2run 前端与编译原理似乎相隔甚远,各种热门的框架都学不过来,那能顾及到这么多底层呢,前端开发者们似乎对编译原理的影响仅仅是"抽象语法树&qu ...

  9. GitBook的使用

    首先安装gitbook npm install -g gitbook-cli 检查是否安装成功 gitbook -V 然后就要建立一个文件夹进到文件夹目录下 让此文件夹初始化下 gitbook ini ...

  10. 网格搜索与K近邻中更多的超参数

    目录 网格搜索与K近邻中更多的超参数 一.knn网格搜索超参寻优 二.更多距离的定义 1.向量空间余弦相似度 2.调整余弦相似度 3.皮尔森相关系数 4.杰卡德相似系数 网格搜索与K近邻中更多的超参数 ...