帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:调试  tool  debug  DEB  Elixir  Runtime  
Runtime and debugging tools for elixir

  • 源代码名称:exrun
  • 源代码网址:http://www.github.com/liveforeverx/exrun
  • exrun源代码文档
  • exrun源代码下载
  • Git URL:
    git://www.github.com/liveforeverx/exrun.git
  • Git Clone代码到本地:
    git clone http://www.github.com/liveforeverx/exrun
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/liveforeverx/exrun
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • Exrun

    版本:0.1.0

    什么东西,像高级 runtime_tools elixir 。

    是另一个伟大的工具,它基于 erlang dbg 。 为什么另一个调试工具首先,跟踪setter被实现为宏,因为它允许使用本机elixir宏功能来捕获自然语法的调用。

    它的次,安全性,跟踪器带有绝对和相对时间值的ratelimit跟踪器可以能。 默认配置是禁用具有输出速率的跟踪,以秒为单位超过 100个消息。 这就是为什么 Tracer

    另一个区别是,在某些情况下,你需要调试不同节点上的不同功能,从而可以跟踪不同节点上的不同功能。

    在 mix.exs 中安装项目和应用程序依赖项:

    {:exrun, "~> 0.1.0"}

    使用 remsh ( 。在将来使用 CLI ),可以跟踪节点,其中没有安装elixir或者 exrun,因为它生成远程检查和加载模块,以跟踪所需的机器。

    示例

    iex(1)>importTracerniliex(2)> trace :lists.seq(a, b) when a <1and b >100, node: my_remote_node, limit: %{rate:1000, time:1000}
    {:ok, 2}
    iex(3)>:lists.seq(0, 110)#PID<0.68.0> call :lists.seq(0, 110)#PID<0.68.0> returned :lists.seq/2 -> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,.. .]iex(4)> trace :erlang.make_tuple, [:stack]
    {:ok, 2}
    iex(5)>Tuple.duplicate(:hello, 3)
    {:hello, :hello, :hello}#PID<0.68.0> call :erlang.make_tuple(3, :hello) erl_eval.do_apply/6 elixir.erl_eval/3 elixir.eval_forms/4IEx.Evaluator.handle_eval/4IEx.Evaluator.eval/2IEx.Evaluator.loop/1IEx.Evaluator.start/2#PID<0.68.0> returned :erlang.make_tuple/2 -> {:hello, :hello, :hello}

    更多文档你应该参考

    iex(1)> h Tracer.trace

    功能路线图

    • 示踪剂
      • Pattern 设置器
        • 在模块中设置跟踪所有函数
        • 用任何数量设置跟踪所有 module.function
        • 模块。函数/数量
        • 为 module.function(args... ) 设置跟踪
        • 设置条件时设置跟踪 module.function(args...)
        • 设置发送/接收的跟踪
        • 设置跟踪的宏
        • 取消跟踪
      • 打印机
        • stacktrace格式
        • 自定义格式化程序
        • 将时间戳添加到默认格式化程序的可能性
      • 分散对齐
        • 分布式跟踪
        • erlang分布式传输
        • 基于环境的配置( 方便多节点设置)
        • io输出
        • 可以实现自己的传输( 。像文件,tcp,zeromq ),使用格式化程序
      • 时间特性( 例如每 1分钟应打印或者跟踪消息,以便与其他日志相关,以便与其他日志相关)
      • 溢出保护作为选项
      • adv 。CLI
        • 基本 命令行 接口
        • 跟踪输出
        • 从CLI定义跟踪节点
        • 从CLI定义跟踪模式
        • 定义如何传输( erlang,tcp,自定义)

    许可证

    版权所有 2015 Dmitry Russ

    在Apache许可以证下许可以证版本 2.0 ("许可以证") ;你可以能不使用这里文件,除了符合许可以证。 你可以获得许可证的副本在*

     http://www.apache.org/licenses/LICENSE-2.0

    在规定的法律或者书面许可下,在许可条款下分发的软件在不保证任何种类的担保或者条件的前提下分发,或者明示或者隐含。 查看许可协议下特定语言的许可权限和限制的许可证。



    文章标签:tool  DEB  debug  Runtime  Elixir  调试  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语