1. 程式人生 > >Intellij IDEA遠端debug教程實戰和要點總結

Intellij IDEA遠端debug教程實戰和要點總結

遠端除錯,特別是當你在本地開發的時候,你需要除錯伺服器上的程式時,遠端除錯就顯得非常有用。

  JAVA 支援除錯功能,本身提供了一個簡單的除錯工具JDB,支援設定斷點及執行緒級的除錯同時,不同的JVM通過介面的協議聯絡,本地的Java檔案在遠端JVM建立聯絡和通訊。此篇是Intellij IDEA遠端除錯的教程彙總和原理解釋,知其然而又知其所以然。

本機Intellij IDEA遠端除錯配置


1,開啟Inteliij IDEA,頂部選單欄選擇Run-> Edit Configurations,進入下圖的執行/除錯配置介面。

2,點選左上角'+'號,選擇Remote。分別填寫右側三個紅框中的引數:

Name,Host(想要指定的遠端除錯埠)。

3,點選介面右下角應用按鈕即可。

二,端的的服務的的的開啟除錯模式,增加JVM啟動引數,以支援遠端除錯

  端的的伺服器的的的找到的的的的的catalina.sh檔案,在Tomcat的的的的的安裝目錄的倉目錄下,複製到本地,進行編輯,在第一行新增引數配置如下,完成後貼上回去。


   配置新增之後,重啟tomcat即可生效shutdown.sh /startup.sh)到此,開始遠端除錯。

Intellij IDEA 啟動遠端呼叫

最後,開啟IDEA,程式上打上斷點,執行模式選遠端,點選執行。呼叫伺服器端執行的系統程式,系統自動進入斷點



4,為什麼可以進行遠端除錯,背後的原理是什麼?

   首先,瞭解下的Java程式的執行過程- 分為以下幾個步驟Java的檔案 - - 編譯生成的類檔案(class檔案) - - JVM載入類檔案 - - JVM執行類位元組碼檔案 - - JVM翻譯器翻譯成各個機器認識的不同的機器碼

遠端除錯原理

   眾所周知,Java 程式是執行在Java 虛擬機器JVM )上的具有良好跨平臺性,是因為Java程式統一以位元組碼的形式在JVM中執行,不同平臺的虛擬機器都統一使用這種相同的程式儲存格式。因為都是類位元組碼檔案,只要原生代碼和遠端伺服器上的類檔案相同兩個JVM通過除錯協議進行通訊(例如通過插座在同一個埠進行通訊),另外需要注意的時,

除錯的伺服器需要開啟除錯模式,伺服器端的程式碼和原生代碼必須保持一致則會造成斷點無法進入的問題。

<code>Java</code>的偵錯程式架構

   這個架構其實質還是JVM,只要確保本地的的的Java的原始碼與目標應用程式一致,本地的Java的的的的原始碼就可以用插座連線到遠端的JVM,進而執行除錯。因此,在這種插座連線模式(下文介紹)下,本地只需要有原始碼,本地的的的的Java的應用程式根本不用啟動。

傳輸方式,預設為Socket ;

套接字:MACOS及的的Linux的系統使用此種傳輸方式;

共享記憶體:WINDOWS系統使用此種傳輸方式。

除錯模式,預設為Attach ;

Attach :此種模式下,除錯服務端(被除錯遠端執行的機器)啟動一個埠等待我們(除錯客戶端)去連線;

聽:此種模式下,是我們(除錯客戶端)去監聽一個埠,當除錯服務端準備好了,就會進行連線。

配置屬性說明補充

1.idea的的服務的開啟除錯模式設定詳細說明,

