首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用rebar3插件在vscode中调试erlang erlang?

如何使用rebar3插件在vscode中调试erlang erlang?
EN

Stack Overflow用户
提问于 2021-10-15 20:16:59
回答 1查看 118关注 0票数 2

我使用的是vscode的Erlang语言插件。我创建了一个新的rebar3应用程序,并创建了一个不使用主管的简单应用程序:

代码语言:javascript
复制
-module(test_app_app).

-behaviour(application).

-export([start/2, stop/1]).

start(_StartType, _StartArgs) ->
    load_file("input.txt").

stop(_State) ->
    ok.

load_file(Filename) ->
    case file:read_file(Filename) of
        {ok, Bin} ->
            Bin;
        {error, Reason} ->
            erlang:error(Reason)
    end.

我已经像这样配置了一个launch.json文件:

代码语言:javascript
复制
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch erlang",
            "type": "erlang",
            "request": "launch",
            "cwd": "${workspaceRoot}",
            "arguments": "-s test_app_app start",
            "preLaunchTask": "rebar3 compile"
        }
    ]
}

以及用于编译的tasks.json:

代码语言:javascript
复制
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "rebar3 compile",
            "type": "shell",
            "command": "rebar3 compile",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": "$erlang"
        }
    ]
}

当我点击F5时,我会得到以下输出:

代码语言:javascript
复制
compiling erlang bridge to '/home/peter/.vscode/extensions/pgourlain.erlang-0.8.1/_build/default/lib/ebin'
Compiling arguments file  "/tmp/bp_1454870.erl"
Compile result: sucess 
Module bp_1454870 loaded
{"init terminating in do_boot",{undef,[{t
est_app_app,start,[],[]},{init,start_em,1,[]},{init,do_boot,3,[]}]}}
init terminating in do_boot ({undef,[{test_app_app,start,[],[]},{init,start_em,1,[]},{init,do_boot,3,[]}]})

Crash dump is being written to: erl_crash.dump...
done
erl exit code:1
erl exit with code 1

有没有人知道为什么这对我不起作用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-16 01:49:40

问题出在您的launch.json中。您尝试从模块test_app_app运行函数start/0,但该函数不存在。

试着使用

代码语言:javascript
复制
"arguments": "-eval \"application:start(test_app)\""
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69590165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档