<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Sep 21, 2015 at 5:58 PM, Fred Hebert <span dir="ltr"><<a href="mailto:mononcqc@ferd.ca" target="_blank">mononcqc@ferd.ca</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">One thing I think would be nifty is to be able to trace the output of a function, but only if it matches a given pattern, rather than only being able to do it with the function arguments.<br></blockquote><div><br></div><div>Hmm, I hadn't thought about wanting to do that....  I'll add it to my list of things to think about. I've never looked at how the return_trace stuff is implemented, so could either be very simple to do, or very very hard...</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">In my "let's handwave away all complexity", a thing I'd love to be able to do is know where a function call comes from. Too often I can trace the function call that fails or goes bad, but I have no manageable way to trace or extract which function call sits above it in the call stack (even if LCO makes it less useful).<br></blockquote><div><br></div><div>Do you mean something like what is possible today with {message,{caller}} and/or {message,{process_dump}}? i.e. dbg:tracer(),dbg:p(all,c), dbg:tp(lists,map, [{'_',[],[{message,{caller}}]}]).</div><div><br></div></div></div></div>