eclipse中遠程調試android普通應用和原生應用

eclipse中遠程調試android普通應用和原生應用

 

eclipse中遠程調試android普通應用和原生應用(Phone,Music等) 
方法一(適用於普通應用和原生應用(Phone,Music等)): 
1.連接上設備(或開啓模擬器)後,在設備(模擬器)中開啓已安裝好的android應用(要debug的應用,它的源碼工程在workspace中,注意所調試的應用的源碼必須與你workspace中的源碼是一致的才行),打開DDMS,在Device視圖模塊中找到該應用對應的debug端口(如果顯示:8602/8700,則端口爲8602)。記下該端口號,以便以後使用。也可直接用8700代替(爲何是這個8700端口,詳見:http://developer.android.com/guide/developing/debugging/ddms.html中的“How DDMS Interacts with a Debugger”)即可,但有時用8700卻不管用,所以最好用對應的確切端口號,不管用哪個端口號,host爲:localhost,因爲你的模擬器是運行在本地的,所謂的端口號是指模擬器的調試端口號或正運行於模擬器的應用對應的調試端口號,eclipse的調試程序即是這些端口的客戶,它通過這個端口與模擬器交互。 
2.在已開啓的要debug的應用對應於workspace中的相應的項目中的源代碼文件中打斷點。此步可以在第三步之後。 
3.上兩步只是做好的準備工作,真正的調試配製過程如下:項目上點擊(或者在項目的src中的包名上)右鍵-->debug as-->debug configurations,在彈出的對話框的左側欄目中,右鍵點擊Remote Java Application-->new ,在右側窗口的Connect子窗口中Port欄位填寫當前應用的debug端口號8602(已在第一步中準備好)或者直接填8700(如前所述)-->Apply-->Debug,至此已進入調試模式了,可以到源碼中打斷點處(如果已有斷點)查看斷點的樣式發現多了一個小鉤(理論上應該出現小鉤,但有時斷點下成功,同時已處於調試模式下,但仍不出現小鉤的情況也是可能出現的,切換到debug模式查看breakpoints視圖和Debug視圖即能判斷斷點是否已起作用了),切換到DDMS視圖會發現相應的應用已經條目中多了一個小綠蟲。 
注意:在給源碼打斷點時,不要打在沒有語句的if上,如:if (DBG) log("===> phone.dial() returned: " + cn);,不會成功,因爲它不是一個可調試語句,如果是這樣的if:if(print()) log("aa");,則可打斷點,斷點打在了print()方法的入口處,步入即可進入print(). 


方法二(此法要按順序操作,但從操作中不知爲何可行,所以描述不夠本質和清楚,在對調試過程弄清楚(見方法一)後可用此法): 
0. 配製debug: 
  在Java視圖中的工具條中的調試按鈕旁的小三角,選“Debug configuration...”,右鍵點擊左側項目類別:Remote Java Application-->new,填好名稱和連接端口8700(爲何是這個端口,詳見:http://developer.android.com/guide/developing/debugging/ddms.html中的“How DDMS Interacts with a Debugger”)即可(host爲:localhost)。 
1.連接上設備後,開啓已安裝好的android應用(要debug的應用,它的源碼工程在workspace中),打開DDMS,在Device視圖模塊中找到該應用對應的進程,點擊Device視圖頂部的小綠蟲圖票按鈕使之成爲調試對象。點擊小綠蟲後,adt會自動去搜索debug配置列表,如果發現有相匹配的條目就將條目中的源碼與相應端口的應用(點小綠蟲前選中的android進程)進程,從而建立調試連接開始調試會話。如果沒有匹配的條目,則會報錯。 
2.在已開啓的要debug的應用對應於workspace中的相應的項目中的源代碼文件中打斷點,打完後,這個斷點圖標立即會多出個小鉤(表示斷點成功並已生效)。 
2.試圖與設備上的應用交互使之在斷點處停住,切換到debug視圖進一步調試。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章