跳转至主要内容

Jetbrains 远程调试

支持的 IDE#

LanguageIDE版本依赖插件
JavaIntelliJ IDEAUltimateN/A
GoIntelliJ IDEAUltimateGo plugin
GoLandProfessionalN/A
PythonIntelliJ IDEAUltimatePython plugin
PyCharmProfessionalN/A
PHPIntelliJ IDEAUltimatePHP plugin
PHPStormProfessionalN/A
Node.jsIntelliJ IDEAUltimateNode.js plugin
WebStromProfessionalN/A

调试流程#

  1. 选择您想要调试的工作负载
  2. 右键点击工作负载并选择 Dev Config编辑您的调试配置
  3. 然后右键再次点击此工作负载并选择 Remote Debug
  4. Nocalhost 将自动进入 DevMode 并开始远程调试

IDE 中的调试配置#

在进入调试模式前,如果您在现有的工作负载下还没有一个 Nocalhost 的调试配置,Nocalhost 将根据您的 Nocalhost 配置 创建一个新的 IDE 调试配置。 不同的 IDE 有不同的配置名称和模板。

Multi Configs

如果您已经在现有工作负载下有多个 Nocalhost 调试配置,Nocalhost 将使用第一个配置执行调试。 您可以在 IDE 的 Run/Debug Configurations 窗口中调整配置执行的顺序。

IDE 中的 Nocalhost 调试配置

配置内容#

不同的开发人员的开发环境是不同的。 你应该根据实际情况来配置远程调试的配置。

配置示例#

Nocalhost Configs
name: java-remote-debugging
serviceType: deployment
containers:
- name: ""
dev:
...
command:
debug:
- ./debug.sh
debug:
remoteDebugPort: 5005
...

Maven Example#

The shell command for Maven example:

jdk >= 1.8 and springBoot >=2.2.1.RELEASE
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"

For jdk <=1.7 you should replace -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 with -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005

For lower version of the springBoot you should replace -Drun.jvmArguments with -Dspring-boot.run.jvmArguments

Gradle Example#

The startup command for Gradle example:

Gradle's debug.sh
./gradlew bootRun --debug-jvm --no-daemon