[英]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.