項目九程序調試-任務1ddms應用調試透視圖_第1頁
項目九程序調試-任務1ddms應用調試透視圖_第2頁
項目九程序調試-任務1ddms應用調試透視圖_第3頁
項目九程序調試-任務1ddms應用調試透視圖_第4頁
項目九程序調試-任務1ddms應用調試透視圖_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Android物聯(lián)網應用程序開發(fā)資源轉化系統(tǒng)教材遼寧輕工職業(yè)學院遼寧輕工職業(yè)學院任務實現(xiàn)知識準備任務目標目 錄項目目標遼寧輕工職業(yè)學院 項目9 程序調試遼寧輕工職業(yè)學院任務1 DDMS應用調試透視圖遼寧輕工職業(yè)學院【任務目標】掌握應用DDMS透視圖進行調試的方法1. DDMS透視圖簡介遼寧輕工職業(yè)學院【知識準備】 在ADT插件中還提供了一個DDMS(Dalvik Debug Monitor Service)透視圖。在DDMS透視圖中,可以完成查看Dalvik操作系統(tǒng)的進程、查看和修改Android模擬器及SD卡中的文件和目錄內容等操作。單擊【Window】【Show Perspective】【

2、DDMS】菜單項可以顯示如下圖所示的DDMS透視圖。2. DDMS與調試器交互的方法遼寧輕工職業(yè)學院【知識準備】 在安卓平臺上,每個應用都運行在自己的進程上,同時每個應用也都運行在自己的虛擬機(VM)上。每個VM公布了唯一的端口號以供調試器連接。 當DDMS啟動后,會連接到adb。當有設備連接上,VM監(jiān)測服務就在adb和DDMS之間創(chuàng)建,它會通知DDMS 設備上的VM是啟動了還是終止了。一旦VM是運行的,DDMS就獲取VM的進程ID(pid),通過adb和設備上的adb守護進程(adbd)建立到VM調試器的連接。到此,DDMS就可以使用約定的線協(xié)議與VM通信。2. DDMS與調試器交互的方法遼

3、寧輕工職業(yè)學院【知識準備】 DDMS給設備上的每個VM分配一個調試端口。通常,DDMS分配的第一個可調試端口號是8600,下一個是8601,依次往下類推。當調試器連接到已分配的一個端口時,VM上的所有通信都會被關聯(lián)到調試器。一個調試器只能連接一個單獨的端口,但是DDMS同時可以處理多個連接的調試器。 默認的,DDMS也會監(jiān)聽DDMS的“基本端口”(默認為8700)。基本端口是一個端口轉發(fā)端口,可以通過8700端口接受來自VM所有調試端口的通信并可以發(fā)送信息到調試器。這就允許你將調試器連接到8700端口,然后可以調試所有設備上的虛擬機。在DDMS設備視圖下,轉發(fā)的通信可以被當前所選進程終止。2.

4、 DDMS與調試器交互的方法遼寧輕工職業(yè)學院【知識準備】 接下來的屏幕截圖會在Eclipse中顯示標準的DDMS屏幕視圖。如果你是從命令行啟動的DDMS,截圖會略有不同,但絕大部分功能是相同的。注意這個特殊進程,com.android.email它在模擬器上運行時的調試端口是8700,而分配給它的端口是8606。這就表明DDMS當前將8606端口轉發(fā)到靜態(tài)調試端口8700。 如果你不用Eclipse和ADT,請閱讀 Configuring your IDE to attach to the debugging port來獲取更多連接到調試器的信息。在Dalvik虛擬機中調試的應用和在其他虛擬機

