我想可以使用下面的宏在我的模块:用用户定义变量(使用螺纹钢)启动erlang?
-ifdef(debug).
我的启动脚本看起来像下面这样:
#!/bin/sh
PWD="$(pwd)"
#NAME="$(basename $PWD)"
erl -pa "$PWD/ebin" deps/*/ebin -boot start_sasl \
-name [email protected] \
-debug 1 \
-s $NAME \
+K true \
+P 65536
还有什么需要添加,使调试是在我的模块中定义的?我需要这是动态的,所以我不必修改部署到生产环境中的源代码。在每个dev/qa/prod环境中使用不同的启动脚本是好的,但修改源代码不是必需的。可以用-Ddebug
来完成。然而,我使用螺纹钢,并不知道如何做到这一点。我试着加入以下我rebar.config:
{erl_opts, [{D, "debug"}]}.
这提供了以下错误:
{error,
{1,
erl_parse,
"bad term"}}
那么如何处理生产部署?手动编辑模块以删除调试预处理器? – randombits
用于生产,您可以编译时不带-Ddebug标志。无需编辑源代码。 – butter71
我应该注意到,我正在使用钢筋进行编译。所以我没有明确的访问''erlc'' – randombits