Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: action in debugger - how to turn off

by Khen1950fx (Canon)
on May 21, 2011 at 04:44 UTC ( #906040=note: print w/replies, xml ) Need Help??


in reply to action in debugger - how to turn off

The debugger is doing what it was told to do:). What you need to do now is to delete the action.
a 68 print "hello world'
It'll print "hello world" every time it passes line 68 and will keep printing out until
A 68
That deletes the action.

Replies are listed 'Best First'.
Re^2: action in debugger - how to turn off
by lcuff (Novice) on May 23, 2011 at 17:55 UTC

    I can't get it to work. I should have been more explicit in my original post. Here is my test code:

    #!/vcm/home/bin/perl -w use strict; use warnings; print "Hello world line 7\n"; print "Hello world line 8\n"; print "Hello world line 9\n"; print "Hello world line 10\n"; print "Hello world line 11\n"; print "Hello world line 12\n"; print "Hello world line 13\n"; print "Hello world line 14\n"; print "Hello world line 15\n"; print "Hello world line 16\n"; print "Hello world line 17\n"; print "Hello world line 18\n"; print "Hello world line 19\n"; print "Hello world line 20\n"; $ perl -v This is perl 5, version 12, subversion 1 (v5.12.1) built for x86_64-li +nux

    And here is the debugger interaction. The action gets set on line 10 with a  10 print "action print" . Neither using  A 10, which I try when after executing line 12, nor  A * , which I try after executing line 14, turns off the action printing. It keeps printing, once per line.

    $ perl -d foo.pl Loading DB routines from perl5db.pl version 1.33 Editor support available. Enter h or `h h' for help, or `man perldebug' for more help. main::(foo.pl:7): print "Hello world line 7\n"; DB<1> a 9 print "action print\n"; + DB<2> n + Hello world line 7 main::(foo.pl:8): print "Hello world line 8\n"; DB<2> n + Hello world line 8 main::(foo.pl:9): print "Hello world line 9\n"; action print DB<2> n + Hello world line 9 main::(foo.pl:10): print "Hello world line 10\n"; action print DB<2> n + Hello world line 10 main::(foo.pl:11): print "Hello world line 11\n"; action print DB<2> n + Hello world line 11 main::(foo.pl:12): print "Hello world line 12\n"; action print DB<2> n + Hello world line 12 main::(foo.pl:13): print "Hello world line 13\n"; action print DB<2> A 10 + DB<3> n + Hello world line 13 main::(foo.pl:14): print "Hello world line 14\n"; action print DB<3> n + Hello world line 14 main::(foo.pl:15): print "Hello world line 15\n"; action print DB<3> A * + Deleting all actions... DB<4> n + Hello world line 15 main::(foo.pl:16): print "Hello world line 16\n"; action print DB<4> n + Hello world line 16 main::(foo.pl:17): print "Hello world line 17\n"; action print DB<4> n + Hello world line 17 main::(foo.pl:18): print "Hello world line 18\n"; action print

      Looks like a problem 'use strict' would have caught. It can be fixed by just inserting one line into "sub DB" of perl5db.pl:

      my $action;

      Update (late): Broken by:

      commit 04e43a21088e2c6b07ebde9e57007350cfd7310b Author: Daniel S. Lewart <lewart@uiuc.edu> Date: Tue May 22 21:18:03 2001 -0500

      specifically:

      - if (($stop,$action) = split(/\0/,$dbline{$line})) { + if ($dbline{$line} && (($stop,$action) = split(/\0/,$dbline{$line +}))) {

      But I'd still fix it by just putting a line before that:

      my( $stop, $action );

      There's nothing like fixing a decade-old bug.

      - tye        

      I can replicate the problem in blead. perlbug?
      لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

      Hello. I am experiencing the exact same thing, with the addition that when the variable I am printing out goes out of scope, the debugger complains mightily. Is there a resolution to this?

      I am running Strawberry Perl V5.14.2.1-64bit on Windows 7. Thanks for any help, RTFM links, etc.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://906040]
help
Chatterbox?
[Corion]: oiskuu: Depends on what you want to do with that information
[tye]: I'm not depending on that feature. But I could in this environment. I'm using getlogin(). shrug
[Corion]: For benign logging (which user started this DB instance), it's OK
[tye]: We use auditd for security monitoring. So we can rely on auditing being enabled. I'm not sure who would want to not be able to audit. Maybe some VM inside another system with audit?
[SuicideJunkie]: spies would want a system to not be able to audit.

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (8)
As of 2017-06-23 20:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    How many monitors do you use while coding?















    Results (555 votes). Check out past polls.