2.各引數解釋:

  • -Xdebug:通知JVM工作在除錯模式下
  • -Xrunjdwp:通知JVM使用(java debug wire protocol)來執行除錯環境。引數同時有一系列的除錯選項:
  • <code>session</code>:指定了除錯資料的傳送方式,dt_socket是指用SOCKET模式,另外dt_shmem指用共享記憶體方式,其中dt_shmem只適用於視窗平臺.server 

    相關推薦

    Intellij IDEA遠端debug教程實戰要點總結

    遠端除錯,特別是當你在本地開發的時候,你需要除錯伺服器上的程式時,遠端除錯就顯得非常有用。  JAVA 支援除錯功能,本身提供了一個簡單的除錯工具JDB,支援設定斷點及執行緒級的除錯同時,不同的JVM通

    IntelliJ IDEA遠端Debug Linux的Java程式,找問題不要只會看日誌了

    # 1 前言 > 歡迎訪問[南瓜慢說 www.pkslow.com](https://www.pkslow.com/)獲取更多精彩文章! 我們習慣於在本地開發的時候`debug`,能快速定位與解決問題,那部署在伺服器上是不是就沒有辦法了呢?只能通過檢視日誌來定位? 不是的,在遠端的伺服器上,我們

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

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

    理解 IntelliJ IDEA 的項目配置Web部署

    模式 select 標簽 ima div cati 選項 out web項目 1、項目配置的理解IDEA 中最重要的各種設置項,就是這個 Project Structre 了,關乎你的項目運行,缺胳膊少腿都不行。最近公司正好也是用之前自己比較熟悉的IDEA而不是Eclips

    IntelliJ IDEA(2017)安裝破解

    per target 有一個 tar 程序 新項目 文件 python 開放 IDEA 全稱 IntelliJ IDEA,是Java語言開發的集成環境,IntelliJ在業界被公認為最好的java開發工具之一,尤其在智能代碼助手、代碼自動提示、重構、J2EE支持、各類版本工

    轉:理解 IntelliJ IDEA 的項目配置Web部署

    例如 tps alt 開發 path -c archive 可能 tab 1、項目配置的理解 IDEA 中最重要的各種設置項,就是這個 Project Structre 了,關乎你的項目運行,缺胳膊少腿都不行。最近公司正好也是用之前自己比較熟悉的IDEA而不是Eclipse

    用maven來創建scalajava項目代碼環境(圖文詳解)(Intellij IDEA(Ultimate版本)、Intellij IDEA(Community版本)Scala IDEA for Eclipse皆適用)(博主推薦)

    搭建 ava XML .com 自動 ado ima 強烈 mapred 為什麽要寫這篇博客?   首先,對於spark項目,強烈建議搭建,用Intellij IDEA(Ultimate版本),如果你還有另所愛好嘗試Scala IDEA for Eclipse,有時間自己去

    使用idea遠端debug java應用

    切忌在生產環境開啟使用除錯,除錯時候最好通知其他人,否則應用會被阻塞。 開發過程中,有些情況需要在測試環境才能復現,需要在遠端伺服器上除錯。這時可以使用JMX遠端除錯 除錯工具為Intellij IDEA. 1.首先修改應用啟動項 假如之前jmx_message為: STAR

    IDEA遠端debug伺服器上程式碼

    之前在專案中,springboot專案本地執行正常,但部署到伺服器上,會出現一些問題,因此想在本地除錯伺服器上的程式碼。 執行環境: 服務端:Linux系統 客戶端:IDEA 1. 服務端配置 編輯tomcat目錄下的bin/catalina.sh,新增以

    IntelliJ IDEA 如何設定程式碼提示程式碼模板

    在編寫java程式碼時如何設定不分大小寫提示和設定快捷輸出模板程式碼 首先設定不分大小寫,settings-Editor-General-CodeCompletion 將紅框的Match case取消打勾,即可 設定快捷輸出模板程式碼 首先Setting-Editor-LiveTemplates,

    IntelliJ IDEA-2018.2檢視原始碼當前類中所有的屬性方法(十六)

    一、檢視原始碼 步驟1:下載api文件  去Sun官網下載api文件 ,下載後(比如jdk-8u181-docs-all.zip)儲存在本地,下載地址:http://www.oracle.com/technetwork/java/javase/documentation/jdk

    IntelliJ IDEA-2018.2匯入模組工程(十五)

    一、匯入模組 1> 新建一個空專案  New|Project.... 2>建立空專案名稱 3>選擇Modules|Add|import Module   4>選擇路徑哦!!注意每個匯入的方式不一樣的哦! 5>添

    IntellIJ IDEA配置以及Java程式Scala程式的建立

    1、工欲善其事,必先利其器;先搭建一個IntellIJ IDEA的開發環境,簡單總結一下: (1)IntellIJ IDEA的java配置IntellIJ IDEA的JAVA環境: 1)Files->Project Structure; 2)下載一個jdk包,我這裡選擇的版本的是jdk1.8.0_

    intellij idea local changes 忽略 檔案資料夾的方法

    在我們svn提交的時候想要看看自己改了哪些檔案,可以在 Version Control--> Local Changes 中看到,並在裡面提交程式碼即可,但是裡面會有很多我們不想看到的檔案,比如idea的配置檔案 *.iml、class檔案之類的, 想要忽略這些檔案可以用以下方法,在

    intellij idea svn使用教程

    最近從eclipse轉到,記錄下使用教程 1、svn功能 在專案上右擊-->Subversion 出現以下介面,各項功能已列舉出! 原文地址: https://www.cnblogs.com/whc321/p/5669804.html 2、檢視更改了哪些檔案,

    IntelliJ IDEA設定顯示記憶體指示器設定記憶體大小

    一、設定顯示記憶體指示器 idea預設情況下,是不顯示當前記憶體使用情況的,可以通過設定讓其顯示,方法如下: 開啟Settings-->Preferences-->Appearance & Behavior-->Appearance,右側勾選Window Option

    【原】用IDEA遠端Debug Tomcat服務

    【環境引數】 Web容器:Tomcat 8.0 IDE:IDEA 2018.1.5   【具體步驟】 1、配置Tomcat容器引數 編輯$CATALINA_HOME/bin/catalina.sh指令碼,加入如下引數: -agentlib:jdwp=transport=dt_s

    非常好用的外掛之IntelliJ IDEA lombok外掛的安裝使用

    一、lombok的介紹      lombok是開源的程式碼生成庫,是一款非常實用的小工具,我們在編輯實體類時可以通過lombok註解減少getter、setter等方法的編寫,在更改實體類時只需要修改屬性即可,減少了很多重複程式碼的編寫

    【轉載】IntelliJ IDEA(2017)安裝破解

    IntelliJ IDEA(2017)安裝和破解 IDEA 全稱 IntelliJ IDEA,是Java語言開發的整合環境,IntelliJ在業界被公認為最好的java開發工具之一,尤其在智慧程式碼助手、程式碼自動提示、重構、J2EE支援、各

    IntelliJ IDEA遠端除錯Tomcat

    博主說 在除錯程式碼的過程中,為了更好的定位及解決問題,有時候需要我們使用遠端除錯的方法。在本文中,就讓我們一起來看看,如何利用 IntelliJ IDEA 進行遠端 Tomcat 除錯的配置。 服務端Tomcat配置(Linux) 進入服務端Tomc