5、中的應用一樣運行。然而,當單步跳出同步代碼時,“當前位置”指針可能一下跳到方法中的最后位置。(1)查看進程的堆使用情況2. DDMS與調試器交互的方法遼寧輕工職業(yè)學院【知識準備】DDMS允許查看進程堆內存的使用情況。在程序的特定執(zhí)行時間跟蹤堆使用情況是非常有用的信息。(2)查看堆使用的步驟:1)在設備選項,選擇要查看堆使用信息的進程。2)點擊 Update Heap 按鈕獲取進程的堆信息。3)在堆選項中,點擊Cause GC來激活垃圾收集,它會讓堆數據收集變得可用。當操作完成,會看到一組對象類型和每種類型已分配的內存。再次點擊Cause GC就可以刷新數據。2. DDMS與調試器交互的方法遼寧

6、輕工職業(yè)學院【知識準備】4)點擊一個對象類型列表中看到一個條形圖顯示對象的數量分配給一個特定的內存字節(jié)大小。(3)跟蹤對象的內存分配DDMS提供一個很有用的功能,它跟蹤正在分配內存的對象和查看那些類和線程正分配對象。這樣,在應用中執(zhí)行特定操作時你就可以實時跟蹤哪些對象正在被分配資源。分析影響到應用性能的內存使用是很有價值的信息。(4)跟蹤內存的對象分配:1)在設備選項,選擇需要跟蹤內存分配的進程。2. DDMS與調試器交互的方法遼寧輕工職業(yè)學院【知識準備】 2)在分配內存選項,點擊Start Tracking按鈕開始分配跟蹤。這時,任何在應用中的操作都會被跟蹤。 3)點擊Get Allocat

7、ions來查看從點擊Start Tracking按鈕以來已經分配了的對象列表。再點擊Get Allocations就會將已分配的新對象添加到列表中。 4)如果要停止跟蹤或清除數據后重新開始,點擊Stop Tracking按鈕。 5)點擊列表中的特定行就可以看到更詳細的信息,比如已分配的對象的方法和代碼行號。2. DDMS與調試器交互的方法遼寧輕工職業(yè)學院【知識準備】(5)使用模擬器或設備的文件系統(tǒng) DDMS提供了文件系統(tǒng)選項,它允許查看、復制和刪除設備上的文件。這個功能對于檢查應用創(chuàng)建的文件或向設備中導入文件和從設備導出文件來說,非常有用。1)在設備選項,選擇要查看文件系統(tǒng)的模擬器。2)要從設

8、備中復制文件,先在文件瀏覽中定位文件,然后點擊Pull file按鈕。3)要把文件復制到設備中,點擊文件瀏覽選項中的Push file按鈕(6)查看線程信息DDMS中的線程選項顯示了所選進程中正在運行的線程信息。1)在設備選項,選擇要查看的線程所在的進程。2)點擊Update Threads按鈕。3)在線程選項就可以看到所選進程的線程信息了2. DDMS與調試器交互的方法遼寧輕工職業(yè)學院【知識準備】(7)開始方法分析 方法分析是一種對方法的某些數據進行跟蹤的手段,例如:調用次數、執(zhí)行時間和執(zhí)行方法所用時間。如果想更精確的控制在那些地方收集分析數據,使用startMethodTracing()和

9、stopMethodTracing()方法。要獲得更多關于產生跟蹤日志的信息,請查看Profiling and Debugging UIs.在DDMS中開始方法分析之前,注意以下限制情況:安卓1.5版本的設備不支持安卓2.1和更早的版本必須已插入SD卡,并且應用有寫SD卡的權限安卓2.2和以后的設備不需要已插入SD卡。跟蹤日志文件直接輸出到開發(fā)設備上。2. DDMS與調試器交互的方法遼寧輕工職業(yè)學院【知識準備】開始方法分析的步驟1)在設備選項,選擇要進行方法分析的進程2)點擊Start Method Profiling按鈕。3)與應用進行交互,開始要分析的方法4)點擊 Stop Method

