idea遠(yuǎn)程debug

遠(yuǎn)程調(diào)試

使用特定JVM參數(shù)運(yùn)行服務(wù)端代碼

要讓遠(yuǎn)程服務(wù)器運(yùn)行的代碼支持遠(yuǎn)程調(diào)試,則服務(wù)器端的jar包啟動(dòng)的時(shí)候必須加上特定的JVM參數(shù),這些參數(shù)是:

-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=${debug_port}

其中的${debug_port}是用戶自定義的,為debug端口。

本地連接遠(yuǎn)程服務(wù)器debug端口

打開(kāi)Intellij IDEA,在頂部靠右的地方選擇”Edit Configurations…”,進(jìn)去之后點(diǎn)擊+號(hào),選擇”Remote”,按照下圖的只是填寫(xiě)紅框內(nèi)的內(nèi)容,其中Name填寫(xiě)名稱,這里為remote webserver,host為遠(yuǎn)程代碼運(yùn)行的機(jī)器的ip/hostname,port為上一步指定的debug_port。然后點(diǎn)擊Apply,最后點(diǎn)擊OK即可


本地IDEA啟動(dòng)debug模式

現(xiàn)在在上一步選擇”Edit Configurations…”的下拉框的位置選擇上一步創(chuàng)建的remote webserver,然后點(diǎn)擊右邊的debug按鈕(長(zhǎng)的像臭蟲(chóng)那個(gè)),看控制臺(tái)日志,如果出現(xiàn)類似“Connected to the target VM, address: ‘xx.xx.xx.xx:5555’, transport: ‘socket’”的字樣,就表示連接成功過(guò)了。我這里實(shí)際顯示的內(nèi)容如下:

Connected to the target VM, address: '10.185.0.192:15555', transport: 'socket'

設(shè)置斷點(diǎn),開(kāi)始調(diào)試

遠(yuǎn)程debug模式已經(jīng)開(kāi)啟,現(xiàn)在可以在需要調(diào)試的代碼中打斷點(diǎn)了,比如:



現(xiàn)在在本地發(fā)送一個(gè)到遠(yuǎn)程服務(wù)器的請(qǐng)求,看本地控制臺(tái)的bug界面,劃到debugger這個(gè)標(biāo)簽,可以看到當(dāng)前遠(yuǎn)程服務(wù)的內(nèi)部狀態(tài)(各種變量)已經(jīng)全部顯示出來(lái)了,并且在剛才設(shè)置了斷點(diǎn)的地方,也顯示了該行的變量值。

需要注意的是,用于遠(yuǎn)程debug的代碼必須與遠(yuǎn)程部署的代碼完全一致,不能發(fā)生任何的修改,否則打上的斷點(diǎn)將無(wú)法命中,切記切記。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容