代码改变世界

使用 debugger 简单调试 erlang

2012-05-07 23:55  rhinovirus  阅读(6852)  评论(0编辑  收藏  举报

1. 官方文档有很详细的介绍,地址如下:http://www.erlang.org/doc/apps/debugger/debugger_chapter.html

2. 新建 main.erl 文件,代码如下:

-module(main).
-export([start/0, stop/0]).

start() ->
    S = sum([1,2,3,4,5,6,7,8,9]),
    io:format("sum is ~p~n", [S]).

stop() ->
    io:format("stop.~n").

sum(L) -> sum(L, 0).

sum([], N) ->
    N;
sum([H | T], N) ->
    sum(T, H + N).

3. 使用 c(module, debug_info) 编译 main 模块,如:c(main, debug_info).

4. 启动调试器 debugger:start().

 如下图:

  

5. 加载模块,选择菜单 Module - Interpret Modules 如图:

  

6. 选择 main.erl 如下图:(注意,左侧边栏出现 main 模块了)

  这里需要勾选 First Call 选项

  

7. 双击 main 出现 View Module 窗口,如下图

  

8. 设置断点:双击左侧行号偏右侧空白,单击三次可以插入断点,再三次取消断点,如下图:

  

9. 启动程序,输入 main:start(). 就可以启动我们写的程序了,接下来,程序就会停止在我们设置断点到地方,如下图:

  

  我们单击 Step 进入 sum 函数,如下图:

  

  注意右下方,有个 Name Value 窗口,我们暂且叫它为监视窗口,能够查看变量的值。

10. 剩下的按钮功能,我就不一一介绍了,大家有空试试吧。