idea debug調試————簡單常用,適合初學者

2020-09-24 天天編程日記

背景:

在現在的開發中,如果不會debug,那麼將會給我們的開發帶來很大的困擾,如果僅僅是依靠日誌信息去查問題,將會大大增加我們解決問題的難度,下面說一下idea開發工具下的簡單debug。

適用人群:

java開發初學者。

好處:

快速定位問題,解決問題。大大增加了開發效率。

工具版本:

idea2017.3.2

項目框架

springboot

流程:

1、debug啟動伺服器,只有在debug啟動的前提下,才能進行debug

2、添加斷點,在代碼的左側添加斷點,左鍵點擊一次即可,再點擊一次表示取消斷點。切記斷點要加在代碼上面,不要加在無意義的地方。

3、發送請求,觸發斷點,前端頁面處於請求的狀態,這個時候後臺就來到了斷點處,我們接著往下看

4、

5、我們可以Resume Program (F9):恢復程序,比如,你在第20行和25行有兩個斷點,當前運行至第20行,按F9,則運行到下一個斷點(即第25行),再按F9,則運行完整個流程,因為後面已經沒有斷點了。如果只有一個斷點,直接點擊一次恢復程序,恢復到正常的程序。

6、我們點擊完以後,idea的界面恢復正常,如下圖

再繼續看頁面

7、我們現在debug在不同的類中加斷點,如何調試,如何進入方法內部,多斷點調試

添加斷點如下圖

首先進入debug,按照之前講的第一步,發送請求

進入debug模式,如果我們想要進入第二個斷點,有兩種選擇方式

1>、點擊

這裡不再贅述,上面講過,

我們來講第二種方式

2>、Step Into (F7):步入,如果當前行有方法,可以進入方法內部,一般用於進入自定義方法內,不會進入官方類庫的方法,如第22行的創建list方法。

進入之後的效果如下圖:

此時斷點就已經過來了,到達第二個斷點

我們一步一步往下執行,可以點擊Step Over (F8):步過,一行一行地往下走,如果這一行上有方法不會進入方法。如下圖

調試程序的目的是找出問題,所以需要我們來查看中間的變量

8、如何查看中間變量

如下,在IDEA中,參數所在行後面會顯示當前變量的值。

2、光標懸停到參數上,顯示當前變量信息。我一般會使用這種方式,快捷方便

3、在Variables裡查看,這裡顯示當前方法裡的所有變量

最終我們跟進程序,跟進變量的變化,找到問題,解決問題。

這是簡單的debug調試,也是比較常用的調試步驟。

