Idea調試技巧

2020-12-17 百家號

1 問題描述

在編寫程序的時候免不了面對的問題就是出現錯誤,而錯誤分為兩部分:看得見的錯誤和看不見的錯誤。看的見的錯誤:在IntellijIDEA編輯器上對於一些語法錯誤或者關鍵詞單詞錯誤進行標紅;看不見的錯誤:並不會被IntellijIDEA識別,但不會被運行成功。

2 問題分析

看得見的錯誤很好被解決,本文將圍繞如何解決看不見的錯誤進行展開。看不見的錯誤雖然很不被標紅,但運行後會被報exception,這時候會用到調試的方法。調試能夠解決許多問題,不僅僅是exception的問題,還可以檢測運行過程中參數的值

3 解決方案

下面所示代碼是本次圍繞的所有代碼

圖1

第一步 設置斷點

在想要設置斷點的代碼行,在行號欄的後面單擊滑鼠左鍵或者使用快捷鍵(因電腦而異)。

圖2

第二步 開啟調試會話

點擊idea左上角的小蟲子,進入調試,(注意左側的下拉框選中應該為調試運行的程序,本人的程序名為DemoOne)。

圖3

在運行後(debug模式),程序會停留在打斷點的位置且沒有被運行本行。同時idea下方會出現此樣的Debugd試圖。圖中紅色箭頭所指之處就是目前所運行之處,右側視圖裡面是檢測目前的變量的值。

圖4

第三步 單步調試

單步調試主要應用了中的方框中的左邊四個按鈕:step over、step into、force step over、step out。

Step over

單步執行,運行下一條代碼;運行過程中遇到子函數時是不會進入子函數內的,而是將子函數整個執行完再停止,也就是把子函數整個作為一步。因此圖 1中的代碼,並不會進入maxTwo(x,y)和Math.max(x,y)兩個函數,而是直接被輸出了結果,然後結束程序。

Step into

運行下一條代碼;運行過程中遇到子函數時能夠進入子函數內的,且繼續單步執行。

注意:進入的子函數,只包括自己設計編寫的函數,例如圖 1中第17行的maxTwox,y能夠被進入,但是第18行的Math.max(x,y)不能夠進入函數主體。

也就是包括了stepover的功能但是多了一個能夠進入子函數的功能。

force step into

運行下一條代碼;運行過程中遇到任意函數都能夠進入,也就解決了step into上的不足。

step out

普通語句時,結束程序;for循環時,依舊執行循環體,但循環完成後結束程序;若正在子函數內部,那麼就執行完子函數餘下部分,並返回到上一層函數。一般此方法用於,自己認為此函數並沒有問題,就使用其進行退出,直接下一條語句。

Drop frame

當已經運行於某個函數內,該按鈕會亮起,點擊後可返回到當前方法的調用處,重新執行。為便於理解,筆者在maxTwo(x,y)裡面多寫了兩條代碼,點擊中間的正方形框時就會被跳入到最下方的方框中的main()函數中。

4 總結

本文建議介紹了如何使用idea去調試,主要對step over / step into / forcestep into/step out這四個按鈕進行闡述,希望對正在閱讀的您一點幫助。

參考文獻

WB4S ——《Intellij IDEA調試功能使用總結》——博客園

更多精彩文章:

什麼是機器學習

關於網頁首頁設計的一點思考

新手小白應該如何學習MUI

聊一聊編程的本質

深入理解瀏覽器內核 - 概述

深入理解瀏覽器內核 - 瀏覽器內核介紹

深入理解瀏覽器內核 - 瀏覽器內核依賴關係

python快速求解不定積分和定積分

AI告訴你張無忌最愛的竟是...

Jupyter快速編輯高大上數學公式 泰勒展開式

Jupyter快速編輯高大上數學公式 常見希臘字母

基本初等函數 指數函數

基本初等函數 指數函數 代碼篇

聊一聊JavaWeb面試

