[erlang-questions] Simple wrapper around dbg?
Philip Clarke
send2philip@REDACTED
Tue Nov 6 16:44:29 CET 2012
Hi Attila,
This might not be answering the exact question you are asking, but have you
tried using the built in trace patterns ?
They can save you a lot of typing. The build in trace patterns are
documented in the dbg man page (under the tpl/0 function).
For example, you can use
dbg:tpl(foo, bar, x)
as an alias for
dbg:tpl(foo, bar, x, [{'_', [], [{exception_trace}]}]).
Best regards
Philip
On Tue, Nov 6, 2012 at 2:33 PM, Attila Rajmund Nohl <attila.r.nohl@REDACTED
> wrote:
> 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?
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20121106/804c2f71/attachment.htm>
More information about the erlang-questions
mailing list