in reply to Re^3: How can I print variable contents from the debugger non-interactively? (@DB::typeahead)
in thread How can I print variable contents from the debugger non-interactively?
> yes, it's still unclear for me if you want to step thru or run an automatic trace.
I think stepping thru the code would imply an interactive session. I am looking for an automatic trace, it would be nice to indicate which lines/variables should be printed, but having something that prints all of the variables modified and statements run would suffice. (huge output, but that isn't a problem!) There are some autotrace modules that may work, but I would like to accomplish this without additional modules. (lets make believe we are air gapped and getting to cpan is a problem)
> At least in .perldb with afterinit
sub afterinit { push @DB::typeahead, "b 4", "b 6"; }
So this isn't exactly thru the $ENV{PERLDB_OPTS} environment variable but using a file .perldb is easy enough to do. (though, @DB::typeahead is not a supported interface and is subject to change in future releases.)
I attempted the following:
echo "sub afterinit { push @DB::typeahead, \"a 119 p \$var\"; }" > .perldb
I see:
29: main(); auto(-1) DB<1> a 199 p __DB<2> (some program output) and then it shows 6556 segmentation fault with exit code 139.
not sure what is causing the seg fault and I again lose the automatic printing of all the statements, but I see some of the program output. Hopefully the above typeahead gives you an idea of what I'm trying to accomplish.
Thanks again for all the thought and replies.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: How can I print variable contents from the debugger non-interactively? (@DB::typeahead)
by LanX (Saint) on Jul 17, 2017 at 20:13 UTC | |
by davehorner (Scribe) on Jul 17, 2017 at 20:26 UTC | |
by LanX (Saint) on Jul 17, 2017 at 20:37 UTC |