聊一聊單片機和伺服器

50行代碼實現簡單的網站伺服器

50行代碼實現網站伺服器 2

50行代碼實現網站伺服器 3

Tomcat源碼分析之 doGet方法(一)

Tomcat源碼分析之 doGet方法(二)

Tomcat源碼分析之 doGet方法(三)

Tomcat源碼分析之 doGet方法(四)

Tomcat源碼分析之中文亂碼(一)

一種基於狀態機的 DOM 樹生成技術(1)

一種基於狀態機的 DOM 樹生成技術(2)

點擊頁面右下角「寫留言」發表評論,期待您的參與!期待您的轉發!

相關焦點

  • IDEA 調試技巧,比 Eclipse 強太多了!
    本文轉載自【微信公眾號:java進階架構師,ID:java_jiagoushi】經微信公眾號授權轉載,如需轉載與原文作者聯繫一、條件斷點循環中經常用到這個技巧,比如:遍歷1個大List的過程中,想讓斷點停在某個特定值。
  • IntelliJ IDEA 調試技巧,比 Eclipse 強太多了!
    今天分享一下 IntelliJ IDEA 的高級調試技巧,來看下有多騷,確實要比 Eclipse 強太多了!一、條件斷點循環中經常用到這個技巧,比如:遍歷1個大List的過程中,想讓斷點停在某個特定值。
  • 這 5 條 IntelliJ IDEA 調試技巧太強了!
    二、回到"上一步"該技巧最適合特別複雜的方法套方法的場景,好不容易跑起來,一不小心手一抖,斷點過去了,想回過頭看看剛才的變量值,如果不知道該技巧三、多線程調試多線程同時運行時,誰先執行,誰後執行,完全是看CPU心情的,無法控制先後,運行時可能沒什麼問題,但是調試時就比較麻煩了,最明顯的就是斷點亂跳,一會兒停這個線程,一會兒停在另一個線程,比如下圖:
  • 小技巧 | 在 Android Studio 調試應用 (上)
    正因如此,最近我們找機會了解了 Android Studio 團隊在提升調試速度方面使用的一些技巧。接下來,我們會為您一一呈現那些我們認為最好的、節省您時間的、且方便與您的調試流程整合的小技巧。雖然您的應用可能與本文假想中的示例應用大相逕庭,但是本文所介紹的小竅門可以用在任何應用的開發上。本文分為上下兩篇,本篇為上篇。我們從經典調試法 —— printf 語句的一個小竅門說起。
  • 一份官方的 Android Studio 調試應用 技巧!
    正因如此,最近我們找機會了解了 Android Studio 團隊在提升調試速度方面使用的一些技巧。接下來,我們會為您一一呈現那些我們認為最好的、節省您時間的、且方便與您的調試流程整合的小技巧。雖然您的應用可能與本文假想中的示例應用大相逕庭,但是本文所介紹的小竅門可以用在任何應用的開發上。本文分為上下兩篇,本篇為上篇。
  • IntelliJ IDEA 超實用使用技巧分享
    作者:Richard_Yijuejin.im/post/5d47f4e851882534d152a206前言工欲善其事必先利其器最近受部門的邀請,給入職新人統一培訓IDEA,發現有很多新人雖然日常開發使用的是IDEA,但是還是很多好用的技巧沒有用到,只是用到一些基本的功能,蠻浪費IDEA這個優秀的IDE。
  • IntelliJ IDEA 超實用技巧分享,不能再全了!
    如果你沒有激活碼,關注公眾號Java技術棧回復idea可以閱讀正規獲取激活碼的幾種獲取方式。同時,在這次分享之後,本人自己也學習到了一些新的使用技巧,所以借著這次機會,一起分享出來。希望可以幫到一些人。
  • 實用Javascript調試技巧分享
    見過太多同學調試Javascript只會用簡單的 console.log甚至 alert,看著真為他們捉雞。。
  • IDEA神器居然還有這些小技巧,你知道幾種方式呢?
    Json 中所有的 role 欄位idea上用eclipse的快捷鍵, 有時候幫忙調試程序的時候, 就有點惱火了,對於用習慣了idea快捷鍵的人, 是真的用不習慣eclipse的快捷鍵, 這個時候Keymap就排上用場了
  • 反編譯動態調試smali全過程
    網絡抓包、數據來源流向分析、頁面邏輯跳轉分析、動態調試等。由於很多代碼都會混淆,很多時候我們直接通過代碼可能看不出邏輯走向,所以我們就會選擇斷點來進行調試。C層一般會使用IDA進行調試分析,Java層常常就會需要對Smali代碼進行調試分析。
  • Android產品研發-->Android實用調試技巧
    本文我們將講解Android中的調試技巧。程序調試,是將編制的程序投入實際運行前,用手工或編譯程序等方法進行測試,修正語法錯誤和邏輯錯誤的過程。這是保證計算機信息系統正確性的必不可少的步驟。在Android開發過程中熟練的使用調試技巧是一個很重要的方面。
  • VisualC++2010調試技巧
    程序調試是編程的關鍵做在,能夠幫助各位小主找到不容易發現的錯誤。
  • IntelliJ IDEA使用技巧
    作者: JohnTsai    出處: https://www.cnblogs.com/JohnTsai/p/4114412.html這篇文章主要學習了idea的使用技巧。——百度百科下載安裝官網:https://www.jetbrains.com/     下載網址:https://www.jetbrains.com/idea/download/有兩個版本:Ultimate版和Community
  • Eclipse的Debug調試技巧大全
    Eclipse的Debug調式技巧大全【面試+工作】一、Debug視圖調試中最常用的窗口是:
  • 12個Visual Studio調試效率技巧
    在這篇文章中,我們假定讀者了解VS基本的調試知識,如:F11 步進到函數內(如果當前程序指針指向一個函數)調試窗口:局部變量、監視、即時窗口、模塊、調用堆棧、異常設置許多開發人員使用這個功能強大的工具包來處理調試會話。
  • 這些調試技巧都不會,不要說會VBA編程
    程序調試是編程過程的重要組成部分,程序調試可以讓我們修正程序的語法錯誤和邏輯錯誤,並能儘可能地減少程序中的bug。Excel的VBE也提供了豐富的調試工具,如斷點調試,立即窗口和監視窗口等。下面將介紹幾個常用的VBA編程調試技巧。
  • 經驗分享:C++編程中的四個調試小技巧
    經驗分享:C++編程中的四個調試小技巧 本文介紹的是C++中的一些編程的小技巧,希望對你有幫助,一起來看。作者:佚名來源:網際網路|2011-07-12 13:41 下面介紹C++編程的四個小技巧
  • 你不知道的16條JavaScript調試技巧
    JavaScript調試是業內公認的難題。但一旦你掌握技巧,了解了工具本身,便能節省一大把時間。以下16條調試技巧,可供您在下次調試JavaScript代碼時使用!這些技巧大多數都適用於Chrome和Firefox,許多技巧也可以與其他檢查員一起使用。
  • IDEA 社區版不支持 Tomcat?一招完美解決!
    需要注意,IDEA調試配置中的Port參數,與被調試Java進程使用的調試參數中的address參數值需要相同,即調試器連接的埠需要與被調試Java進程監聽的埠一致。3.4.3. 在IDEA啟動調試選中對應的遠程調試配置,點擊調試按鈕開始調試,與使用IDEA啟動Java進程並調試類似。
  • 14個你可能不知道的JavaScript調試技巧
    儘管江湖傳言 JavaScript 很難調試,但如果你掌握了幾個技巧,就能用很少的時間來解決錯誤和 bug.文中已經列出了 14 個你可能不知道的調試技巧,但是可能需要你牢記在心,以便在下次需要調試 JavaScript 代碼時使用!