Erlang 程序调试

        最近学习Erlang,这种诡异的语言真让人不淡定。真怀念visual studio 一个F11键就可以开始单步调试。


         按照在网上找到的资料,一步一步进行如下的调试。


          首先写一个Erlang源代码   Process_infos.erl

        

-module(process_infos).
-compile(export_all).


process_infos() ->         
    %%filelib:ensure_dir("./log/"),
    File = "distance.log",
    {ok, Fd} = file:open(File, [write, raw, binary, append]), 
    Fun = fun(Pi) ->
                PiI = erlang:process_info(Pi),
                   Info = io_lib:format("Pid ::: ~p =>~p \n\n",[Pi,PiI]),
                  case  filelib:is_file(File) of
                        true   ->   
                            %%file:write(Fd, "Pid ::: " ++ pid_to_list(Pi)),
                            file:write(Fd, Info);
                        false  ->
                            file:close(Fd),
                            {ok, NewFd} = file:open(File, [write, raw, binary, append]),
                            %%{ok, NFD} = file:open(File, [write, raw, binary, append]),
                            %%file:write(NFD, "Pid ::: " ++ pid_to_list(Pi)),
                            %%file:close(NFD),
                             
                            file:write(NewFd, Info)
                     end
                     %%timer:sleep(20)
                 end,
    [Fun(P) ||   P <- erlang:processes()],
    {ok, NFd} = file:open(File, [write, raw, binary, append]),
    file:write(NFd, "=============================================================\n\n"),
    file:close(NFd).

   这个代码的功能是将进程信息写入到一个文件中。


首先在Erlang shell里编译它,erlang编译是 c(module) 命令,如果需要调试,就需要采用 c(module,debug_info). 命令了

如下图所示,执行编译命令后 通过 debugger:start().或 im(). 命令启动erlang自带的调试器,有些电脑可能会提示 erlc.exe找不到.

那是因为erlang安装路径没有添加到系统路径中。默认安装路径是   C:\Program Files\erl6.1\bin  




为了调试方便,这里勾选上 first call 和 on break 。然后点击Module->interprept ,会弹出一个选择框。


选择 process_info.erl   点击 OK

然后回到命令行下面  执行需要调试的函数



这里就启动了调试。可以点击 step  next continue finish 等按钮进行调试。在下面的监视栏里面可以实时的看到变量值的变化。


All Done ,have fun!


/************************withc_soya*************************************/

2014年8月9日16:47:24

/*************************************************************************/       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值