相關焦點

  • idea遠程調試
    【前言】 在工作中不免會遇到由於環境引起的問題,在本地可以但是發布到伺服器上有問題,此時可以藉助於遠程調試幫我們快速定位問題的所在。【遠程調試】 一、基本環境說明 1.本博客的demo代碼地址 https://github.com/dangnianchuntian/springboot
  • IDEA遠程調試
    背景大部分測試環環境和本地環境有區別,在本地上也很難搭建起一套完整的服務,所以導致了在本地可以發布到伺服器上卻出現各種問題,這時候我們就可以藉助遠程調試來幫助我們快速的定位問題的所在。基本環境遠程調試需要在伺服器上部署與本地一致的代碼。
  • Idea遠程調試
    idea遠程調試方式Idea遠程調試 當把一個本地項目部署到遠程伺服器後有可能出現意想不到錯誤,這個時候通過遠程調試能夠更清楚的找到bug所在位置。本篇主要講解如何使用Idea開發工具 進行調試1.遠程調試伺服器上面的SpringBoot 項目2.遠程調試伺服器上運行在tomcat中的項目,實際開發部署中有時候還是很有用處的,方便你定位錯誤 快速找出錯誤。
  • 使用IDEA實現遠程代碼DEBUG調試教程詳解
    我們在使用 IDEA DEBUG調試代碼的時候,常常見到控制臺會輸出一句這樣的話:「Connected to the target VM, address: '127.0.0.1:62981', transport: 'socket'」,所以即使代碼不在本地運行,只要JVM打開調試模式,並且網絡能夠用過 socket 連接到JVM,使用 Debug 協議通過 Socket
  • Spring Boot Debug 調試秘籍,日後必定有用
    最近發現 Spring Boot 本地不能 Debug 調試了,原來 Spring Boot 升級後,對應插件的命令參數都變了,故本文做一個升級。If you need to debug it, you should add the necessary JVM arguments to enable remote debugging.
  • 圖文並茂教你學會使用IntelliJ IDEA 進行遠程調試
    要讓遠程伺服器運行的代碼支持遠程調試,則啟動的時候必須加上特定的 JVM 參數,這些參數是:-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=${debug_port}其中 debug_port 是服務端開放的調試埠,後續本地配置會用到。3.
  • 遠程調試Java程序
    一、概述Java的遠程debug,可以在本地打斷點,調試遠程程序。方法是修改JAVA_OPTS參數,使用Eclipse或IDEA等工具調試。遠程調試有兩種方式:主動連接調試:服務端配監控埠,IDE連接遠程埠。被動連接調試:IDE設置監聽埠,等遠程連接本地埠。
  • Intellij IDEA——Debug不能啟動
    點擊右上方Run–>Edit configuration…–>tomcat名稱–>Startup/connection–>debug,把Pass environment variables前面的勾去掉即可。至於原因其實很簡單,那是因為你的tomcat下的catalina.bat裡面配置了JAVA_OPTS,兩者更改其一即可。
  • eclipse怎麼調試程序 調試代碼的方法介紹
    2、調試   (1)點擊"打開透視圖"按鈕,選擇調試透視圖,則打開調試透視圖界面,然後先設置斷點,按調試按鈕則可以調試程序。   (2)或者直接點擊調試按鈕,那個蟲子樣子的按鈕,然後就會進入調試透視圖的界面。前提你需要是要在程序中設置好斷點。
  • IDEA 調試技巧,比 Eclipse 強太多了!
    參考上圖,在斷點的位置,右擊斷點旁邊的小紅點,會出來一個界面,在Condition這裡填入斷點條件即可,這樣調試時,就會自動停在i=10的位置二、回到"上一步"該技巧最適合特別複雜的方法套方法的場景,好不容易跑起來,一不小心手一抖,斷點過去了,想回過頭看看剛才的變量值,如果不知道該技巧
  • 缺氧debug模式怎麼用 缺氧debug模式開啟方式及代碼
    《缺氧》 Ps.debug模式僅供娛樂,不建議在正式存檔上使用。 缺氧debug模式是什麼?debug模式簡單說來就是一種作弊,開啟之後我們可以直接修改資源物品的數量,方便我們更簡單的獲取想要的資源。 開啟方法 首先找到缺氧遊戲的安裝位置,進入根目錄下,然後進入文件夾OxygenNotIncluded_Data
  • 程式設計師與Bug、Bug與Debug的含義
    既然debug 是我們工作生涯中不可或缺的組成部分,容易混淆的是,debug 儘管在更多時候是一個過程,但有時候指的是一個程序——debugger。Debugger是個程序Debugger為一種調試軟體,工程師或程式設計師可以用來驗證算法。
  • 缺氧debug模式怎麼開 缺氧測試模式怎麼使用
    導 讀 缺氧debug模式怎麼開,缺氧測試模式怎麼使用。
  • go runtime debug 小技巧
    結果令我有點沮喪,搜到的幾乎所有文章開篇都是通過GDB調試, 然後就是不同平臺下的彙編代碼。。。這令我很不開心, 雖然C/C++應用很廣泛, 但是我對它真的沒啥興趣啊, 對它相關的調試工具就更加不感冒了, 雖然它可以調試go程序, 但是總感覺心裡少了點什麼, 難道dlv它不香嘛, 於是就有了今天這篇文章dlv命令行debug
  • go runtime debug 小技巧
    結果令我有點沮喪,搜到的幾乎所有文章開篇都是通過GDB調試, 然後就是不同平臺下的彙編代碼。。。這令我很不開心, 雖然C/C++應用很廣泛, 但是我對它真的沒啥興趣啊, 對它相關的調試工具就更加不感冒了, 雖然它可以調試go程序, 但是總感覺心裡少了點什麼, 難道dlv它不香嘛, 於是就有了今天這篇文章dlv命令行debugdlv的名頭應該不用我多說, 所以我們直奔主題1.
  • java程式設計師,你會在Eclipse IDE中調試代碼嗎?
    【IT168 評論】調試是所有Java程式設計師的必備技能。本文將從初學者指南開始,幫助程式設計師學習調試。在本文的第二部分,你還可以看到有關新版Eclipse Oxygen中如何調試的講解。  調試是從程序中定位和刪除bug或異常的常規過程。
  • IntelliJ遠程Debug,找問題不要只會看日誌了
    1 前言我們習慣於在本地開發的時候debug,能快速定位與解決問題,那部署在伺服器上是不是就沒有辦法了呢?只能通過查看日誌來定位?不是的,在遠端的伺服器上,我們一樣可以debug。2 IDEA的debug我們先來看一下在IntelliJ IDEA直接debug是怎樣的。
  • IDEA 調試技巧,比 Eclipse 強太多了
    二、回到"上一步"該技巧最適合特別複雜的方法套方法的場景,好不容易跑起來,一不小心手一抖三、多線程調試多線程同時運行時,誰先執行,誰後執行,完全是看CPU心情的,無法控制先後,運行時可能沒什麼問題,但是調試時就比較麻煩了,最明顯的就是斷點亂跳,一會兒停這個線程,一會兒停在另一個線程,比如下圖:
  • 風變編程:Python適合編程初學者學習嗎?
    Python基於清晰的語法和直觀的問題解決方案還有其強大的跨平臺GUI工具,也是激起許多小白初學者興趣的重要條件,相比於其他語言,Python效率極高,程序包含的代碼行更少,代碼也更容易閱讀、調試和擴展。 同時,Python工程師目前正處於人才需求旺盛、供應短缺的時期,工資一路上漲,所以Python是十分適合編程初學者進行學習的。
  • 簡單5步,輕鬆debug K8S服務
    在本文中,將介紹如何調試K8S服務,這些服務是由多個Pod組成的工作負載的抽象接口(主機+埠)。在我們深入探索debug方法之前,我們先簡單回顧一下網絡,這是Kubernetes這十分簡單,為了讓你更進一步深入了解和研究Kubernetes的網絡世界,歡迎你閱讀以下文章。