Why does the default compiled and installed otp come with debug info

if use the default Configure, build and install

Blockquote
./configure
make
make install

after install the mod beam like base64 or gen_server’s module_info show it has debug_info

Blockquote
gen_server:module_info().
[{module,gen_server},
{exports,[{start,3},
{start,4},
{start_monitor,3},
{start_monitor,4},
{stop,1},
{stop,3},
{call,2},
{send_request,2},
{send_request,4},
{wait_response,2},
{wait_response,3},
{receive_response,2},
{receive_response,3},
{check_response,2},
{check_response,3},
{reqids_new,0},
{reqids_size,1},
{reqids_add,3},
{reqids_to_list,1},
{reply,2},
{abcast,2},
{abcast,3},
{multi_call,2},
{multi_call,…},
{…}|…]},
{attributes,[{vsn,[219778496916876228729793475875380501404]},
{dialyzer,[{no_improper_lists,{mc_send,6}}]}]},
{compile,[{version,“8.2.3”},
{options,[debug_info,
{i,“/mnt/g/aaGithub/otp-OTP-26.0-rc1/lib/stdlib/src/…/include”},
{i,“/mnt/g/aaGithub/otp-OTP-26.0-rc1/lib/stdlib/src/…/…/kernel/include”}]},
{source,“/mnt/g/aaGithub/otp-OTP-26.0-rc1/lib/stdlib/src/gen_server.erl”}]},
{md5,<<165,87,204,128,106,85,98,21,213,22,211,237,200,
41,155,156>>}]

if not need debug info if you are in a build environment?

2 Likes

Because what Erlang/OTP delivers is a development environment.

2 Likes

It’s like this debug_info doesn’t have any performance impact except there’s some extra abstract_code in there