![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
手机debug
文章平均质量分 61
利明的博客
自古风云出我辈,一如江湖岁月催。
展开
-
Android手机gdb调试
众所周知,linux上gdb是一个功能非常非常强大的工具,纵然使用多年,回头一看,仍然觉得还是掌握了很小很小一部分的代码。android是基于linux的平台,所以google在android上开发了很多类linux的调试工具,如arm-linux-androideabi-gcc-ar, arm-linux-androideabi-gcc, arm-linux-androideabi-g++ 等等...原创 2018-11-06 13:58:04 · 6585 阅读 · 2 评论 -
C++中子类与父类的内存分别情况
1. unbunt上C++子类与父类内存的分别情况1.1 只有一个父类的情况1.1.1 上代码#include <stdio.h>class A {public: A() {}; ~A() {}; int a; int b;};class B : public A {public: ...原创 2018-11-02 14:05:47 · 2004 阅读 · 0 评论 -
常用android命令备忘录
1. 常用基本命令adb devices 查看当前挂载手机设备的信息adb root root userdebug版本的手机。adb remount 将 '/system' 目录改为可写入的模式,默认情况下 '/system' 部分是只读模式的。 这个命令只适用于已被 root 的设备, 即调用过 adb root之后。 注意,使用其他命令之前,最好先使用adb root和adb ...原创 2018-11-19 18:51:35 · 922 阅读 · 0 评论 -
使用调用栈来调试Android代码
Android代码流程比较复杂,单纯看代码很容易跟丢,如果能在对应位置增加调用栈函数,运行时,我们可以根据调用栈来退出安卓代码的调用流程,可以事半功倍。1、java代码java代码中加调用栈方法很简单,抛一个异常即可。import android.util.Log;Log.i(TAG, Log.getStackTraceString(new Throwable()));注意,有的jav...原创 2018-11-30 20:37:06 · 721 阅读 · 0 评论 -
Android上不可思议的MetaData::findInt32相关crash
Android上经常可以碰到一些不可思议的crash,初看没有什么思路,如果从持锁竞争角度来看,两个线程同时操作同一个变量,便会有不可思议的crash如:/system/lib/libc.so (abort+63) /system/lib/liblog.so (__android_log_assert+154) /system/lib/libstagefright_founda...原创 2018-12-12 20:08:37 · 1044 阅读 · 0 评论 -
常见NuPlayer错误log根因
1、 NuPlayerRenderer中 onDrainAudioQueue(): audio sink is not ready遇到情况是由于 AudioOutput::getPosition 返回err导致1.1 可能是由于 sp<MediaPlayerBase::AudioSink> mAudioSink 中的 mTrack 为 null当 NuPlayerDecoder ...原创 2019-01-22 17:17:02 · 1114 阅读 · 0 评论 -
[Android Video FrameWork] OMXNodeIntance中动态控制log的一种方法
从事此行业N年,遇到问题上去先是一通王八拳,能把问题打死,就继续找下一个问题的茬,如果打不死,就再打一套王八拳,直至打死问题为止。王八拳(不成体系的定位方法和手段)对付问题有效果,但是效率低,我的王八拳主要是:加log,编译,替库,运行,看log, 加log,编译,替库,运行,看log……运用这种磨豆腐的磨劲,磨死了好多问题,但 碰到流程套路深的框架和体系,这个效率实在实在是太低了,有...原创 2019-02-03 14:31:56 · 3213 阅读 · 3 评论