最近协助分析了一个audioserver crash的问题,堆栈如下: 从堆栈上能看出来是在getDeviceForInputSource方法里面出现了空指针导致奔溃。如果可...
最近协助分析了一个audioserver crash的问题,堆栈如下: 从堆栈上能看出来是在getDeviceForInputSource方法里面出现了空指针导致奔溃。如果可...
今天测试报了一个问题说我们都某个应用从top命令看cpu占用到了百分之90几,这种问题要怎么分析呢? 首先adb连接上去之后用logcat | grep 应用进程pid查看看...
最近的项目里面需要对UVC摄像头进行操控,简单的了解了下相关的知识。 首先UVC全称为USB video(device) class,是微软与另外几家设备厂商联合推出的为US...
SONAME缺失 前几天遇到了个比较诡异的链接问题,分析下来感觉挺有意思的。 背景是我们导入了供应商给的几个so,编译成功之后在机器上运行出现链接报错: libcjson.s...
最近协助同事交叉编译openssl,整理了下知识点准备出个交叉编译的入门教程。其实多年前写过一篇写给安卓程序员的C/C++编译入门[https://www.jianshu.c...
之前的一篇笔记<Windows Dump文件分析>[https://www.jianshu.com/p/08e5508454bd]介绍了应用dump的生成方式和调试手法,有稍...
之前的Android热更新实践[https://www.jianshu.com/p/7cf0f1419498]里面使用替换默认ClassLoader的方式实现了热修复,但偶然...
最近做的音视频项目里面需要深入到hdmi的硬件实现去定位问题,于是大概学习了一下hdmi的硬件知识,这里总结下做个简单入门。 hdmi是啥我就不说了直接看看它的针脚定义,后面...
年前和组内的小伙伴讨论过一个需求的RRO实现方案。我其实之前对RRO也只是处于大概了解的程度,并没有实际去操作过,趁着过年这段时间有空也写了个demo实际验证了下。 由于官方...
前段时间遇到个蛮有意思的bug,趁着春节有空刨根问底记录下来。 背景是我们有个调试工具运行在安卓机器上用于局域网内远程调试机器,其实就是用nanohttpd[https://...
dump文件获取 Windows上处理程序crash的问题可以通过分析dump文件来定位问题。那怎么拿到dump文件呢?有几种方式可以获取。 注册表配置dump文件生成目录 ...
今天突然接到bug说系统ota之后必现无法使用并且重启无法恢复,从日志上看个上个月往项目里面导入了热更新[https://www.jianshu.com/p/7cf0f141...
最近的c++项目里面需要使用配置文件配置的值去决定运行时具体实例化的类。如果是java或者kotlin直接使用反射去创建就好,但是c++里没有类似的东西所以只能通过一些取巧的...
前段时间一个小工具使用往ClassLoader的DexPathList的Element数组前面插入热修复dex[https://blog.islinjw.cn/2023/09...
为了方便讲解我们写了一个小工具,支持把java的链式调用代码入去执行,它的核心调用逻辑如下: 假设我们我们实现上面三行代码的功能,可以先写一个最简单的解析调用空参数列表方法的...
奇怪的ANR 今天遇到了个很有意思的anr问题, 应用出现了anr: 但是trace文件里面没有任何堆栈: 从日志上过滤进程pid可以看到正在正常的执行任务,还没有执行完就被...
之前写过一篇ClassLoader的笔记[https://www.jianshu.com/p/17e79728a788]介绍了如何用ClassLoader去加载外部dex包,...
最近在windows上开发音视频,遇到了读流卡死的问题.定位过程中学到了一些Windows上的程序调试技巧,这里记录一下。 WinDbg查看线程堆栈 最近的这个项目使用ffm...
最近支援C++兄弟的项目里面有在windows下发送模拟按键的需求,整个功能做下来发现了不少的坑,这里记录下来。 首先Windows上发送模拟按键可以用SendInput[h...