我正在為 vscode 使用 Erlang 語言插件。我創建了一個新的 rebar3 應用程式并創建了一個不使用主管的簡單應用程式:
-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檔案,如下所示:
{
"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:
{
"version": "2.0.0",
"tasks": [
{
"label": "rebar3 compile",
"type": "shell",
"command": "rebar3 compile",
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": "$erlang"
}
]
}
當我點擊 F5 時,我得到以下輸出:
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
有沒有人知道為什么這對我不起作用?
uj5u.com熱心網友回復:
問題出在您的 launch.json 中。您嘗試start/0從模塊運行一個函式test_app_app,但這樣的函式不存在。
嘗試使用
"arguments": "-eval \"application:start(test_app)\""
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/321997.html
下一篇:遇到PHP錯誤,自己除錯不了
