我的其中一臺機器上有一個 java 行程,監聽埠 4502。我使用 ngrok 創建了一個隧道,以便我可以訪問我的開發機器上的應用程式。我面臨的問題是將除錯器附加到遠程 JVM。
這是我正在使用的除錯 java 配置:
-agentlib:jdwp=transport=dt_socket,address=*:5005,server=y,suspend=n
這是應用程式隧道的 ngrok 配置:
ngrok http 4502
這是到 JVM 的隧道的 ngrok 配置(我也嘗試過 http 協議,但沒有成功):
ngrok tcp 5005
ngrok 為 tcp 隧道輸出以下內容:
Forwarding tcp://2.tcp.eu.ngrok.io:10928 -> 127.0.0.1:5005
使用 IntelliJ,我像這樣配置遠程除錯:
Debugger mode: Attach to remote JVM
Host: tcp://2.tcp.eu.ngrok.io
Port: 10928
啟動除錯器時出現以下錯誤:
運行“除錯作者桌面”時出錯:無法打開除錯器埠 (tcp://2.tcp.eu.ngrok.io:10928):java.io.IOException“握手失敗 - 連接過早關閉”
在運行 java 行程的機器上,我確保在啟動行程之前 5005 埠是打開的。在使用 IntelliJ 的機器上,我確保 10928 埠已打開。我必須做什么才能將除錯器附加到在我的第二臺機器上運行的行程?任何幫助,將不勝感激。
uj5u.com熱心網友回復:
我找到了解決方案。問題出在遠程除錯器配置中。指定主機時,不得包含協議。有一次,我改變了tcp://2.tcp.eu.ngrok.io到2.tcp.eu.ngrok.io,它的作業!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/365223.html
下一篇:ReactNativeANDROID構建失敗,并在BasePackageList.java中出現錯誤。可變引數不匹配;ApplicationPackage無法轉換為Package
