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

隨筆 - 224  文章 - 41  trackbacks - 0
<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

享受編程

常用鏈接

留言簿(11)

隨筆分類(159)

隨筆檔案(224)

文章分類(2)

文章檔案(4)

經(jīng)典c++博客

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

原文地址:http://hi.baidu.com/chocolly/blog/item/91d68f99210abc006f068c63.html/cmtid/b11822ce4bfae234b700c84d
/* 今天學(xué)習(xí)了用Eclipse 來調(diào)試Android的代碼,首次使用,可能有的問題很基本,有問題請(qǐng)指出,交流嘛:) */
(筆記中提到的Emulator也可以理解成Device)
一、adb的介紹:
adb(Android Debug Bridge)包括三個(gè)部分:
1)adb client, 運(yùn)行在PC上(為DDMS,即IDE工作)
2)adb daemon(守護(hù)進(jìn)程), 運(yùn)行于Emulator(為與Emulator中的VM交互工作);
3)adb server(服務(wù)進(jìn)程), 運(yùn)行在PC(任務(wù)管理器上有),管理著adb client和adb daemon的通信.server與client通信的端口是是5037,
adb server會(huì)與emulator交互的,使用的端口有兩個(gè),一個(gè)是5554專門用于與Emulator實(shí)例的連接,那么數(shù)據(jù)可以從Emulator轉(zhuǎn)發(fā)給IDE控制臺(tái)了,另一個(gè)則是5555,專門與adb daemon連接為后面調(diào)試使用。

PS:Emulator/Device占用兩個(gè)(一組)端口,一個(gè)為偶數(shù)的5554,一個(gè)奇數(shù)的5555。
如果還開啟其他的Emulator,則使用的另一組端口是5556,5557,一直到5585.
adb server開啟時(shí)就是通過查找5555-5585之間端口來建立與模擬器的連接的,建立連接后就可以用adb的相關(guān)命令了。
如果您安裝了ADT就基本不需要adb的命令了(因?yàn)镈DMS會(huì)調(diào)用ADB進(jìn)行透明操作)

關(guān)于本機(jī)的端口使用情況可以使用netstat [-a] [-n]來查詢驗(yàn)證一下。

二、觀察一組數(shù)據(jù):
1,在開啟仿真器時(shí)有一些打印:
[2009-06-06 14:04:16 - Helloworld] Android Launch!
[2009-06-06 14:04:17 - Helloworld] adb is running normally.
[2009-06-06 14:04:17 - Helloworld] Performing com.android.hello.Helloworld activity launch
[2009-06-06 14:04:17 - Helloworld] Automatic Target Mode: Preferred AVD 'lab' is not available. Launching new emulator.
[2009-06-06 14:04:17 - Helloworld] Launching a new emulator with Virtual Device 'lab'
[2009-06-06 14:04:24 - Helloworld] New emulator found: emulator-5554
[2009-06-06 14:04:24 - Helloworld] Waiting for HOME ('android.process.acore') to be launched...
[2009-06-06 14:05:45 - Helloworld] HOME is up on device 'emulator-5554'
[2009-06-06 14:05:45 - Helloworld] Uploading Helloworld.apk onto device 'emulator-5554'
[2009-06-06 14:05:45 - Helloworld] Installing Helloworld.apk...
每一行都基本表示一個(gè)命令在執(zhí)行,emulator-5554是仿真器的初始端口了。
最后一句等于命令:adb -s emulator-5554 install helloworld.apk
如果報(bào)了類似以下的錯(cuò)誤,那得(加個(gè)-r)重裝,因?yàn)樵揂pp已經(jīng)在該Emulator下運(yùn)行了
DDM dispatch reg wait timeout
Can't dispatch DDM chunk 52454151: no handler defined
Can't dispatch DDM chunk 48454c4f: no handler defined
網(wǎng)上沒有看到這個(gè)錯(cuò)誤因此順便提下解決方法:adb -s emulator-5554 install -r helloworld.apk

三,了解下DDMS:(都是adb的命令相當(dāng)?shù)墓δ?
DDMS有幾個(gè)界面:
1)Devices:可以查看到當(dāng)前運(yùn)行的Emulator和其內(nèi)運(yùn)行的應(yīng)用
2)Emulator control,即仿真器的硬件設(shè)置項(xiàng)等:
   設(shè)置當(dāng)前注冊(cè)的網(wǎng)絡(luò)狀態(tài)(Home,Roaming,UnRegistered,Searching)
   數(shù)據(jù)業(yè)務(wù)的速度設(shè)置:有GSM,GPRS,EDGE,UMTS,HSDPA(3.5G?)
   還有載入KML或NMEA文件來模擬GPS數(shù)據(jù)
3)還可以查詢Threads,Heap,File Explorer、重啟adb,抓屏等,其他都是在調(diào)用adb。

