1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        如何使用IDEA編輯器,調(diào)試遠程Java代碼?

        共 1534字,需瀏覽 4分鐘

         ·

        2020-09-24 07:54

        眾所周知使用IDEA開發(fā)時可以通過debug進行調(diào)試并快速定位問題,但是如果代碼已發(fā)布到遠程服務(wù)器上,該如何調(diào)試呢?本文將告訴你如何利用IDEA調(diào)試遠程服務(wù)器上的代碼

        本文會先講如何配置參數(shù)、調(diào)試,然后講各項參數(shù)的含義,最后講注意事項。各位在嘗試過程中不需要擔心這個沒看懂,那個是為什么,只需要跟著做就行了。假如看完整篇文章后還有疑問,可以在留言區(qū)提問

        配置本地參數(shù)
        打開IDEA的 “Run/Debug Configurations”?選項,配置遠程服務(wù)器的IP和端口,如下


        紅框中的內(nèi)容暫時不用管,下一步才會用到
        在綠框中的第一個輸入框中輸入遠程服務(wù)器的ip,第二個輸入框中輸入遠程服務(wù)器的端口

        配置遠程服務(wù)器參數(shù)
        登錄遠程服務(wù)器,打開tomcat的bin文件夾下catalina.sh的文件進行編輯,加入如下配置
        export JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8185'
        以上配置的等號后面的參數(shù)來自于第一步紅框中的內(nèi)容。
        大多數(shù)情況下,使用紅框中的第一個輸入框的內(nèi)容作為參數(shù)
        如果遠程服務(wù)器上的jdk是1.4版本的,則使用紅框中的第二個輸入框的內(nèi)容作為參數(shù)
        如果遠程服務(wù)器上的jdk是1.3版本的,則使用紅框中的第三個輸入框的內(nèi)容作為參數(shù)

        調(diào)試
        啟動第一步配置好的IDEA服務(wù),在要調(diào)試的代碼上打上斷點,當遠程服務(wù)器上的程序被訪問時就會進入到斷點中,這時就可以愉快的調(diào)試了

        啟動IDEA服務(wù)點擊如下按鈕


        IDEA啟動成功后,控制臺輸出如下內(nèi)容


        參數(shù)解釋
        下圖是第一步配置時的截圖,我們來逐一解釋以下各個參數(shù)的含義

        先說綠框中的參數(shù)

        Transport是IDEA和遠程服務(wù)器的通訊方式,如果遠程服務(wù)器是linux或macos則選擇socket,如果遠程服務(wù)器是windows則選擇Shared memory 。

        Debugger mode的可選項有Attach和Listen。Attach表示服務(wù)端啟動后等待IDEA去連接;Listen表示IDEA監(jiān)聽服務(wù)端的端口,等服務(wù)端準備好時會建立連接,此種方式要求服務(wù)端能ping通本地電腦的ip。通常使用Attach模式。

        Host是遠程服務(wù)器的ip,Port是遠程服務(wù)器的端口。

        再說紅框中的參數(shù)

        紅框中的參數(shù)不允許手動修改,它跟著綠框中參數(shù)的修改而發(fā)生變化。
        -Xrunjdwp:通知JVM使用jdwp(java debug wire protocol)來運行服務(wù)器代碼
        transport的值可選dt_socket和dt_shmem,分別對應(yīng)綠框中的Socket和Shared memory
        address對應(yīng)綠框中的Port,是遠程服務(wù)器的端口

        注意事項

        1. 遠程服務(wù)器上的端口必須沒有被占用,并且可以被本地訪問到,可以通過telnet測試,如:telnet 遠程ip 遠程端口
        2. 遠程服務(wù)器上部署的代碼必須和本地的源代碼保持一致,否則斷點無法進入
        3. 配置遠程服務(wù)器時,如果JAVA_OPTS參數(shù)在catalina.sh中已經(jīng)存在,則只需要把要配置的參數(shù)追加到后面就行 。

        推薦閱讀:
        Java 15 正式發(fā)布, 好多新特性,刷新你的認知?。?/a>
        2020年9月程序員工資最新統(tǒng)計,以及中國編程語言9月排行榜!
        鍵盤敲入 A 字母時,操作系統(tǒng)期間發(fā)生了什么...


        歡迎關(guān)注我的公眾號


        長按上圖,識別圖中二維碼即可關(guān)注

        瀏覽 64
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            久久精品苍井空免费一区二 | 呦小泬哟小泬哟小泬免费看 | 亚洲黄色电影网站 | 黄a视频| 亚洲 欧美 手机在线观看 | 欧美在线黄 | 国产精品视频一二三区 | 久久久久国产精品国产 | 《艳女伦交》电影 | 手机版毛片 |