zoukankan      html  css  js  c++  java
  • 总结一下NDK crash排查步骤

    总结一下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自动重启。
  • 相关阅读:
    冲刺第九天
    冲刺第八天
    寻找小水王
    冲刺第七天
    冲刺第六天
    冲刺第五天
    寻找水王程序二
    学习进度条(第十二周)
    寻找水王程序一
    学习进度条(第十一周)
  • 原文地址:https://www.cnblogs.com/zjutzz/p/10878371.html
Copyright © 2011-2022 走看看