debug
AKeywordSE
74.125.205.147
展开
-
通过ddms无法检查的内存泄漏如何查
Ps找到对应的进程pid adb shell cat /proc/pid/smaps > d:smaps_data001.txt adb shell cat /proc/pid/smaps > d:smaps_data002.txt 比较这2个文件差异原创 2014-06-24 14:04:31 · 634 阅读 · 0 评论 -
高通平台采用gpu-mmu的时候发生显存耗完而整个系统内存尚有的情况导致crash和重启
原因在于kgsl_mmu.c中,定义了gpu使用的内存大小,7x30中限定了256MB,当显存耗光而内存尚剩余很多的时候就会发生问题:不能触发LMK或OOM来释放内存,而又没有显存可用,进而可能引起各进程watchdogtimeout,如果系统进程发生watchdogtimeout,会导致system serverrestart,而restart之后也不能释放gpu显存,会一直反复重启:原创 2014-06-26 08:35:16 · 2942 阅读 · 4 评论 -
android调试时候的堆栈打印
../boot/frameworks/native/libs/utils/CallStack.cpp的dump函数中的ALOGD打印改为ALOGE,并重编libutils.so 打印堆栈的文件里: #include CallStack stack; stack.update(); stack.dump();原创 2014-06-17 10:03:01 · 834 阅读 · 0 评论 -
内存泄漏调试-调Native Heap
$ adb shell setprop libc.debug.malloc 1 $ adb shell stop $ adb shell start Open C:\Users\ian\.android\ddms.cfg Add a line "native=true" 打开DDMS,点Native Heap标签,就可以Snapshot了原创 2014-07-09 10:15:23 · 1055 阅读 · 0 评论 -
kernel内存泄漏的调试
\boot\kernel\lib\Kconfig.debug 修改config DEBUG_KMEMLEAK_EARLY_LOG_SIZE中default 400为4000,因为400会泄漏,kernel调用log_early刚好401次,刚刚把400次耗光,导致log_early中满足crt_early_log >= ARRAY_SIZE(early_log)进而kmemleak_disab原创 2014-06-23 09:59:06 · 2077 阅读 · 0 评论 -
低内存引起的死机和冻机的分析
Kernel处于频繁杀进程的状态中原创 2014-07-14 12:31:49 · 874 阅读 · 0 评论