簡體   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