1. 程式人生 > >Android Eclipse 斷點除錯技巧

Android Eclipse 斷點除錯技巧

1、 條件斷點

斷點大家都比較熟悉,在Eclipse Java 編輯區的行頭雙擊就會得到一個斷點,程式碼會執行到此處時停止。

條件斷點,顧名思義就是一個有一定條件的斷點,只有滿足了使用者設定的條件,程式碼才會在執行到斷點處時停止。

在斷點處點選滑鼠右鍵,選擇最後一個"Breakpoint Properties"

斷點的屬性介面及各個選項的意思如下圖,

2、 變數斷點

斷點不僅能打在語句上,變數也可以接受斷點,

上圖就是一個變數的打的斷點,在變數的值初始化,或是變數值改變時可以停止,當然變數斷點上也是可以加條件的,和上面的介紹的條件斷點的設定是一樣的。

3、 方法斷點

方法斷點就是將斷點打在方法的入口處,

方法斷點的特別之處在於它可以打在 JDK的原始碼裡,由於 JDK 在編譯時去掉了除錯資訊,所以普通斷點是不能打到裡面的,但是方法斷點卻可以,可以通過這種方法檢視方法的呼叫棧。

4、 改變變數值

程式碼停在了斷點處,但是傳過來的值不正確,如何修改一下變數值保證程式碼繼續走正確的流程,或是說有一個異常分支老是進不去,能不能除錯時改一下條件,看一下異常分支程式碼是否正確?

Debug 檢視的 Variables 小視窗中,我們可以看到 mDestJarName 變數的值為 "F:\Study\eclipsepro\JarDir\jarHelp.jar

 "

我們可以在變數上右鍵,選擇"Change Value..." 在彈出的對話方塊中修改變數的值,

或是在下面的值檢視視窗中修改,保用Ctr+S 儲存後,變數值就會變成修改後的新值了。

5、 重新除錯

這種除錯的回退不是萬能的,只能在當前執行緒的棧幀中回退,也就說最多隻能退回到當前執行緒的呼叫的開始處。

回退時,請在需要回退的執行緒方法上點右鍵,選擇 "Drop to Frame"

6、 遠端除錯

用於除錯不在本機上的程式,有兩種方式,

1、本機作為客戶端

2、本機作為服務端

使用遠端除錯的前提是伺服器端和客戶端的程式碼是一致的。

本機作為客戶端

本機作客戶端比較常用,需要在遠端的伺服器上的java程式在啟動時開啟遠端除錯開關,

伺服器端需要加上虛擬機器引數

1.5以前版本(1.5以後也可用):【-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000 】

1.5及以上版本:【 -agentlib:jdwp=transport=dt_socket,server=y,address=8000】

F:\Study\eclipsepro\screensnap>java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000 -jar screensnap3.jar

連線時遠端伺服器時,需要在Eclipse中新建一個遠端除錯程式

這裡有一個小地方需注意,連線上的時候貌似不能自動切換到Debug檢視,不要以為本機的除錯程式沒有連線到伺服器端。

本機作為服務端

同本機作為客戶端相比,只需要修改一下“Connection Type”

這時Eclipse會進入到等待連線的狀態

連線程式使用如下引數即可連線本機伺服器,IP地址請用實現IP替換~~

【-agentlib:jdwp=transport=dt_socket,suspend=y,address=127.0.0.1:8000】

F:\Study\eclipsepro\screensnap>java -agentlib:jdwp=transport=dt_socket,suspend=y,address=127.0.0.1:8000 -jar screensnap3.jar

遠端除錯時本地的程式碼修改可同步到遠端,但不會寫到遠端的檔案裡,也就是說本地修改會在下次啟動遠端程式時就沒有了,不會影響到下次使用時的遠端程式碼。

好像漏了一個斷點,異常斷點,補一下。

7、異常斷點

經常遇見一些異常,然後程式就退出來了,要找到異常發生的地方就比較難了,還好可以打一個異常斷點,

上圖中我們增加了一個NullPointException的異常斷點,當異常發生時,程式碼會停在異常發生處,定位問題時應該比較有幫助。

相關推薦

Android Eclipse 斷點除錯技巧

1、 條件斷點 斷點大家都比較熟悉,在Eclipse Java 編輯區的行頭雙擊就會得到一個斷點,程式碼會執行到此處時停止。 條件斷點,顧名思義就是一個有一定條件的斷點,只有滿足了使用者設定的條件,程式碼才會在執行到斷點處時停止。 在斷點處點選滑鼠右鍵,選擇最後一個

Eclipse BreakPoint斷點除錯技巧和基本步驟方法

Eclipse BreakPoint 1、 條件斷點  斷點大家都比較熟悉,在Eclipse Java 編輯區的行頭雙擊就會得到一個斷點,程式碼會執行到此處時停止。 條件斷點,顧名思義就是一個有一定條件的斷點,只有滿足了使用者設定的條件,程式碼才會在執行到斷點處時停止。

windbg-跳過初始斷點(除錯技巧)

  ntdll!LdrpDoDebuggerBreak+0x2c: 7757054e cc int 3 0:000> kv ChildEBP RetAddr Args to Child 0030f3c8 77550e00 7ffd

Java斷點除錯技巧

Java斷點除錯技巧: 如何除錯Java程式? 大家最開始學習Java,都會覺得IDE除錯好高階有木有,其實很簡單了。 下文會盡量簡單直觀的教會你在Eclipse中除錯,其他的IDE除錯步驟也是類似的。 1.在你覺得有錯的地方設定斷點。 在程式碼行數前,點選右鍵,注意是右鍵,然後

