[erlang-questions] Simple wrapper around dbg?

Attila Rajmund Nohl <>
Tue Nov 6 15:33:20 CET 2012


Hello!

I can trace a function call with specific arguments with a command like this:

dbg:tpl(foo, bar, dbg:fun2ms(fun([baz,_]) -> return_trace(),
exception_trace() end)).

However, it's a long to type, I'd like to have a wrapper around it.
The naive solution doesn't even compile:

-module(d).

-export([mfa/3]).

mfa(M, F, A) ->
    dbg:tpl(M, F, dbg:fun2ms(fun(Args) when Args==A -> return_trace(),
exception_trace() end)).

because there are no return_trace() and exception_trace() functions in
the module. Even if it'd compile, I couldn't call it like this:

d:mfa(foo, bar, [baz, _]).

because the _ variable is not bound. Is there a simple workaround or
shall I start to read up on parse_transforms?



More information about the erlang-questions mailing list