java的debug調試方法,linux怎麼debug調試java代碼

本文目錄一覽:

如何在Eclipse中Debug調試Java代碼

步驟

首先打開eclipse,打開java源文件 如圖:

在需要測試的代碼行左側行號列上雙擊,生成斷點 ,再次雙擊可以取消斷點 如圖:

然後右鍵,選擇Debug As-Java Application,(注意,不是選擇Run As)

開始調試java程序 如圖

有可能會彈出提示框(表示是否進入調試視圖)點擊確定就可以了

然後會進行調試視圖,如圖:

左側上部是整個正常線程執行情況,右側上部是剛才設置斷點的行號列表.

在左側上部有幾個按鈕需要注意如圖:

這些按鈕就是我們調試時的控制按鈕 分別表示:

step into(快捷鍵F5)進入當前行的方法內部,一步一步執行

step return (快捷鍵F7)返回上一步執行的方法(相對應F5)

step over(快捷鍵F6)執行當前行,但不進入執行細節

resume (快捷鍵F8)恢復執行,表示接着執行代碼,直接跳到下一個斷點

terminate 停止調試

常用調試方法:按F8跳到下一個斷點執行 如果需要查詢執行細節F5F6F7等

取消斷點的話:在右側上部的斷點列表區取消選擇或刪除當前斷點即可

java調試中debug怎麼用

最基本的操作是:

1.首先在一個java文件中設斷點,然後debug as--open debug Dialog,然後在對話框中選類後-- Run

當程序走到斷點處就會轉到debug視圖下。

2.F5鍵與F6鍵均為單步調試,F5是step into,也就是進入本行代碼中執行,F6是step over,

也就是執行本行代碼,跳到下一行,

3.F7是跳出函數

4.F8是執行到最後。

1.Step Into (also F5) 跳入

2.Step Over (also F6) 跳過

3.Step Return (also F7) 執行完當前method,然後return跳出此method

4.step Filter 逐步過濾一直執行直到遇到未經過濾的位置或斷點(設置Filter:window-preferences-java-Debug-step Filtering)

5.resume 重新開始執行debug,一直運行直到遇到breakpoint

6.hit count 設置執行次數 適合程序中的for循環(設置 breakpoint view-右鍵hit count)

7.inspect 檢查運算。執行一個表達式顯示執行值

8.watch 實時地監視變量的變化

9.我們常說的斷點(breakpoints)是指line breakpoints,除了line

breakpoints,還有其他的斷點類型:field(watchpoint)breakpoint,method

breakpoint,exception breakpoint.

10.field breakpoint 也叫watchpoint(監視點) 當成員變量被讀取或修改時暫掛

11.添加method breakpoint 進入/離開此方法時暫掛(Run-method breakpoint)

12.添加Exception breakpoint 捕抓到Execption時暫掛(待續…)

斷點屬性:

1.hit count 執行多少次數後暫掛 用於循環

2.enable condition 遇到符合你輸入條件(為ture\改變時)就暫掛

3.suspend thread 多線程時暫掛此線程

4.suspend VM 暫掛虛擬機

13.variables 視圖裡的變量可以改變變量值,在variables 視圖選擇變量點擊右鍵–change value.一次來進行快速調試。

14.debug 過程中修改了某些code後–〉savebuild–resume–重新暫掛於斷點

—————————————————————————————————————————————————————

調試運行的快捷鍵:

Shift+Alt+D 彈出菜單後按J:Java程序調試

Shift+Alt+D 彈出菜單後按R:在Web Server上調試

Shift+Alt+D 彈出菜單後按Q:Ant Build調試

調試過程中的快捷鍵:

F6:單步執行Step Over。 通常如果不關心該語句的調用細節,單步執行就可以了。

F5:跟入Step into。一般會跟蹤進入到調用函數的函數體,Step Over則不會跟蹤進入,直接把調用當做一個語句處理。

F7:返回到調用處Step Return。如果無意Stepinto了一個不需要關心的函數,或者沒有必要再對某個函數跟蹤了,直接F7返回到調用語句處。

F8:運行至下一斷點Resume。

調試中需要關心的是斷點和變量。掌握一定的設置斷點技巧是必須的。

1、如何跳過一段循環

有的時候跟蹤代碼執行,無意中進入了循環中,看了幾次發現沒什麼問題了。是不是要StepOver到循環結束呢,或許你會Step Return,那麼循環下面的代碼就跟蹤不到了。這時候就要利用Resume這個有趣的特性了。

去掉舊斷點(循環體內的),增加新斷點(循環體外),然後Resume(F8)。

2、如何調試遞歸調用

還是要巧用F7(StepReturn)、F8(Resume)這兩個鍵。

另外別忘了Debug模式中的Expressions視圖(Window-show view- Expressions)

把你關心的遞歸變量的表達式都add進來吧,這樣看起來就比Variable輕鬆多了。

Expressions不僅支持顯示運算結果、數組元素,還可以顯示方法返回值。你只需要將你關心的表達式寫進來就可以了。

返回上一層遞歸,使用F7。跳過循環使用上面的方法。

還有巧設斷點。直接讓光標運行到你需要關注的地方。

在Expressions中添加能區分遞歸層次的表達式,這樣你看起來就不會亂(不知道調用到哪一層了)。

北大青鳥java培訓:軟件開發人員解決bug的方法?

每個軟件開發人員都會遇到bug,那bug是什麼呢?當軟件開發人員能夠測試標準後發掘的問題成為bug。

那麼解決bug的方法有哪些呢?電腦培訓建議首先軟件開發人員需要掌握怎樣快速定位,之後修改程序就可以了。

一、斷點調試:1、打斷點:打斷點、清除斷點。

2、啟動調試模式的兩種方式:一是通過debugas啟動調試程序;二是在程序運行時,DDMS視圖下選取要調試的程序,啟動調試模式。

3、調試:可使用F5、F6、F7、F8快捷鍵。

4、通過watch查看成員變量。

二、打印調試:?打印調試對於循環、JNI等代碼段很有效,循環時越發管用。

三、目視法:?適用codereview,但畢竟人為的,多打一個點,都會出現問題,不過代碼量少的時候很好用。

四、自動化測試:?Android程序開發自動化測試工具有:monkey、Robotium、Appium、雲端測試。

五、排除法:?當遇到隨機問題時可使用排除法檢驗,先大概定位問題點,再用代碼一點點注釋,查看變化,漸漸縮小問題範圍。

如何調試JAVA程序?(主要是步驟)

1.在你覺得有錯的地方設置斷點2.點擊甲殼蟲一樣的按鈕下面的子按鈕,也是甲殼蟲一樣的,叫Debug3.運行程序,當程序運行到剛才設置斷點的位置就會停下來,並且那行代碼底色會高亮顯示。4.接着你在如下界面你可以看到你想要的信息5.在Variables裏面可以查看所有變量的值,比如剛才設置的斷點裏面的strClassName的值就可以看到。 6.下面按鈕第一個是進入方法執行,比如你調用了其他方法,可以進入方法一步一步執行,如果點擊第二個按鈕,只會在本方法內一步一步執行,第三個按鈕時你跳出此方法,繼續執行調用這個方法的原方法。7下面這個按鈕時直接執行完程序。8差不多就這些了,還有不明白可以繼續QQ諮詢我~

java中怎樣使用debug

debug模式初始需要3個步驟:第一個是將模式調成debug模式;第二個就是以debug模式啟動;第三設置斷點 ok了

原創文章,作者:VIMO,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/145041.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
VIMO的頭像VIMO
上一篇 2024-10-26 11:54
下一篇 2024-10-26 11:54

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • 解決.net 6.0運行閃退的方法

    如果你正在使用.net 6.0開發應用程序,可能會遇到程序閃退的情況。這篇文章將從多個方面為你解決這個問題。 一、代碼問題 代碼問題是導致.net 6.0程序閃退的主要原因之一。首…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29

發表回復

登錄後才能評論