4)關(guān)于Logcat
從Windows->Prereference->android->DDMS->Loggin Level進(jìn)行設(shè)置打印等級(jí),
不過默認(rèn)下只打印入口線程的信息,射頻和Tapi的動(dòng)作信息要通過adb Logcat -b radio打開,
os-events相關(guān)的打印通過adb logcat -b events.打開,
Log默認(rèn)被寫入到手機(jī)的/data/anr/traces.txt文件中。

四,Debug面板
這個(gè)面板對(duì)于熟悉Eclipse的用戶來說應(yīng)該不用看了。
通過以下三步將自己的應(yīng)用或?qū)⒁呀?jīng)跑起來的應(yīng)用加入調(diào)試列表:
1)選擇Devices列表中Your app,
2)選擇臭蟲按鈕將該程序加載進(jìn)調(diào)試狀態(tài)
3)OK,加斷點(diǎn)吧。不過源代碼要最新的否則斷點(diǎn)不起作用。

五、DDMS如何讓IDE的調(diào)試工作起來呢?
1)有幾個(gè)組成:
一個(gè)是adb(Android Debug Bridge)參考第一部分,它起到調(diào)試橋的作用;

另一類是運(yùn)行在Device/Emulator端的adb daemon, VM, debugger, your Applicatioin,
通過下面句話就可以理解它們的關(guān)系:
一個(gè)App跑在一個(gè)進(jìn)程中,這個(gè)進(jìn)程又被一個(gè)VM綁定,都是一對(duì)一的,但VM與Emulator顯然是多對(duì)一的,
那調(diào)試時(shí)debugger從VM中拿到棧線程進(jìn)程等信息,而daemon的作用僅僅是被DDMS用于建立一條連接(看下面)。

最后一類則是運(yùn)行在PC上的DDMS debugger;
這個(gè)debugger是IDE的調(diào)試器,你可以改成另一個(gè)調(diào)試器;
DDMS是Dalvik Debug Monitor Service,負(fù)責(zé)建立調(diào)試的作用,它僅有兩個(gè)Service,其他的功能都是通過ADB client.讓IDE與Emulator交互起來的。

2)開啟IDE時(shí),DDMS會(huì)建立一個(gè)Device monitoring service用于監(jiān)控Emulator,因?yàn)榭梢蚤_啟多個(gè)Emulator嘛;
如果找到一個(gè)Emulator,那么DDMS才會(huì)再開啟另一個(gè)Service叫VM Monitoring Sevice用于監(jiān)控該Emulator下的VM; 第一部分提到adb有三個(gè)部分,其中的adb client可以多個(gè)實(shí)例的,DDMS的Service通過從ADB Client與ADb server的交互結(jié)果來維護(hù)自身的數(shù)據(jù)。

如果VM Monitor找到Emulator的一個(gè)VM,那么DDMS會(huì)利用ADB獲取目標(biāo)VM的進(jìn)程ID,
同時(shí)通過client與daemon建立起與vm的debugger的新連接,注意新連接的交互端口是從8600開始的(n個(gè)的話端口是8659+n),這條新連接可以讓DDMS獲得與VM的實(shí)際交互。

剩下的就是DDMS把拿到的數(shù)據(jù)再扔給ide 的 debugger(它們之間默認(rèn)通過8700端口,可更改,因?yàn)榕cVM的交互端口從8600開始使用的話可能會(huì)不夠的),
這樣IDE的Debug視圖就能正確工作了.