Android eclipse 程式除錯

       當應用程式在模擬器中載入並啟動時,Eclipse會自動切換到Debug佈局,關於程式執行狀態的各種資訊就會出現在右下方的Logcat檢視中。為了更加方便的瀏覽Logcat檢視中的內容,可以用滑鼠單擊Logcat檢視右上角的最大化按鈕。Logcat檢視中出現的資訊,按照訊息產生的順序,最開始是關於

JS斷點除錯技巧

JS除錯技巧技巧一:格式化壓縮程式碼 技巧二:快速跳轉到某個斷點的位置右側的Breakpoints會彙總你在JS檔案所有打過的斷點,點選跟checkbox同一行的會暫時取消這個斷點,若是點選checkbox下一行的會直接跳轉到該斷點的位置技巧三:檢視斷點內部的作用範圍【很實用】右側的scope可以看到相當多實

Intellij IDEA 2017 debug斷點除錯技巧與總結詳解篇

在除錯程式碼的時候,你的專案得debug模式啟動,也就是點那個綠色的甲蟲啟動伺服器,然後,就可以在程式碼裡面斷點除錯啦。 下面不要在意,這個快捷鍵具體是啥,因為,這個keymap是可以自己配置的,有的人keymap是mac版的,有的是Windows版的。 我的就是Windows,而且修改keymap為

解決:eclipse 斷點除錯進入到class檔案,無法檢視變數值問題

今天團隊一小夥伴除錯專案時,一不小心選錯了原始檔目錄(maven分模組專案),選到了頂層父專案下的檔案,結果除錯時發現無法檢視除錯過程中的變數值,要解決這個問題,其實很簡單,稍稍配置一下就可以了,為了方便其他小夥伴查閱,就簡單記錄一下。 步驟:找到除錯小蟲子-->

Android Studio斷點除錯詳細步驟

轉載地址:http://blog.csdn.net/huangxiaominglipeng/article/details/53100811 有人說Android 的除錯是最坑的,那我只能說是你不會用而已,我可以說android Studio的除錯是我見過最棒的。

Android Studio程式碼除錯技巧

ndroid Studio目前已經成為開發Android的主要工具,用熟了可謂相當順手。作為開發者,除錯並發現bug,進而解決,可是我們的看家本領。正所謂,工欲善其事必先利其器,和其他開發工具一樣,如Eclipse、Idea,Android Studio也為我們提供了強

VS2010斷點除錯技巧(轉)

如何設定條件斷點   設定條件斷點非常容易。在特定的行上,按F9設定斷點。   然後右擊斷點–編輯視窗左側的紅點,在上下文選單上選擇“Condition…”。   這時彈出一個對話方塊供你設定啟用該斷點所需的條件。比如:我們希望只有當局部變數paginatedD

eclipse 斷點除錯快捷鍵

收集一個自己的快捷鍵集合。方便自己查詢。 Eclipse一次取消所有斷點:選單中選擇remove all toggle breakpoints (1)Ctrl+M --切換視窗的大小  (2)Ctrl+Q --跳到最後一次的編輯處  (3)F2 --當滑鼠放在一個

android studio ndk 除錯技巧

Android ndk開發,出現記憶體溢位或別的問題需要除錯時,如何快速定位到原始碼位置,可以使用addr2line 和 ndk-stack 兩個工具。在程式 內容主要分為一下幾個部分: 1.Library Symbols (共享庫的符號) 2.Analyz

Android Studio簡易教程】斷點除錯及相關技巧

一 斷點除錯流程 下面我們用一個例項來演示斷點除錯的流程和相關技巧。 本例中我們用斷點除錯跟蹤一個for迴圈中,迴圈變數i的數值變化,如下所示: Shift+F9進入Debug除錯,程式執行後就可以檢視Debug面板,我們可以在面板裡實時檢視各

斷點除錯 android 程式 (Eclipse

設定斷點:在編碼窗體的左邊框上用滑鼠雙擊,或者右鍵點選選單,選擇 Toggle Breakpoint選單項即可.   在debug模式下執行程式進入除錯狀態:通過點選工具欄上的小蟲按鈕或者是在專案右鍵點選然後選擇Debug As,Android Applicatio

Android Studio 開啟Annotation Processor斷點除錯

往gradle.properties檔案中新增如下兩行(本教程中是在~/.gradle/gradle.properties檔案中新增) org.gradle.jvmargs=-agentlib:jdwp=transport=dt_socket,server=y,suspend=

Xcode 除錯技巧 --常用命令和斷點

Xcode 中的除錯技巧與我們的日常開發息息相關,而這些除錯技巧在我們解決Bug時,常常有事半功倍的作用,經常會用到的有各種斷點 和 命令。而這些除錯技巧也經常會在面試中問到,所以不知道的就來看看吧。 除錯命令 在上圖中,右側綠色區域就是Log 輸出區,在 Log 輸出區可以使用一些命令,來輔助除錯。 那

使用eclipse CDT 除錯cocos2d-x 3.3 android 工程

現在的CDT技術以及Cocos2d-x已經發展到了一定程度,雖然使用CDT來除錯Native C++效率還不像VS中那麼高,但是為了使用C++開發android程式,為了實現跨平臺技術,能夠在android開發中實時除錯C++程式還是很有必要的。 第一次在eclipse下除錯C++,走了很多彎路,

Android逆向之旅---動態方式破解apk前奏篇 Eclipse動態除錯smail原始碼

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Java開發除錯技巧Eclipse快捷鍵使用的方法

除錯的技巧: 1.syso alt+/ system.out.println(); 2.syse alt+/ system.err.println();//輸出紅色字型的錯誤的資訊,方便除錯 3.try…catch finally 丟擲異常 4.斷點除錯,除錯模式執行