首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何打印Erlang dbg跟踪的所有数据

如何打印Erlang dbg跟踪的所有数据
EN

Stack Overflow用户
提问于 2016-12-02 03:44:12
回答 1查看 196关注 0票数 0

我想使用dbg:tracer跟踪Erlang GC的所有行为,并打印出跟踪的事件。

代码语言:javascript
复制
1> dbg:tracer().
2> dbg:p(self(), [garbage_collection]).
3> my_module:function([Args]).
4> dbg:stop().
5> dbg:show_trace().
...

我只想在my_module:function/0函数调用的执行过程中跟踪垃圾回收。一旦函数返回,跟踪就应该停止。

EN

回答 1

Stack Overflow用户

发布于 2016-12-08 03:22:37

也许有一种更好的方法可以做到这一点,但我建议在您关心的函数返回后立即关闭跟踪。像这样的东西应该是有效的:

代码语言:javascript
复制
1> dbg:tracer().
2> GcOfMyModule = fun() ->
    dbg:p(self(), [garbage_collection]),
    my_module:function([Args]),
    dbg:stop()
end
3> GcOfMyModule().
5> dbg:show_trace().

dbg:p/2my_module:function/1dbg:stop/0调用都包装在一个函数中将意味着每个函数都将紧跟在它之前的函数之后执行。我最初是从这个答案的最后部分得到这个想法的,在那里它需要在一定数量的事件https://stackoverflow.com/a/1954980/1245380之后自动停止跟踪。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40919120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档