10、Profiling按鈕。DDMS停止分析應用并打開Traceview,它包含了在點擊Start Method Profiling和Stop Method Profiling之間方法分析收集到的信息。2. DDMS與調試器交互的方法遼寧輕工職業(yè)學院【知識準備】(8)使用網絡通信工具在安卓4.0中,DDMS(Dalvik調試監(jiān)控服務)包含了詳細的網絡使用選項,可以跟蹤應用的網絡請求。使用這個工具,可以監(jiān)測應用何時以及如何傳輸數據,并且能根據這個適當的優(yōu)化底層代碼。在使用前,也可以通過添加標簽到網絡套接口來區(qū)分不同的通信類型。為了更好的確認導致傳輸峰值的原因,TrafficStats API 允許使

11、用 setThreadStatsTag()方法在線程中標識數據傳輸,接著用tagSocket()和untagSocket()可以手動標識(或去標識)不同的套接口。例如:2. DDMS與調試器交互的方法遼寧輕工職業(yè)學院【知識準備】TrafficStats.setThreadStatsTag(0 xF00D);TrafficStats.tagSocket(outputSocket);/ Transfer data using socketTrafficStats.untagSocket(outputSocket); 或者,平臺中的Apache HttpClient 和URLConnection 的

12、API在活動的標識(被getThreadStatsTag()確定過的標識)上會自動標識內部套接口。當通過活動池回收時,這些API會正確的標識/去標識套接口。TrafficStats.setThreadStatsTag(0 xF00D); try / Make network request using HttpClient.execute() finally TrafficStats.clearThreadStatsTag();2. DDMS與調試器交互的方法遼寧輕工職業(yè)學院【知識準備】(9)使用日志 LogCat集成在DDMS中,可以輸出使用 Log 類打印的消息和其它系統(tǒng)的消息,例如異常拋

13、出時的堆棧跟蹤消息。參閱Reading and Writing Log Messages 獲得更多關于將消息記錄到LogCat的信息。當設置完日志后,使用下列按鈕就可以用LogCat來過濾特定消息:VerboseDebugInfoWarnError2. DDMS與調試器交互的方法遼寧輕工職業(yè)學院【知識準備】 也可以通過自定義設置的過濾器來獲得更詳細的信息,例如可以用日志標簽或進程ID來生成日志信息。 (10)模擬電話操作和位置 模擬器控制選項可以模擬手機的語音和數據網絡狀態(tài)。如果你想在不同網絡環(huán)境下測試應用的健壯性,這會很有用。 (11)改變網絡狀態(tài)、網速和網絡延遲 模擬器控制選項卡的電話狀態(tài)

14、部分可以改變手機的網絡狀態(tài)、網速和網絡延遲。下列選項可供使用并且設置后立即有效:Voice - unregistered home roaming searching deniedData - unregistered home roaming searching deniedSpeed - Full GSM HSCSD GPRS EDGE UMTS HSDPA2. DDMS與調試器交互的方法遼寧輕工職業(yè)學院【知識準備】Latency - GPRS EDGE UMTS(12)模擬來電或短信 模擬器控制選項卡的電話部分可以模擬電話和短信。這對測試應用在回應來電和短信方面的健壯性很有用。有如下操作

15、:Voice - 在 ing number 框輸入號碼,點擊Call就給模擬器或電話設備撥打電話。點擊Hang up按鈕就掛掉電話。SMS - 在 ing number 框輸入號碼在Message 輸入短信內容,點擊Send按鈕發(fā)送短信。2. DDMS與調試器交互的方法遼寧輕工職業(yè)學院【知識準備】(13)設置電話位置 如果應用需要使用電話位置,使用DDMS可以給電話設備或AVD(安卓虛擬設備)設置模擬位置。如果想測試應用不同方面的跟位置有關的特性又不必實際改變物理位置,這會很有用。下面是可用的定位數據類型: Manual - 通過手動指定的十進制或六十進制的經度和緯度值來設置位置 GPX - GPS 交互文件 KML - Keyhole 標記語言文件 要獲得更詳細的模擬位置數據的信息,請查看Location Strategies2. DDMS與調試器交互的方法遼寧輕工職業(yè)學院【知識準備】 (14)文件瀏覽器 為檢查應用運行過程或結果,DDMS透視圖還提

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論