原创 Linux下代碼閱讀編輯工具推薦

gvim+taglist+cscope 或者 emacs+cscope screen emacs vim global cscope

原创 通過ddms無法檢查的內存泄漏如何查

Ps找到對應的進程pid adb shell cat /proc/pid/smaps > d:smaps_data001.txt adb shell cat /proc/pid/smaps > d:sma

原创 利用shc加密生成可以在手機裏執行的程序

加密: 編譯生成shc可執行文件並轉換sh到c源文件 cd ~/buildsh/shc-3.8.9 make ./shc -r -f sample_r1.2.sh 搞一個arm-linux-gcc 4.4

原创 android模塊版本控制

模塊的makefile文件中都有下面的tag LOCAL_MODULE_TAGS:=user eng tests optional user:指該模塊只在user版本下才編譯 eng: 指該模塊只在eng版本下才編譯 tests:指該模塊

原创 內存泄漏調試-調Native Heap

  $ adb shell setprop libc.debug.malloc 1   $ adb shell stop   $ adb shell start Open C:\Users\ian\.an

原创 在win下svn環境中製作patch供linux下使用

我們可能有幾套工作環境 win+svn linux+git 或者類似上述交叉的組合 通常編譯的工程都在linux上 所有有時候會需要將windows下svn環境中的補丁製作成patch拿到linux下使用。 創建一個空文件夾svn_te

原创 黑屏或特殊情形下查看對應進程的棧和調用情況

在黑屏問題分析時,可以分2個類別: 1、adb可用 2、adb不可用 在adb不可用時,我們需要短接reset pin讓設備進入download mode,而後抓取完整的ram dump來進行後續分析。 在adb可用時,我們則可以先抓取a

原创 kernel內存泄漏的調試

 \boot\kernel\lib\Kconfig.debug  修改config DEBUG_KMEMLEAK_EARLY_LOG_SIZE中default 400爲4000,因爲400會泄漏,kern

原创 zram和swap

首先談下EMMC上做個swap分區,經驗:只會更差,速度會更差,試過這個方案後,睡眠喚醒後非常慢。 內存優化一般有幾個方向: 1) 具體內存消耗比較大的應用,存在泄漏的應用 2) 內存裁剪、資源優化、顯存

原创 notepad中文複製亂碼的問題

工具欄中:設置---->語言格式設置 選擇主題:Default(stylers.xml) 字體格式拉到最下面,選擇中文格式的字體,選擇自己習慣的格式。 我選擇了 字體:微軟雅黑   字體大小:10 同時勾選 使用全局字體,使用全局字體大

原创 低內存引起的死機和凍機的分析

Kernel處於LMK頻繁select進程去殺、但又找不到可以殺的進程的狀態中,因某個最合適的進程已被髮送SIGKILL。 在遍歷所有進程的時候,遍歷到倒數第二個進程的時候沒有問題,在遍歷最後一個進程的時候,如下代碼: if (tes

原创 編譯默認root的android的user版本

在adb.c裏面修改if (should_drop_privileges()),直接修改爲if(should_drop_privileges() < 0), 因爲默認user版本中should_drop_privileges() 返回值爲

原创 查看系統可分配連續內存大小

cat /proc/buddyinfo cat /proc/pagetypeinfo Free pages count per migrate type at order       0      1  

原创 android app不受build.prop中的dalvik heapsize限制

dalivik的heap配置一般在下述文件中: \frameworks\native\build\phone-mdpi-dalvik-heap.mk PRODUCT_PROPERTY_OVERRIDES += \    dalvik.

原创 Putty顯示中文

打開putty主程序,選擇window-〉Appearance-〉Font settings-〉Change...,選擇Fixedsys字體,字符集選擇CHINESE_GB2312。 在window-〉Appearance-〉Transl