总结一下NDK crash排查步骤
总结一下NDK crash排查步骤:
- 先在PC上跑通算法
用Visual Studio写算法的testbed,确保算法能跑通
- 先在PC上跑通算法
- 抓log
adb logcat -c;
adb logcat > 1.txt 2>&1
然后开notepad++,打开1.txt
- 分析日志文件
查找关键字fatal以及backtrace;
使用addr2line等工具对backtrace结果进行进一步定位:参考这篇博客
- 分析日志文件
- android studio开启ndk代码的调试
应当基于cmake构建;
没有算法核心源码也可以,只要是AS工程中的C++代码就能调;
使用logcat等进行打印(lldb调试时鼠标移动到变量上很容易导致apk停止运行,why?);
调试时的按钮怎么用?参考这篇
- android studio开启ndk代码的调试
- 把源码放进AS,源码编译出库
如果源文件名字过长,容易导致CMake编译单个文件失败(实际上是ndk里的clang编译失败),要改短;
- 把源码放进AS,源码编译出库
- 其他方法
固定ndk代码中的输入,用fread从sdcard读取,保证和PC端的输入一致。
- 其他方法
- 检查并关闭
fprintf(stderr, "...");
,实测发现写到stderr会造成crash然后app自动重启。
- 检查并关闭
总结一下NDK crash排查步骤的更多相关文章
- php不解析的排查步骤
php不解析的排查步骤:1. /usr/local/apache2/bin/apachectl -M 看一下有没有加载libphp5.so2. 查看配置文件中是否有 AddType applicati ...
- 在Windows平台下Qt的exe报错问题排查步骤
在Windows平台下Qt的exe报错问题排查步骤 工具介绍: 1. Dependency Worker Dependency Worker是一个免费的用具用来扫描任何的32bit 或者64bit 的 ...
- Kafka 0.8 宕机问题排查步骤
CPU 利用率高的排查方法 看看该机器的连接数是不是比其他机器多,监听的端口数:netstat -anlp | wc -l Kafka-0.8的停止和启动 启动: cd /usr/local/kafk ...
- Openblas编译Android NDK库的步骤
1.配置Android NDK编译工具.以下下载地址,直接放到浏览器中下载,不需要VPNlinux 32 bithttp://dl.google.com/android/ndk/android-ndk ...
- Lodop简短问答客户反馈篇 及排查步骤 及注册相关
A.http下打印图片正常,https下打印图片是××.(有的客户端可以,有的不可以)重置ie浏览器试试.客户反馈:(和ie浏览器的设置有关)intenet选项--高级里,我调整为和能打印出图片的电脑 ...
- django表格form无法保存评论排查步骤
初学django项目,在网上找了个blog教程,还是很不错的,这里感谢一下博主https://www.zmrenwu.com/post/2/ 这个项目适合django初学者,是一个完整的blog项目 ...
- Redis Desktop Manager无法连接虚拟机中启动的redis服务问题排查步骤
Redis Desktop Manager下载地址 https://redisdesktop.com/download 安装好以后连接linux服务器上的Redis服务器错误: 问题排查: 1.检查R ...
- Linux云主机安全入侵排查步骤
导语 经常有用户报障系统被植入恶意程序,如挖矿软件.ddos攻击病毒.syn映射攻击病毒等,可以按照以下流程为用户排查入侵病毒类型: 一.定位病毒进程 对于用户反馈云主机性能卡顿,CPU和内存占用较高 ...
- mysql innodb引擎 一次线上死锁分析排查步骤
我们的线上erp系统一天使用人员反映部分数据死活保存不上而且页面操作很慢.开始以为操作数据量大的原因, 后来查看了我们线上的glowroot系统,发现slowtrace中有超长时间的访问,点开查看详情 ...
随机推荐
- VC 获取系统特殊文件夹的路径如:系统目录,桌面等
转载:https://blog.csdn.net/qq_23992597/article/details/50963343 如果需要,请在StdAfx.h中添加 #include <shlobj ...
- [整理] linux ubuntu 服务器键盘设置错误 完美解决
根据 原文来源:https://blog.csdn.net/mingjie1212/article/details/48525095 进行修改. 使用命令 dpkg-reconfigure keybo ...
- RAC升级后,一个节点无法连接数据库,报ORA-12537: TNS:connection closed
RAC从11.2.0.3升级到11.2.0.4后,一个节点的Public IP.VIP无法连接数据库 SQL> CONN SYS/oracle@192.168.122.101:1521/pplu ...
- 使用Port Forwarding连接k8s集群的pod(redis、mysql等)
一. 创建Redis的deployment和service 1. 创建Redis deployment redis-master-deployment.yaml apiVersion: apps/v ...
- 【漫谈数据仓库】 如何优雅地设计数据分层 ODS DW DM层级
转载http://bigdata.51cto.com/art/201710/554810.htm 一.文章主题 本文主要讲解数据仓库的一个重要环节:如何设计数据分层!其它关于数据仓库的内容可参考之前的 ...
- Celery-管理与监控
1. 监控和管理Workers 1.1 将celery实例放入shell [root@node2 app]# celery -A tasks shell Python 3.6.5 (default, ...
- spring boot使用AOP统一处理web请求
为了保证服务的高可用,及时发现问题,迅速解决问题,为应用添加log是必不可少的. 但是随着项目的增大,方法增多,每个方法加单独加日志处理会有很多冗余 那在SpringBoot项目中如何统一的处理Web ...
- Git 配置环境
安装 在Fedora/CentOS下安装 $ sudo yum install git 在Debian/Ubuntu Linux下载安装 $ sudo apt-get install git Wind ...
- P4Merge的使用
(官网: https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge 可以作为一个stand alone app ...
- java对象池化技术
https://blog.csdn.net/tiane5hao/article/details/85957840 文章目录 先写一个简单通用的对象池 通过上面的通用池实现jedis连接池 连接池测试 ...