如何获取Erlang梁文件的源代码路径?

时间:2016-04-26 00:51:21

标签: erlang

我有一个Erlang光束文件,我想得到这个光束的源代码的dir路径。

(ppb1_bs6@esekilvxen263)3> sgnI:module_info().         
[{module,sgnI},
 {exports,[{get_interface_ip,3},
           {get_nc_configuration_by_id,1},
           {get_nc_configuration_by_id,2},
           {get_nc_configuration_by_id,3},
           {possible_update_ipv6,1},
           {increase_counter,3},
           {local_media_allowed,1},
           {create_network_mapping,4},
           {create_netw_mapping,4},
           {delete_netw_mapping,3},
           {check_p_early_media_support,4},
           {ip_to_list,1},
           {get_web_access_value,2},
           {get_ice_support,2},
           {check_conf_ip_range,2},
           {get_ippbx_configuration,4},
           {session_qos_status,2},
           {update_qos_statistics,7},
           {get_mrfs,0},
           {get_nc_information_trc,3},
           {get_all_nc_trc,0},
           {transcoding_enabled,0},
           {get_network_level_codec_policy,3},
           {get_domain_level_codec_policy,...},
           {...}|...]},
 {attributes,[{id,['103/190 55-CNA 113 329 Ux']},
              {vsn,['/main/R14A/R15A/R18A/R19A/R20A/R21A/R22A/R23A/R24A/R26A/R99A/50']},
              {date,['2016-04-21']},
              {hrl_id,['18/190 55-CNA 113 211 Ux']},
              {hrl_vsn,['/main/R4A/R6A/R6A_1/R9B/R10A/R12A/R13A/R14A/R15A/R16A/R17A/R18A/R19A/R20A/R21A/R22A/R23A/R24A/R26A/R99A/16']},
              {hrl_date,['2015-10-28']},
              {hrl_id,['135/190 55-CNA 113 329 Ux']},
              {hrl_vsn,['/main/R18A/R19A/R20A/R21A/R22A/R23A/R24A/R26A/R99A/11']},
              {hrl_date,['2015-10-01']},
              {hrl_id,['21/190 55-CNA 113 211 Ux']},
              {hrl_vsn,['/main/R4A/R6A/R6A_1/R9B/R10A/R12A/R13A/R14A/R15A/R16A/R17A/R18A/R19A/R20A/R21A/R22A/R23A/R24A/R26A/R99A/29']},
              {hrl_id,['59/190 55-CNA 113 329 Ux']},
              {hrl_vsn,['/main/R13A/R14A/R15A/R16A/R17A/R18A/R19A/R21A/R22A/R23A/R24A/R99A/5']},
              {hrl_date,['2015-11-12']},
              {hrl_author,[eaeghkl]}]},
 {compile,[{options,[debug_info,
                     {outdir,"/vobs/mgwblade/SGC/SGC_CSA10105_4/SGC_CRA1190962/SGN_CNA113329/out"},
                     {i,"/vobs/mgwblade/SGC/SGC_CSA10105_4/SGC_CRA1190962/SGN_CNA113329/inc"},
                     {i,"/vobs/mgwblade/SGC/SGC_CSA10105_4/SGC_CRA1190962/SGC_CXA112584/inc"},
                     {i,"/vobs/mgwblade/SGC/SGC_CSA10105_4/SGC_CRA1190962/SGM_CNA113211/SGM_CXA112475/inc"},
                     {i,"/vobs/mgwblade/SGC/SGC_CSA10105_4/SGC_CRA1190962/REG_CNA113206/REG_CXA112470/inc"},
                     {i,"/vobs/mgwblade/SGC/SGC_CSA10105_4/SGC_CRA1190962/SNI_CNA113330/SNI_CXA112605/inc"},
                     {i,"/vobs/mgwblade/SGC/SGC_CSA10105_4/SGC_CRA1190962/DIA_CNA113193/DIA_CXA112460/inc"},
                     {i,"/vobs/mgwblade/SGC/SGC_CSA10105_4/SGC_CRA1190962/CHA_CNA113194/CHA_CXA112461/inc"},
                     {i,"/vobs/mgwblade/SYF/SYF_CRA1190070/SYF_CXA112264/inc"},
                     {i,"/vobs/mgwblade/SYF/SYF_CRA1190070/SYS_CNA11333/SYS_CXA112238/inc"},
                     {i,"/vobs/mgwblade/SYF/SYF_CRA1190070/OMS_CNA11344/OMS_CXA112249/inc"},
                     {i,"/vobs/mgwblade/SYF/SYF_CRA1190070/PERF_CNA113086/PERF_CXA112373/inc"},
                     {i,"/vobs/mgwblade/SYF/SYF_CRA1190070/EVIP_CNA113361/EVIP_CXA112623/inc"},
                     {i,"/vobs/mgwblade/SYF/SYF_CRA1190070/SMM_CNA113305/SMM_CXA112593/inc"},
                     {i,"/vobs/mgwblade/SYF/SYF_CRA1190070/PLC_CNA11345/PLC_CXA112250/inc"},
                     {i,"/vobs/mgwblade/SYF/SYF_CRA1190070/EQM_CNA113159/EQM_CXA112430/inc"},
                     {i,[...]},
                     {i,...},
                     {...}|...]},
           {version,"6.0.2"},
           {time,{2016,4,21,18,26,41}},
           {source,"/vobs/mgwblade/SGC/SGC_CSA10105_4/SGC_CRA1190962/SGN_CNA113329/src/sgnI.erl"}]},
 {md5,<<124,118,79,184,84,57,4,46,95,153,149,41,117,11,1,
        139>>}]

我想获得"/vobs/mgwblade/SGC/SGC_CSA10105_4/SGC_CRA1190962/SGN_CNA113329/src/sgnI.erl",但module_info()似乎不是正确的方法。还有其他办法吗?

1 个答案:

答案 0 :(得分:4)

1> proplists:get_value(source,lists:module_info(compile)).
"/net/isildur/ldisk/daily_build/18_prebuild_master-opu_o.2015-06-23_20/otp_src_18/lib/stdlib/src/lists.erl"