> For the complete documentation index, see [llms.txt](https://o2oa.gitbook.io/course/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://o2oa.gitbook.io/course/yuan-ma-de-bian-yi-ji-guan-li/cheng-xu-tiao-shi/hou-duan-kai-fa.md).

# 后端代码的远程调试

O2OA无法直接在IDE内直接运行起来，无法直接进行断点调试。可以使用JVM的调试端口配合IDE进行远程调试。

## 一、服务器上添加配置

jvm是支持远程调试的，得在启动脚本里加jvm参数开启远程调试

![添加配置](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-Loy2mdg1RIqveFgSalS%2F-Loy2nVG1BlmbDFvGaIA%2Fimage.png?alt=media\&token=72ef21ed-9a6b-4f3d-9771-be2a828bdd86)

添加内容：-Xdebug -Xrunjdwp:transport=dt\_socket,address=6666,server=y,suspend=n

```
"%~dp0jvm\windows\bin\java" -Xdebug -Xrunjdwp:transport=dt_socket,address=6666,server=y,suspend=n -Xms2g -XX:+UseConcMarkSweepGC -jar "%~dp0console.jar"
```

## 二、启动服务器

正常启动服务器，但是可以看到输出的日志中有打印开放端口的的日志。

Listening for transport dt\_socket at address: 6666

![服务器启动截图](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-LpCnO0iiFHnX4L4Vdpk%2F-LpCoFPM5hFwCNVJ5z3C%2FQQ%E6%88%AA%E5%9B%BE20190920163631.png?alt=media\&token=5e723092-0b71-4d74-85cb-3bc9209dbaab)

## 三、IDEA相关配置

### 1、增加调试/运行配置

![](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-Loy3tnftj4Xv8cE9sE0%2F-Loy3xfLdezBiavV9C9T%2Fimage.png?alt=media\&token=0fbe0d70-f769-4f17-ade9-66e83f90d1a4)

### 2、启动调试

点击左上角的绿色小虫，会提示

Connected to the target VM, address: '127.0.0.1:6666', transport: 'socket'

![](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-Loy4T_neeS9HZVhgAwm%2F-Loy57Jrtx4_wY7cb-0L%2Fimage.png?alt=media\&token=768004b6-e0f4-49d7-adde-e46f79be3df0)

### 3、增加断点

![](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-Loy5mK_PxsC-yrNEwTG%2F-Loy5ta8qr04sgmQqW7u%2Fimage.png?alt=media\&token=0f0dddcf-857a-4fdc-bc02-eb845c27cfa2)

## 四、Eclipse相关配置

### 1、打开调试/运行配置界面

![](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-Lp1t574Y55E8V2cLvXo%2F-Lp1tdAlsB5jdtDSnVKM%2Fimage.png?alt=media\&token=ce14a656-ed89-41ed-8822-09e74cf0faa8)

### 2、新增远程调试配置

![](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-Lp1tzYxIC6QKR-AYbnK%2F-Lp1u0L9EAzS_m47F99u%2Fimage.png?alt=media\&token=d8bc3633-6c51-431e-a043-794fcd404718)

### 3、选择需要调试的项目

选择项目，输入远程服务器的主机ip地址与端口号

![](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-Lp1tzYxIC6QKR-AYbnK%2F-Lp1uG9S74RBU8OMrdwm%2Fimage.png?alt=media\&token=b87623bb-880b-4166-992f-ff6513ceb4ce)

### 4、配置完成后点击“debug”按钮

![](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-Lp1tzYxIC6QKR-AYbnK%2F-Lp1uXGxbtXpwDvynQfu%2Fimage.png?alt=media\&token=db9ab19f-5a50-4cc7-a23e-760164a9c80a)

### 5、在代码增加断点调试

![](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-Lp1tzYxIC6QKR-AYbnK%2F-Lp1ufbUNlYl_qiCZfZj%2Fimage.png?alt=media\&token=51d9753c-a21b-4b91-952f-b5a215f7d53c)

Eclipse远程调试教程很多，可以参考:

<https://www.eclipse.org/jetty/documentation/current/enable-remote-debugging.html>
