blob: f319f4205df7fda2fa1771f40dfd61207eb329a4 [file] [log] [blame] [view]
---
{
"title": "FE Development and Debugging Environment - Visual Studio Code (VSCode)",
"language": "en"
}
---
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
# Apache Doris Be development and debugging in VS Code
Some developers are building FE development environment on a development machine/WSL/docker, but this kind of development environment is not supported for local development, some developers are used to use VSCode to configure remote develop and debug.
## Preparation
* JDK11+ (Java Extension Pack need JDK11+) (author is creating a `lib` directory under `home`, and install [JDK11](https://github.com/adoptium/temurin11-binaries/releases/) and JDK8 in it, and use them for `Extensions` and `Compilation`)
* VSCode
+ Extension Pack for Java
+ Remote Extensions
## Download code for compilation
1. https://github.com/apache/doris.git Download the doris source code
2. use VSCode to open the code `/fe` directory
## Setting for VSCode
Create `settings.json` in `.vscode/` , and set settings:
* `"java.configuration.runtimes"`
* `"java.jdt.ls.java.home"` -- must set it to the directory of JDK11+, used for vscode-java plugin
* `"maven.executable.path"` -- maven pathfor maven-language-server plugin
example:
```json
{
"java.configuration.runtimes": [
{
"name": "JavaSE-1.8",
"path": "/!!!path!!!/jdk-1.8.0_191"
},
{
"name": "JavaSE-11",
"path": "/!!!path!!!/jdk-11.0.14.1+1",
"default": true
},
],
"java.jdt.ls.java.home": "/!!!path!!!/jdk-11.0.14.1+1",
"maven.executable.path": "/!!!path!!!/maven/bin/mvn"
}
```
## Build
Other articles have already explained:
* [Build with LDB toolchain ](/docs/install/source-install/compilation-with-ldb-toolchain)
* ......
In order to debug, you need to add debugging parameters when fe starts, such as
```shell
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
```
In `doris/output/fe/bin/start_fe.sh` , after `$JAVA $final_java_opt` add this param.