青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

++wythern++

X presents Y for a better Z

【轉】Android 調試技術

原文鏈接:
http://www.bobbog.com/archives/19


Android 調試技術

by bob

一、JAVA層單步調試

參見“用eclipse單步調試Laucher
參見“用eclipse編譯調試adnroid的Browser

二、Native層單步調試

參見“使用GDB 單步調試Android本地代碼

三、JAVA層堆棧打印

1. 在指定的函數內打印相關java調用

Log.d(TAG,Log.getStackTraceString(new Throwable()));

2. 普通JAVA進程堆棧

ActivityManagerService.dumpStackTraces

保存在系統設置dalvik.vm.stack-trace-file指定的文件data/anr/traces.txt中。可以包含多個進程堆棧信息。

3. 內核進程堆棧

dumpKernelStackTraces,該函數為私有函數,不可調用。
代碼在frameworks/base/services/java/com/android/server/Watchdog.java
保存在系統設置dalvik.vm.stack-trace-file指定的文件data/anr/traces.txt中。

4. 出異常時打印當前堆棧

Exception::printStackTrace()

try {  ... } catch (RemoteException e) {   e.printStackTrace();   ... }

5. 輸出指定進程的堆棧

Process.sendSignal(pid, Process.SIGNAL_QUIT)

保存在data/anr/traces.txt。
這個只對java進程有效,由dalvikvm的SignalCatcher.c處理。

四、Native層堆棧打印

1. CallStack

使用方式:

#include <utils/CallStack.h> ... CallStack stack; stack.update(); stack.dump("");  // the parameter is prefix of dump

在使用之前需要修改system/core/include/arch/linux-arm/AndroidConfig.h

#define HAVE_DLADDR 1 #define HAVE_CXXABI 1

并在文件frameworks/base/libs/utils/Android.mk中大約105行(LOCAL_SHARED_LIBRARIES)后添加

ifeq ($(TARGET_OS),linux) LOCAL_SHARED_LIBRARIES += libdl endif

重新編譯,push生成的libutils.so到/system/lib/目錄下,重啟設備。

五、JAVA異常分析

這個android會輸出信息到logcat。容易分析。

六、Natvie異常分析

native進程異常會導致
debuggerd會輸出信息到logcat并保存到/data/tombstones。
可以修改system/core/debuggerd/debuggerd.c中dump_stack_and_code的代碼滿足更深的調試信息需求。

七、日志Log系統

在java中使用

import android.util.Log; ... Log.d(TAG,"log info");

在Native代碼中使用

#define LOG_TAG "YOUR_LOGTAG" ... #include <utils/Log.h> #define LOG_NDEBUG 0 ... LOGD("log info");

或者

Log.d(LOG_TAG,“log info”);

使用adb logcat時可以只顯示特定類別的LOG,還可以通過參數 -v threadtime 顯示線程號及時間信息。
普通標準輸出轉為Logcat

#system/bin/logwrapper 進程名

八、其他調試手段(命令行)

1. 打印指定JAVA進程的堆棧到文件中

#kill -3 pid

這里的3就是3.5節的Process.SIGNAL_QUIT。
輸出在data/anr/traces.txt文件中。
這個只對java進程有效,由dalvikvm處理。

2. 打印指定進程的堆棧到Logcat

#kill -11 pid 或者 #kill -7 pid

這個有時有效。其原理是利用了(六)節的機制。
可以用adb logcat看堆棧調用輸出。

3. 打印指定進程的系統調用

#strace -f -p pid -o output

主要輸出文件、SOCKET、鎖等系統操作的信息。
-f表示跟蹤所有子進程.
-o輸出log到指定文件,可不用。