posted on 2010-06-08 18:28 漂漂 閱讀(979) 評(píng)論(0)  編輯 收藏 引用 所屬分類: android 開發(fā)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美中文字幕| 午夜精品久久久久久久久久久久| 国产精品乱码人人做人人爱| 免费在线观看成人av| 国产精品女主播| 91久久精品国产91性色tv| 国产精品一页| 亚洲午夜激情免费视频| 99热免费精品| 欧美国产91| 亚洲第一页中文字幕| 在线播放豆国产99亚洲| 性欧美xxxx大乳国产app| 亚洲欧美日韩视频一区| 欧美性猛交99久久久久99按摩 | 国产精品久久久久久久久果冻传媒| 欧美大尺度在线| 在线不卡欧美| 久久婷婷蜜乳一本欲蜜臀| 久久久www成人免费毛片麻豆| 国产精品麻豆成人av电影艾秋| 日韩一区二区精品葵司在线| 日韩亚洲欧美综合| 欧美精品在线免费播放| 亚洲区免费影片| 99国产精品99久久久久久| 欧美ab在线视频| 亚洲经典视频在线观看| 在线一区免费观看| 欧美调教视频| 亚洲视频在线观看三级| 欧美一区二区三区四区夜夜大片| 国产区日韩欧美| 久久精品人人做人人爽| 欧美 日韩 国产一区二区在线视频| 伊人久久久大香线蕉综合直播| 久久综合影音| 亚洲伦理网站| 欧美中文字幕久久| 激情综合亚洲| 欧美伦理91i| 亚洲欧美日韩综合国产aⅴ | 午夜免费电影一区在线观看| 国产精品日日摸夜夜摸av| 午夜免费久久久久| 暖暖成人免费视频| 亚洲伦理自拍| 国产精品入口尤物| 久久米奇亚洲| 亚洲日本在线观看| 性欧美1819性猛交| 亚洲二区免费| 国产精品日韩欧美大师| 欧美在线观看你懂的| 亚洲国产精品视频| 欧美一区二区三区视频免费播放| 伊人成人网在线看| 欧美日韩一区免费| 久久精品亚洲精品| 一区二区三区四区五区在线| 久久看片网站| 亚洲视频欧美视频| 在线看片日韩| 国产精品乱码一区二三区小蝌蚪| 久久久久一区二区三区四区| 99视频精品全部免费在线| 久久久亚洲高清| 亚洲特级毛片| 亚洲国产日韩在线| 国产美女扒开尿口久久久| 欧美国产三区| 久久久亚洲高清| 一区二区三区免费网站| 欧美福利电影在线观看| 欧美专区18| 亚洲性图久久| 亚洲美女av电影| 永久91嫩草亚洲精品人人| 国产精品美女久久久久av超清 | 国产亚洲亚洲| 欧美午夜精品一区| 欧美va天堂在线| 久久精品国产99国产精品| 亚洲香蕉伊综合在人在线视看| 亚洲黄色成人| 欧美成人在线免费观看| 久久人人爽人人| 欧美一区二区视频免费观看| 亚洲视频导航| 91久久精品日日躁夜夜躁国产| 黑丝一区二区三区| 国产区精品在线观看| 欧美亚州一区二区三区| 欧美精品久久久久久久| 欧美v日韩v国产v| 久久综合色婷婷| 久久免费国产| 久久综合精品国产一区二区三区| 久久国产欧美| 久久久欧美精品| 久久久青草婷婷精品综合日韩| 午夜视黄欧洲亚洲| 亚洲欧美伊人| 欧美综合国产精品久久丁香| 午夜精品久久久久影视| 亚洲欧美日本视频在线观看| 亚洲综合成人婷婷小说| 中国女人久久久| 亚洲一区在线免费| 亚洲欧美制服中文字幕| 亚洲欧美日韩中文视频| 亚洲欧美日韩视频一区| 欧美亚洲一区二区在线观看| 香蕉国产精品偷在线观看不卡| 性欧美xxxx视频在线观看| 香蕉久久一区二区不卡无毒影院 | 先锋影院在线亚洲| 欧美一区二区在线观看| 久久久久久色| 欧美福利电影网| 欧美日韩国产一区| 国产精品久久久久久影院8一贰佰| 国产精品国产三级国产专区53 | 亚洲国产欧美在线人成| 亚洲精品视频免费观看| 亚洲视频免费在线观看| 午夜亚洲视频| 免费在线成人| 亚洲理论在线观看| 亚洲免费在线电影| 久久九九热免费视频| 欧美国产三区| 国产精品卡一卡二卡三| 国内精品一区二区| 亚洲精品人人| 久久国产视频网站| 欧美成人按摩| 中日韩美女免费视频网站在线观看| 亚洲欧美日韩综合| 男女av一区三区二区色多| 欧美性视频网站| 国产一区二区三区在线观看免费| 亚洲国产精品成人精品| 在线一区二区日韩| 久久精品一本| 91久久久久久久久| 欧美一站二站| 欧美美女喷水视频| 国内一区二区三区在线视频| av72成人在线| 美玉足脚交一区二区三区图片| 日韩一级二级三级| 久久精品视频播放| 国产精品video| 亚洲激情专区| 久久精品国产亚洲一区二区三区| 亚洲国产高潮在线观看| 欧美一区二区三区在线| 欧美人交a欧美精品| 精品av久久707| 性欧美大战久久久久久久久| 亚洲国产精品成人久久综合一区 | 欧美片第1页综合| 狠狠干综合网| 欧美一区国产一区| 亚洲精品乱码久久久久久日本蜜臀| 欧美一区国产在线| 欧美亚州韩日在线看免费版国语版| 在线播放中文一区| 久久精品理论片| 亚洲在线1234| 欧美视频在线一区| 亚洲精品视频在线播放| 老巨人导航500精品| 亚洲欧美视频| 国产精品毛片va一区二区三区| 一区二区三区不卡视频在线观看 | 亚洲欧美卡通另类91av| 欧美日韩亚洲系列| 亚洲美女在线一区| 欧美国产综合视频| 老司机亚洲精品| 亚洲高清一二三区| 欧美a级片一区| 久久资源在线| 国自产拍偷拍福利精品免费一| 久久成人一区| 欧美一区免费视频| 国产亚洲欧美另类中文 | 欧美成人免费va影院高清| 久久电影一区| 在线色欧美三级视频| 久久综合久久久久88| 久久久久久亚洲精品中文字幕| 精品96久久久久久中文字幕无| 久久中文字幕一区| 久久中文在线| 99精品欧美一区二区三区综合在线 | 欧美成人蜜桃| 欧美激情欧美狂野欧美精品|