Erlang 程序调试

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


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


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

        

[java]  view plain copy print ?
  1. -module(process_infos).  
  2. -compile(export_all).  
  3.   
  4.   
  5. process_infos() ->           
  6.     %%filelib:ensure_dir("./log/"),  
  7.     File = "distance.log",  
  8.     {ok, Fd} = file:open(File, [write, raw, binary, append]),   
  9.     Fun = fun(Pi) ->  
  10.                 PiI = erlang:process_info(Pi),  
  11.                    Info = io_lib:format("Pid ::: ~p =>~p \n\n",[Pi,PiI]),  
  12.                   case  filelib:is_file(File) of  
  13.                         true   ->     
  14.                             %%file:write(Fd, "Pid ::: " ++ pid_to_list(Pi)),  
  15.                             file:write(Fd, Info);  
  16.                         false  ->  
  17.                             file:close(Fd),  
  18.                             {ok, NewFd} = file:open(File, [write, raw, binary, append]),  
  19.                             %%{ok, NFD} = file:open(File, [write, raw, binary, append]),  
  20.                             %%file:write(NFD, "Pid ::: " ++ pid_to_list(Pi)),  
  21.                             %%file:close(NFD),  
  22.                                
  23.                             file:write(NewFd, Info)  
  24.                      end  
  25.                      %%timer:sleep(20)  
  26.                  end,  
  27.     [Fun(P) ||   P <- erlang:processes()],  
  28.     {ok, NFd} = file:open(File, [write, raw, binary, append]),  
  29.     file:write(NFd, "=============================================================\n\n"),  
  30.     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、付费专栏及课程。

余额充值