【问题标题】:erlang dbg - trace calls to all functions by all functionserlang dbg - 跟踪所有函数对所有函数的调用
【发布时间】:2015-11-07 16:15:50
【问题描述】:

来自Using trace and dbg in Erlang,我知道可以使用

跟踪所有函数对指定函数的调用
1>dbg:p(all, c).

但是,如何跟踪所有函数对所有函数的调用?例如:

1>dbg:foo().
*ALL Erlang function calls will be traced from here on out. Prepare yourself.*
2>lists:append("abc", "def").
*trace*

【问题讨论】:

    标签: erlang trace dbg


    【解决方案1】:

    跟踪对所有函数的所有调用并不是您想要做的事情,因为这很容易淹没您的输出并使您的 shell 无法使用。毕竟,shell 也会调用函数来执行其职责,dbg 也是如此,因此您最终会看到无穷无尽的对 io 函数的调用跟踪,这些函数涉及生成和显示跟踪。

    相反,请查看the various dbg:tp and dbg:tpl functions。在您致电dbg:p(all, c). 后应用它们它们允许您跟踪特定模块和特定功能。从跟踪特定函数或模块开始,然后根据您看到的跟踪,将跟踪范围扩大到该函数的调用者。您还可以使用dbg:ctp and dbg:ctpl 关闭对特定功能或模块的跟踪,一旦它们不再与您的调试工作相关。使用这种方法,您可以使用dbg 将您要查找的任何内容迭代归零。

    【讨论】:

      猜你喜欢
      • 2017-04-16
      • 2019-04-16
      • 1970-01-01
      • 1970-01-01
      • 2016-11-30
      • 2011-05-10
      • 2014-05-23
      • 1970-01-01
      • 2015-10-22
      相关资源
      最近更新 更多