原创 fd泄漏檢測

一.摘要 我們在分析fd泄漏問題的時候一般的通用方法是在/proc/pid/fd下不斷的ls -al | wc -l統計fd數量,並且查看哪個fd不斷的增多,然後再去代碼中排查對應的代碼,有時候光看fd並不容易找到泄漏的地方。本文章將介紹

原创 native內存泄漏分析

一.摘要     我們在分析內存泄漏時java內存泄漏我們可以集成LeakCanary來進行監控,出現問題時會打印出泄漏時的引用關係,那麼我們native內存泄漏時如何分析呢?native內存泄漏我們可以通過malloc_debug工具來

原创 droid.io下載地址

客戶端: https://github.com/jgraph/drawio-desktop/releases   網頁版: https://app.diagrams.net/

原创 adb tcp工具

平時我們調試有時需要使用到tcp來遠程連接手機,每次輸入一堆命令實在太麻煩,寫了個腳本: #!/usr/bin/env python #coding=utf-8 # owner:penzhicai import sys import o

原创 native 解析死鎖方法

一. 概述     我們平時在分析system_server watchdog問題時有時候會遇到一些native層的死鎖問題,正常情況下我們是把所有可疑的線程調用棧全部通過symbols找到可以的死鎖線程,這個方法比較耗費體力和腦力。這篇

原创 CL-200A串口通信

一.進入串口模式 1.cl-200a關機,開關撥向“O”端 2.hold on鍵彈出 3.同時按下SET/CALL/CF,並且開關撥向“I”端,這時候會進入USB模式   二.CL-200A通信命令 模式 命令 PC conne

原创 Sensor記錄日誌導致的亮屏慢問題分析

一. 問題描述 1.1 現象       手機解鎖卡頓 1.2 結論     diag記錄數據慢導致系統卡頓 二. 問題分析 2.1日誌分析     在大量的日誌中發現Slow Looper的日誌,都是DisplayPowerContr

原创 git push失敗問題

最近提交代碼時老報錯: pzc@pzc-ThinkPad-E480:~/giteework/Android_ZL_YJ$ git push fatal: unable to access 'https://gitee.com/water_

原创 Android.bp條件編譯

一.概要     我們修改代碼的時候經常會有一些共線的機器,我們只想進指定的機器或者指定的分支,在Android.mk中可以直接使用if來做判斷,但是到了Android.bp中就無法在bp文件中使用條件編譯了,本文將教會你怎麼讓bp文件也

原创 ubtuntu chrome代理設置出錯導致無法使用

今天遇到ubtuntu chrome瀏覽器無法使用,由於代理設置有問題導致 百度了一波,總結一下解決辦法 1.安裝sudo apt-get install gksu 2.終端運行 gksu nautilus 命令 3.在跳出的窗口,按 c

原创 註冊Sensor後的第一筆數據

一.概要   二 .上層     三.底層   四.常見問題 1.註冊sensor後爲什麼有時候不報數據? 2.sensor的第一筆數據什麼時候上報?   五.總結

原创 android穩定性學習路線

一.JAVA crash 1.JAVA crash原理 2.常見的JAVA crash介紹 3.空指針異常分析技巧 4.多線程處理異常分析技巧 5.主動拋異常分析技巧 二.NATIVE crash 1.NATIVE crash原理 2.常

原创 Sensor-sensor日誌

一.摘要     在一些傳感器異常的問題中我們常常需要看最近的sensor日誌,那麼我們可以通過dumpsys sensorservice來看最近sensor上報的數據。 二.日誌的初始化已經記錄     我們在SensorService

原创 App收集Native Crash案例

由於一直都在做android系統相關的工作,獲取native crash日誌文件比較方便,只要發生native crash我們直接去/data/tombstones下找就行了,然後找到當天系統的symbols文件,再配合addr2line

原创 子系統Sensor模塊代碼入口

一.配置文件       這裏向系統註冊了sns_register_tmd3702方法,該模塊第一個被調用的方法是sns_register_tmd3702。 sns_tmd3702.scons if 'USES_SSC_STATIC_L