
ART
green369258
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2017新年,开篇
2017新年,开篇新年,新开始Android 摸爬滚打已经(2014.05 — 2017.1)有小三年,回顾过去,搞过手机Multimedia,Frameworks问题排查,和15年风口上的VR(Virtual Reality),效力的东家还是除了暴风之外一个视频巨头(可以联想很多很多)。只是什么都略懂一些,没有拳头,用小说里武林人士说法就是各种杂牌武功练了一遍,还是武林中的一名小卒子,需要找个深山原创 2017-01-10 18:47:20 · 344 阅读 · 0 评论 -
JVM基本概念
编译相关 英文缩写 英文全称 中文 AOT Ahead Of Time 静态编译器 JIT Just In Time 动态编译器 PGO Profile-Guided Optimization 通俗的说就是基于动态信息的激进优化Java调试相关IBM Developerworks 介绍调试相关的好文章 英文缩写 英文全称 中文 JDWA原创 2017-01-10 19:26:42 · 407 阅读 · 0 评论 -
gdb 系列(1) (hwbreakpoint\watchpoint)
1. 软硬件环境android 7.0(n) QCOM 骁龙8202. 背景我最初是因为要做一件类似这样的事情的时候才研究这个的 art debug过程中我们发现 经常有SIGSEGV的问题,而且是死在java 代码里(art 已经使用dexoat把java code compile 成了机器码) 几经分析发现是在对象的method里执行的时候this指针被改了,导致了取对象的一些成员的时候出原创 2017-02-18 20:43:34 · 8194 阅读 · 3 评论 -
linux 虚拟内存地址转化成物理内存地址
背景 现代手机这种SOC(system on chip),因为功耗、Modem等功能soc上集成了很多core,他们还可以是独立的系统在运转。 比如ADSP简介ADSP(Application Digital Signal Processing)就是高通的Hexagon DSP ,就是独立运转的一个core+system。这样做不仅可以使用soc上的专用核处理专业的事情,比如上面说的ADSP就可原创 2017-01-23 16:04:15 · 1308 阅读 · 0 评论 -
基础(可执行文件elf)
因为oat本身就是一个elf文件,所以进行一些2进制问题分析的时候还是需要一些基础知识字节序 // 小端口诀: 高高低低 -> 高字节在高地址, 低字节在低地址 // 大端口诀: 高低低高 -> 高字节在低地址, 低字节在高地址 // 1.小端法(Little-Endian)就是低位字节排放在内存的低地址端即该值的起始地址,高位字节排放在内存的高地址端。 // 2.大端法(Big-Endi原创 2017-01-24 10:44:59 · 402 阅读 · 0 评论 -
android memory
查看内存工具有 dumpsys meminfo procrank procmem ps topVSS ( 等同于 ps 命令列出的 VSZ) 是单个进程全部可访问的地址空间。 其大小包括可能还尚未在内存中驻留的部分。比如地址空间已经被 malloc 分配,但是还没有实际写入。 对于确定单个进程实际内存使用大小, VSS 用处不大。RSS 是单个进程实际占用的内存大小。 RSS 易被原创 2017-01-25 18:25:24 · 321 阅读 · 0 评论 -
gdb 系列(2) (build&debug gdb)
为什么要debug上文我们提到的,1.很多时候你对一些ptrace系统调用为什么错误很感兴趣,这里面首要的问题就是在错误的时候错误码是什么?当然你可以在kernel里面打印,不过不经济,如果你不是深入调查这个错误的原因2.如果我自己实现一个类似gdb的东西那么我应该怎么传递ptrace参数,比如attach一个pid3.我想查看一些gdb工作原理,比如breakpoint是怎么工作的这些都原创 2017-02-20 18:14:27 · 480 阅读 · 0 评论 -
android bionic linker debug enable
Linker—android里面的加载器ld这类的基础库要想调试基本上gdb是派不上用场的,最好用的还是printf,这里的printf是个泛指 android 的调试基本上都是通过logcat 输出的,当然你也可以自己打开一个文件写,不过那样子会带来各种权限问题,阻止的让你崩溃!Linker 的debug 主要靠printf 分为三个档#define PRINT(x...)原创 2017-08-04 18:58:42 · 1222 阅读 · 0 评论 -
openjdk 初试(build)
下载我使用的环境是 ubuntu 16.04 基本上属于ubuntu 的最新版本所以建议下载openjdk的最新开发分支的代码 否则会有个中问题的 下载链接 http://openjdk.java.net/projects/jdk8u/ openjdk使用了hg作为版本控制的工具hg clone http://hg.openjdk.java.net/jdk8u/jdk8ucd jdk8u原创 2017-12-29 18:39:40 · 1493 阅读 · 0 评论