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

++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>
            米奇777在线欧美播放| 日韩一级片网址| 欧美.日韩.国产.一区.二区| 久久精品道一区二区三区| 亚洲伊人第一页| 亚洲一区综合| 久久疯狂做爰流白浆xx| 久久九九热re6这里有精品| 久久综合久久综合九色| 欧美激情一区二区在线| 欧美婷婷久久| 一区二区三区视频在线| 欧美在线黄色| 欧美剧在线免费观看网站| 欧美日韩综合一区| 国内精品视频666| 亚洲精品一区二区三| 新片速递亚洲合集欧美合集| 久久久美女艺术照精彩视频福利播放| 免费在线欧美黄色| 一区二区高清视频在线观看| 久久精品日韩| 欧美无砖砖区免费| 永久555www成人免费| 亚洲宅男天堂在线观看无病毒| 久久久精品日韩欧美| 日韩一级裸体免费视频| 久久美女性网| 国产精品三级久久久久久电影| 亚洲东热激情| 久久国内精品自在自线400部| 亚洲黄页一区| 一区二区日韩免费看| 久久国产精品毛片| 国产亚洲精品久久久| 亚洲久久一区| 久久人人爽爽爽人久久久| 亚洲美女一区| 另类亚洲自拍| 国产午夜亚洲精品理论片色戒| 亚洲精品午夜精品| 可以看av的网站久久看| 亚洲综合视频一区| 欧美三区美女| 日韩视频二区| 欧美超级免费视 在线| 亚洲一级一区| 欧美日韩裸体免费视频| 亚洲区欧美区| 欧美黄色免费| 久热精品在线视频| 国模精品娜娜一二三区| 欧美中日韩免费视频| 亚洲性图久久| 国产精品一区二区久久久久| 亚洲在线观看视频网站| 亚洲人体影院| 欧美精品成人| 在线亚洲一区观看| 9人人澡人人爽人人精品| 欧美日本一区二区高清播放视频| 亚洲高清在线视频| 欧美激情精品久久久久| 免费在线观看成人av| 欧美在线播放视频| 亚洲免费福利视频| 日韩亚洲欧美一区| 欧美午夜精品久久久久久孕妇| 一本一本久久a久久精品牛牛影视| 亚洲国产精品久久久久婷婷884| 牛牛精品成人免费视频| 在线一区二区视频| 亚洲私人影院| 国产色产综合产在线视频| 久久天堂成人| 欧美黄色成人网| 亚洲视频图片小说| 亚洲欧美视频在线观看| 激情小说另类小说亚洲欧美| 欧美激情网友自拍| 欧美视频免费在线观看| 久久久999| 欧美高清视频| 性欧美大战久久久久久久免费观看| 午夜免费电影一区在线观看| 在线电影欧美日韩一区二区私密| 亚洲成色www8888| 欧美午夜在线观看| 久久综合久久久久88| 欧美久久电影| 久久成人av少妇免费| 免费视频最近日韩| 亚洲欧美日韩成人| 看片网站欧美日韩| 国产精品欧美风情| 又紧又大又爽精品一区二区| 亚洲日韩欧美视频一区| 国产精品三区www17con| 欧美成人蜜桃| 国产欧美日韩视频一区二区| 欧美搞黄网站| 国产欧美日韩一级| 亚洲精品自在久久| 伊人狠狠色丁香综合尤物| 亚洲美女在线看| 在线观看欧美成人| 亚洲欧美综合国产精品一区| 亚洲精品乱码久久久久久按摩观| 亚洲天堂黄色| 亚洲激情成人| 久久久久国内| 欧美一区二区啪啪| 欧美精品一区二区三区蜜桃| 老司机午夜免费精品视频 | 免费影视亚洲| 国产精品影院在线观看| 亚洲精品久久视频| 亚洲成人在线| 欧美在线视频一区二区三区| 亚洲天堂成人在线视频| 亚洲一卡久久| 亚洲国产另类 国产精品国产免费| 亚洲欧美视频在线观看| 亚洲私人影吧| 欧美美女喷水视频| 亚洲第一视频网站| 亚洲第一主播视频| 久久精品国产一区二区三| 亚洲欧美日韩国产成人精品影院| 欧美剧在线观看| 亚洲欧洲日产国码二区| 亚洲人在线视频| 欧美成人免费在线视频| 欧美激情一级片一区二区| 亚洲电影免费观看高清| 久久久久久久精| 免费黄网站欧美| 亚洲国产成人tv| 欧美jizz19hd性欧美| 亚洲国产精品毛片| 亚洲黄网站黄| 欧美黄污视频| 亚洲人成人77777线观看| 亚洲欧洲一区二区在线观看| 蘑菇福利视频一区播放| 免费观看亚洲视频大全| 亚洲电影免费在线| 嫩草成人www欧美| 欧美激情1区2区| 亚洲乱码国产乱码精品精| 欧美久久综合| 亚洲欧美日韩电影| 久久综合五月| 99国产精品一区| 欧美影院一区| 国产在线视频欧美| 美女尤物久久精品| 亚洲精品久久久久久久久久久久 | 国产亚洲美州欧州综合国| 欧美亚洲自偷自偷| 欧美本精品男人aⅴ天堂| 亚洲毛片av| 国产精品美女黄网| 久久国产视频网站| 亚洲国产精品一区二区第一页| 一本大道久久a久久综合婷婷| 国产精品久久久久久久久久免费看 | 91久久亚洲| 欧美日韩在线视频一区二区| 午夜精品短视频| 亚洲国产精品免费| 久久成人免费视频| 日韩视频二区| 红桃av永久久久| 欧美另类视频| 久久久久综合一区二区三区| 欧美一级片久久久久久久| 国产亚洲精品激情久久| 欧美激情综合在线| 欧美在线黄色| 制服诱惑一区二区| 欧美国产一区视频在线观看| 午夜精品av| 日韩亚洲欧美一区二区三区| 国产欧美日韩中文字幕在线| 欧美成年人网站| 欧美有码视频| 日韩视频免费| 欧美99在线视频观看| 久久国产精品72免费观看| 日韩视频在线一区二区| 国产亚洲aⅴaaaaaa毛片| 欧美日韩一区二区高清| 久久亚洲一区二区三区四区| 亚洲综合色视频| 亚洲视频在线观看免费| 亚洲美女在线观看| 亚洲电影av| 久久色在线观看| 久久精品国产亚洲一区二区三区|