`
yjl49
  • 浏览: 112943 次
社区版块
存档分类
最新评论

erlang debug 调试

 
阅读更多

erlang 提供了一个debugger 调试工具,可以用来单步调试自己的代码。可以在shell 中输入im() 或 debugger:start() 来调出。

首先打开的是一个Monitor 窗口:

在这里可以选择要调试的代码:选择Module--> Interpret。

注意调试的文件必须要通过debug_info 的方式进行编译: c(module.erl,debug_info)

点击后出现第二个窗口IntepretDialog:

可以在Directories中选择调试文件所在目录,在右侧Files中选择要调试的代码文件。

选择后在Monitor 窗口中就会出现选择的文件,可以双击打开View Module窗口查看文件内容:

在菜单栏有Break 菜单,可以选择和查看目前的断点情况。

在某个位置添加了断点后前面的行号变成“-@-

在erlang shell 中调用你要调试的代码就可以进入单步调试:

可以点击窗口下的Step、Next、Continue、Finish 来控制调试的步骤。

当程序出错时调试会结束,在Monitor 窗口中的Status 栏看到,同时Where,Up,Down 可以用来定位报错位置和上下文。

PS:个人感觉erlang 的调试还是不太方便的,尤其是参数的组装部分。希望有更加智能的工具出现。

分享到:
评论

相关推荐

    webDebugger:Erlang代码断点调试工具web版

    #WeDebugger-Web版Erlang代码断点调试工具 weDebugger是关于Erlang代码断点调试的工具,使用时将该项目做为目标项目依赖下载至deps目录中,然后在项目启动时调用we:start()以启动断点调试服务。 ####运行项目 该项目...

    erlang深度分析.pdf

    Erlang社区提供了多种工具帮助开发和调试,例如调试器erts_debug和observer用于监控运行时性能。hotreplace模块允许代码热替换,不必重启节点即可更新模块。 #### 5. Erlang的分布式应用 Erlang的分布式应用通过VM...

    Erlang Debugger

    **Erlang Debugger** 是一个图形化工具,用于调试和测试 Erlang 程序。它允许用户设置断点、单步执行代码以及查看和修改变量值等功能。本文将详细介绍 Debugger 的主要功能及其使用方法。 #### 二、调试器介绍 ###...

    Erlang 中的Module级别热部署

    这可以通过`c/1`或`c/2`函数完成,例如`c(module_name)`或`c(module_name, [debug_info])`,后者会在编译时包含调试信息。 2. **获取旧版本信息**:在更新模块前,获取当前运行的旧版本的`Pids`(进程ID)和`...

    erlang学习笔记

    为了调试程序,`c(Module, [debug_info])`命令可以编译模块并包含调试信息,而`debugger:start()`则启动调试器。`pman:start()`命令可以开启性能监控工具,通过Erlang Shell查看系统状态。例如,`processes()`函数...

    使用rebar工具开发erlang工程项目和发布erlang工程项目借鉴.pdf

    - `erl_opts`: 编译选项,如`debug_info`和`fail_on_warning`,分别用于生成调试信息和在警告时停止编译。 - `deps`: 依赖项列表,包括库的名称、版本和获取方式,如git仓库的URL和特定tag。 6. **项目初始化** ...

    distel配置相关文档

    - **调试**: 使用`M-x distel-debug`启动调试器,`C-c C-a`设置断点,`C-c C-r`运行程序,`C-c C-s`单步执行,`C-c C-n`和`C-c C-p`进入/退出函数。 ### 6. 高级使用技巧 - **自动同步**: 通过`distel-autosync`,...

    tdiff:Erlang中的Diff算法

    Myers的O(ND)差异算法的Erlang实现(效率不高) 。Myers参见链接: : q=eugene+myers+difference+algorithm+filetype : 例子 1> tdiff:diff("A cat ate my hat", "A dog ate my shoe"). [{eq,"A "}, {del,"cat...

    log4erl-0.9.0

    log4erl就是这样一个专门针对Erlang的日志库,它的版本0.9.0为开发者提供了强大的日志记录功能,使得Erlang应用程序的调试和维护变得更加便捷。 首先,我们来了解一下log4erl的核心概念。log4erl的设计灵感来源于...

    isucon4-qual-phoenix

    假设已安装Erlang,Elixir和Hex $ git clone git@github.com:ma2gedev/isucon4-qual-phoenix.git $ cd isucon4-qual-phoenix $ mix deps.get 调试模式 克隆存储库并运行mix deps.get $ mix phoenix.server 生产...

    emqx-windows-v4.0.1.zip MQTT服务器

    如果问题持续存在,可以启用调试模式(在配置文件中设置log.level为debug),收集更详细的日志信息。 通过以上步骤,您已经成功在Windows服务器上部署并基本配置了EMQ X MQTT服务器。随着对MQTT协议和EMQ X特性的...

    maxwell:Maxwell是一个HTTP客户端,支持中间件和多个适配器

    上述代码创建了一个客户端,设置了5秒的超时中间件,并且配置 Hackney 适配器为调试模式。 标签中提到的 "http middleware wrapper" 指的是 Maxwell 作为 HTTP 客户端的封装,它将底层的网络通信细节隐藏起来,提供...

    着装:装扮你的标准品

    `Logger`是Elixir的标准库,它可以方便地在不同级别(如debug、info、warn和error)记录日志,这对于调试和监控非常有用。 此外,Elixir社区还提供了如`Telemetry`这样的库,它允许你在应用程序的关键点上发送事件...

    plug_logger_json:将http请求日志格式化为json的Elixir插件

    Elixir是一个基于BEAM虚拟机(Erlang VM)的函数式编程语言,其设计灵感来源于Ruby,但有着更强大的并发和错误处理能力。在Elixir的Web开发中,Plug框架起到了关键作用,它提供了一种统一的接口来连接Web服务器和...

Global site tag (gtag.js) - Google Analytics