B
Bernie Schneider
Hi,
The perldoc for the debugger's watch expression command, "w",
says "w expr Add a global watch-expression. We hope you know
what one of these is, because they're supposed to be obvious."
Well, much as I hate to admit it, not all of it is obvious to
me. I've been experimenting with it, and I've learned a little,
but I still have some questions.
When I set a watch expression, nothing immediately happens, not
even an acknowledgement of the command. Then, when I enter a
command that changes something that changes the value of the
watch expression, still nothing happens. But upon entering the
_next_ command, I see the information for the changed watch
expression. Why didn't it show up when the value actually
changed? And then I'm left with some cryptic information about
an IO::Handle:
ESTROY and a double angle bracket prompt. I can
get rid of the double angle prompt by entering an "r" command.
Is that the correct way to do it? Is it working as intended?
Perhaps the listing below will show more clearly what's
happening:
=======================
Watchpoint 0: $x+1 changed:
old value: '1'
new value: '100'
IO::Handle:
ESTROY((eval 30)[C:/Perl/lib/perl5db.pl:619]:2):
DB<<13>> r
DB<13>
=======================
I think I'm pretty close to understanding it, but I could use a
little help from you experts. I'd appreciate any pointers.
TIA,
-- Bernie --
The perldoc for the debugger's watch expression command, "w",
says "w expr Add a global watch-expression. We hope you know
what one of these is, because they're supposed to be obvious."
Well, much as I hate to admit it, not all of it is obvious to
me. I've been experimenting with it, and I've learned a little,
but I still have some questions.
When I set a watch expression, nothing immediately happens, not
even an acknowledgement of the command. Then, when I enter a
command that changes something that changes the value of the
watch expression, still nothing happens. But upon entering the
_next_ command, I see the information for the changed watch
expression. Why didn't it show up when the value actually
changed? And then I'm left with some cryptic information about
an IO::Handle:
get rid of the double angle prompt by entering an "r" command.
Is that the correct way to do it? Is it working as intended?
Perhaps the listing below will show more clearly what's
happening:
=======================
Watchpoint 0: $x+1 changed:
old value: '1'
new value: '100'
IO::Handle:
DB<<13>> r
DB<13>
=======================
I think I'm pretty close to understanding it, but I could use a
little help from you experts. I'd appreciate any pointers.
TIA,
-- Bernie --