http://www.perlmonks.org?node_id=976357


in reply to How to get variable name in trace message

Does caller() appeal to you in this case?

ps. I don't know much about C, so this is just a guess.

Update: caller() won't print out the var & contents inherently, but it does of course produce a stack trace.

Replies are listed 'Best First'.
Re^2: How to get variable name in trace message
by ChrisBeall (Novice) on Jun 15, 2012 at 06:02 UTC
    Hi stevieb - caller() is very impressive, but, as you say, it seems to relate more to doing a stack trace about function calls etc. I'm after a simple function (or "macro" equivalent) to just plonk out trace values of the form "<line_no>: <var_name> = <var_value>", using a command like "DEBUG(<var_name>)". I guess I could use the debugger, but this would be simpler for little tasks. The trick is I can't see how to find the <var_name> itself.

      I regretted posting originally, because I spoke before I fully comprehended what you were after.

      I've written such tools before, but they aren't worthy of public consumption. Hopefully someone will be able to finger a CPAN module that will get you on your way.

      Cheers,

      Steve