目录
本指导文档为Windows10系统下VSCode Debug Erlang工程的配置指南,同样适用于远程Linux(已在Ubuntu上亲自测试可用)环境,配置大同小异。
1.安装Erlang
下载OTPwinsows版Erlang安装包OTP24,根据自己系统的情况选择合适的安装包下载,安装,在PATH中配置环境变量(C:\Program Files\erl-24.0\bin)。
环境变量配置完成后,在CMD测试下,验证是否成功。
2.VSCode中安装Erlang插件
安装如图所示的插件,插件可以选择安装,代码高亮和跳转都是由这些插件完成的,不过插件根据需要选择安装,也不可贪多,影响运行的效率,也有可能带来未知的问题。(Erlang LS安装导致部分情况下不能Debug代码)
3.安装rebar3
(1)去rebar3官网下载,安装。
(2)为了省事,把下载的rebar3放在OTP 的安装目录下(C:\Program Files\erl-24.0\bin),参看上文。
(3)新建rebar3.cmd文件,填入一下内容。
@echo off
setlocal
set rebarscript=%~f0
escript.exe "%rebarscript:.cmd=%" %*
(4)验证rebar3是否安装成功
在CMD中执行rebar3 --version命令,显示版本信息即成功。
4.用rebar3新建项目
(1)在VSCode终端中创建工程hello
(2)配置tasks.json
终端——配置默认生成任务——使用模板创建tasks.json文件——Others
基本配置如下:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "rebar3 compile",
"type": "shell",
"command": "rebar3 compile",
"problemMatcher": ["$erlang"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
(3)配置launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch erlang",
"type": "erlang",
"request": "launch",
"cwd": "${workspaceRoot}/hello",
"arguments": "-s hello_app",
"preLaunchTask": "rebar3 compile"
}
]
}
(4)启动模块中添加
start() ->
io:format("Hello World"),
StartType = startType,
StartArgs = startArgs,
start(StartType, StartArgs).
5.开启Debug模式
此时,直接启动调试模式,报错如下:
原因:Debug读取的是_build中的文件,需要先用rebar3对代码进行编译。
(1)终端在代码路径下执行指令:rebar3 compile
可以看到,编译完成后,生成了编译后的文件_build。
警示:Ubuntu中rebar1 rebar2编译都不会生成_build文件夹,所以Debug会出错,故在Linux(Ubuntu)中安装rebar3才能使用VSCode的远程Debug功能。
(2)开启Debug
图中所示,代码停在了断点处。此时运行调试即可断点查看变量、堆栈等信息。
可以从调试控制台中看出,安装的erlang debug插件启动工作了。
成功!