Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^2: Difference Between use warnings and use warnings FATAL => 'all' (debugging)

by GotToBTru (Prior)
on Dec 30, 2013 at 14:48 UTC ( [id://1068753]=note: print w/replies, xml ) Need Help??


in reply to Re: Difference Between use warnings and use warnings FATAL => 'all' (debugging)
in thread Difference Between use warnings and use warnings FATAL => 'all'

For debugging purposes, I was very happy to learn the following:

$SIG{__WARN__} = sub { print $_[0]; $DB::single = 1 };

I was annoyed to notice that warning messages did not appear as I was running code in the debugger. That might be fixable; I have never looked into it. This statement is now included in just about any program I write of any length. Not only does it give me the message but stops the debugger at the point of warning.

I comment out the line when not running in the debugger because it generates a warning message. What irony.

  • Comment on Re^2: Difference Between use warnings and use warnings FATAL => 'all' (debugging)
  • Download Code

Replies are listed 'Best First'.
Re^3: Difference Between use warnings and use warnings FATAL => 'all' (debugging)
by LanX (Saint) on Dec 30, 2013 at 15:33 UTC
    Thanks, personally I rarely use the debugger for debugging, at least not with code I wrote.

    :)

    To see warnings with perl -d you could try using it from an IDE like emacs to separate output frame from debugging GUI.

    update

    First I have to say that I don't have the problem that warnings aren't shown in my debugger-instance, but I tweaked a lot in the past. Anyway ...

    > I comment out the line when not running in the debugger because it generates a warning message.

    ... you could put that code into debugger's rc-file '.perldb' or into PERL5DB environment variable to make it the default behavior of the debugger.

    Like that you don't need to change the scripts. =)

    update

    this works for me

    lanx@nc10-ubuntu:$ cat .perldb sub afterinit { $SIG{"__WARN__"}= sub { print "$_[0]"; $DB::single=1 }; }

    see perldebug for details

    Cheers Rolf

    ( addicted to the Perl Programming Language)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1068753]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (2)
As of 2024-04-20 03:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found