繁体   English   中英

如何修改 erts 模块

[英]How to modify erts modules

我想修改模块erl_prim_loader,但是发现没有生效。 这个文件似乎不是从$ERL_ROOT/lib/erts-10.1/ebin/erl_prim_loader.beam

这是一个预加载的模块,因此需要额外的步骤才能使修改生效。 John Högberg 到 2019-04-29 的 erlang-questions 的消息

prim_file是一个预先构建的模块,它静态地嵌入到模拟器中,如果在初始化时出现任何问题,模拟器就会崩溃。 在这种情况下,您已向 NIF 添加了一个函数,但尚未重建模块,因此在尝试注入不存在的my_truncate_nif/1时它会崩溃。

要更新这些预构建的模块,您需要运行:

 ./otp_build update_preloaded --no-commit

尝试在不更改 NIF(C 代码)的干净构建中执行此操作,然后使用应用更改重新构建模拟器。 请注意,每次更新预加载的模块时,您都需要重建模拟器以使更改生效。

希望有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM