美文网首页
.erlang 配置user_default没有生效

.erlang 配置user_default没有生效

作者: 拉德 | 来源:发表于2017-06-11 15:18 被阅读0次

    .erlang 用来在erlang shell启动时候预加载模块

    user_default 可以用来加载record模块的定义

    问题:最近项目中添加 .erlang 和 user_default 后,发现部署到线上环境时候,user_default 没有生效。

    原因:翻开shell源码,可以看到,shell是通过一个ets来存储record信息的,如何获得record信息呢,要么是读取beam(debug_info)中的源码,要么是通过源文件获得。

    解决办法:线上的代码都是没有加debug_info编译选项的,所以就没有生效。

    1. 尝试通过在user_default模块中添加 -compile(debug_info)来生成编译这单个模块,结果发现没起作用,应该是erlang的bug。

    2. 最后通过只能在Make中添加新的rule来解决问题。类似于

    erlc +debug_info user_default.erl

    Shell源码片段

    相关文章

      网友评论

          本文标题:.erlang 配置user_default没有生效

          本文链接:https://www.haomeiwen.com/subject/xqcvxxtx.html