distel可以断点调试erlang,但是步骤非常繁琐

以下面的测试脚本为例说明

geometry.erl

 -module(geometry).
-export([area/1]). area({rectangle,Width,Height})->
Width*Height;
area({square,X}) ->
X*X;
area({circle,R}) ->
3.14159*R*R.

调试步骤如下:(步骤一步都不能少,否则会出问题)

进入distel菜单,选择start new shell,执行c(geometry,[debug_info]).
编译成功以后,c-c c-d L重新载入erl脚本
c-c c-d i进入交互模式,如果提示node,就输入在emacs的distel配置里面的这个(setq inferior-erlang-machine-options '("-sname" "localhost"))
c-x space,在行上设置断点,应该能看到红色的行了
最后在shell里面直接调用,例如我们的geometry:area({circle,123}).

调试需要源码带调试标记编译

c(xxx,[debug_info]).
make:all([debug_info]).
debugger:start().
im().

都可以,两个是一样的

注:erlang的debugger单步step in需要module先被interpret

最新文章

  1. Sublime 常用插件简介
  2. 20145205《Java程序设计》第四次实验:Android环境搭建
  3. 进阶版css的点滴
  4. “请运行Chkdsk工具”怎么解决
  5. hibernate--关联映射(一对多)
  6. Android网络:开发浏览器(五)——功能完善之保存图片实现
  7. 【特效】手机端仿美团下拉菜单带遮罩层html+css+jquery
  8. ●BZOJ 1692 [Usaco2007 Dec]队列变换
  9. n98-magerun2.phar
  10. 最短Hamilton路径【状压DP】
  11. sort简单用法
  12. T-SQL:是NULL不是NULL(七)
  13. 简单的使用gulp生成雪碧图
  14. 数据库和redis的一致性
  15. MySQL学习笔记-cache 与 buffer
  16. Linux常用命令 - ls
  17. windows系统正常但linux系统下找不到文件的问题
  18. postman设置环境变量,字段值经过json转换后数值字节长度超过上限的问题
  19. swagger简单配置
  20. 【luogu P1608 路径统计】 题解

热门文章

  1. web前端看IE11的变化
  2. Fast Walsh-Hadamard Transform
  3. Centos6安装MariaDB-yum方式
  4. 1: 介绍Prism5.0 Introduction to the Prism Library 5.0 for WPF(英汉对照版)
  5. QT中Qtableview视图表格中点击表头进行排序
  6. DRF中序列化器定义及使用
  7. NorFlash、NandFlash、eMMC比较区别
  8. React-Native进阶_6.导航 Naviagtion传递数据并展示
  9. RxJava 1.x 笔记:组合型操作符
  10. 使用vue