<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          使用IDEA調(diào)試遠(yuǎn)程Java代碼

          共 1558字,需瀏覽 4分鐘

           ·

          2021-10-10 08:58


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

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

          配置本地參數(shù)
          打開(kāi)IDEA的 “Run/Debug Configurations”?選項(xiàng),配置遠(yuǎn)程服務(wù)器的IP和端口,如下
          紅框中的內(nèi)容暫時(shí)不用管,下一步才會(huì)用到
          在綠框中的第一個(gè)輸入框中輸入遠(yuǎn)程服務(wù)器的ip,第二個(gè)輸入框中輸入遠(yuǎn)程服務(wù)器的端口

          配置遠(yuǎn)程服務(wù)器參數(shù)
          登錄遠(yuǎn)程服務(wù)器,打開(kāi)tomcat的bin文件夾下catalina.sh的文件進(jìn)行編輯,加入如下配置

          export JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8185'

          以上配置的等號(hào)后面的參數(shù)來(lái)自于第一步紅框中的內(nèi)容。
          大多數(shù)情況下,使用紅框中的第一個(gè)輸入框的內(nèi)容作為參數(shù)
          如果遠(yuǎn)程服務(wù)器上的jdk是1.4版本的,則使用紅框中的第二個(gè)輸入框的內(nèi)容作為參數(shù)
          如果遠(yuǎn)程服務(wù)器上的jdk是1.3版本的,則使用紅框中的第三個(gè)輸入框的內(nèi)容作為參數(shù)

          調(diào)試
          啟動(dòng)第一步配置好的IDEA服務(wù),在要調(diào)試的代碼上打上斷點(diǎn),當(dāng)遠(yuǎn)程服務(wù)器上的程序被訪(fǎng)問(wèn)時(shí)就會(huì)進(jìn)入到斷點(diǎn)中,這時(shí)就可以愉快的調(diào)試了

          啟動(dòng)IDEA服務(wù)點(diǎn)擊如下按鈕

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


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

          先說(shuō)綠框中的參數(shù)
          Transport是IDEA和遠(yuǎn)程服務(wù)器的通訊方式,如果遠(yuǎn)程服務(wù)器是linux或macos則選擇socket,如果遠(yuǎn)程服務(wù)器是windows則選擇Shared memory
          Debugger mode的可選項(xiàng)有Attach和Listen。Attach表示服務(wù)端啟動(dòng)后等待IDEA去連接;Listen表示IDEA監(jiān)聽(tīng)服務(wù)端的端口,等服務(wù)端準(zhǔn)備好時(shí)會(huì)建立連接,此種方式要求服務(wù)端能ping通本地電腦的ip。通常使用Attach模式
          Host是遠(yuǎn)程服務(wù)器的ip,Port是遠(yuǎn)程服務(wù)器的端口

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

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

          ?推薦閱讀


          華為最美小姐姐被外派墨西哥后...


          國(guó)內(nèi)有程序員電視劇了,結(jié)果看了一分鐘,就吐了...


          男女洗澡前后區(qū)別,太形象了!



          END


          頂級(jí)程序員:topcoding

          做最好的程序員社區(qū):Java后端開(kāi)發(fā)、Python、大數(shù)據(jù)、AI


          一鍵三連「分享」、「點(diǎn)贊」和「在看」


          瀏覽 40
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  激情操逼视频 | 青青草免费公开视频 | 亚洲中文字幕视频国产最新 | 91资源在线播放 | 男人手机天堂 |