posted on 2012-04-16 19:02 wythern 閱讀(5695) 評論(0)  編輯 收藏 引用

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美一区二区黄色| 久久综合伊人77777蜜臀| 亚洲美女精品成人在线视频| 亚洲一区二区三区精品在线| 每日更新成人在线视频| 一区二区久久久久久| 欧美成人a视频| 国产有码在线一区二区视频| 亚洲欧美精品在线观看| 亚洲欧洲在线免费| 久久激情视频久久| 国产精品一区毛片| 亚洲女与黑人做爰| 亚洲伦理在线| 欧美精品福利| 亚洲精品免费一二三区| 嫩草国产精品入口| 鲁大师成人一区二区三区 | 1769国产精品| 久久久999国产| 性色av香蕉一区二区| 国产老肥熟一区二区三区| 午夜视频一区二区| 亚洲免费视频网站| 国产三级欧美三级| 久久夜色精品国产欧美乱| 欧美一区二区视频在线| 国产专区精品视频| 老巨人导航500精品| 久久一二三区| 亚洲美女诱惑| 正在播放欧美视频| 国产乱码精品一区二区三区不卡| 欧美一区激情视频在线观看| 香蕉久久a毛片| 亚洲电影第1页| 亚洲国产综合91精品麻豆| 欧美日韩爆操| 午夜国产不卡在线观看视频| 午夜亚洲性色福利视频| 影音先锋亚洲电影| 久久精选视频| 免费亚洲电影在线| 亚洲欧美在线高清| 久久不射中文字幕| 亚洲国产天堂久久综合网| 亚洲精品乱码视频| 国产精品系列在线播放| 最新69国产成人精品视频免费| 国产精品99一区| 亚洲大胆人体在线| 国产精品久久久久久久一区探花 | 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲国产一区二区三区青草影视| 亚洲国产日韩欧美在线动漫| 欧美日精品一区视频| 欧美一区二区免费视频| 久久亚洲欧美| 亚洲图片自拍偷拍| 久久尤物电影视频在线观看| 一区二区三区欧美在线| 欧美在线观看视频| 国内不卡一区二区三区| 亚洲狠狠丁香婷婷综合久久久| 国产精品一区视频网站| 亚洲国产欧美精品| 国产一区二区成人久久免费影院| 亚洲国产精品精华液2区45| 国产精品久线观看视频| 欧美激情欧美激情在线五月| 国产精品日韩一区二区| 亚洲欧洲精品一区| 激情自拍一区| 亚洲欧美日本精品| 亚洲天堂成人| 免费试看一区| 久久精品国产99国产精品| 欧美精品在欧美一区二区少妇| 久久国产夜色精品鲁鲁99| 欧美日韩国产首页| 亚洲第一久久影院| 在线观看不卡av| 午夜在线视频观看日韩17c| 亚洲高清久久网| 欧美一区二区三区免费在线看| 一本久久综合亚洲鲁鲁五月天| 久久久久国产精品麻豆ai换脸| 亚洲图片在线| 欧美午夜一区二区福利视频| 亚洲国产精品99久久久久久久久| 国内不卡一区二区三区| 篠田优中文在线播放第一区| 亚洲午夜高清视频| 亚洲一区二区三区色| 这里只有精品视频在线| 欧美大片国产精品| 亚洲国产91| 亚洲欧洲精品一区二区三区| 久久亚裔精品欧美| 亚洲欧洲日韩综合二区| 一区二区三区福利| 亚洲黄色在线| 一区二区三区在线高清| 国产精品一区二区在线观看网站 | 一本一道久久综合狠狠老精东影业| 国产精品一区二区视频| 在线日韩视频| 国产亚洲精品高潮| 免费在线观看日韩欧美| 乱中年女人伦av一区二区| 另类激情亚洲| 亚洲国产裸拍裸体视频在线观看乱了中文| 久久精品亚洲精品国产欧美kt∨| 久久久亚洲精品一区二区三区 | 欧美制服丝袜第一页| 久久免费少妇高潮久久精品99| 激情丁香综合| 欧美高清在线播放| 夜夜嗨av一区二区三区| 久久国产66| 亚洲国产日韩在线| 欧美视频中文在线看| 午夜免费日韩视频| 亚洲电影第1页| 亚洲欧美制服中文字幕| 极品中文字幕一区| 欧美精品aa| 欧美一区二区三区成人| 欧美成人小视频| 亚洲一区二区三区国产| 一区在线播放| 欧美日韩一区二区免费在线观看 | 国产精品五区| 亚洲国产精品一区二区久| 一区二区欧美日韩| 欧美揉bbbbb揉bbbbb| 亚洲国产精品成人综合| 欧美一区二区在线观看| 国内精品久久久久国产盗摄免费观看完整版 | 久久在精品线影院精品国产| 在线精品视频一区二区| 欧美成人高清视频| 日韩一区二区精品视频| 亚洲精品自在在线观看| 国产色视频一区| 老牛嫩草一区二区三区日本| 亚洲激情自拍| 欧美在线观看一区二区| 国产精品美女视频网站| 欧美91视频| 一区二区三区色| 欧美在线影院| 亚洲电影免费观看高清完整版| 久久九九热re6这里有精品| 一区二区激情小说| 91久久中文字幕| 欧美在线免费一级片| 欧美高清hd18日本| 欧美另类在线播放| 影音国产精品| 久久综合久色欧美综合狠狠| 美国十次了思思久久精品导航| 中文av一区特黄| 国产精品二区影院| 亚洲一区二区三区四区五区黄 | 欧美偷拍另类| 亚洲在线中文字幕| 亚洲国语精品自产拍在线观看| 亚洲午夜91| 亚洲国产合集| 国产亚洲人成a一在线v站| 欧美男人的天堂| 欧美剧在线免费观看网站| 欧美一进一出视频| 亚洲精品1234| 美女精品网站| 欧美一区二区三区日韩| 午夜国产不卡在线观看视频| 日韩一级精品视频在线观看| 狠狠狠色丁香婷婷综合久久五月 | 亚洲激情视频在线播放| 欧美国产精品中文字幕| 久久精品国产亚洲5555| 亚洲私人影院| 亚洲精选大片| 亚洲国产欧美不卡在线观看| 亚洲国产欧美一区二区三区同亚洲| 国产日产亚洲精品系列| 国产精品久久久久一区| 欧美日韩伦理在线免费| 亚洲欧美一区二区原创| 久久久99国产精品免费| 香蕉久久国产| 欧美一级片久久久久久久| 国产精品99久久久久久久久久久久| 亚洲私拍自拍| 亚洲一区网站| 午夜精品影院| 性色av一区二区三区红粉影视| 久久综合久久美利坚合众国|