Skip Menu |

This queue is for tickets about the Devel-TraceUse CPAN distribution.

Report information
The Basics
Id: 89600
Status: resolved
Priority: 0/
Queue: Devel-TraceUse

People
Owner: Nobody in particular
Requestors: haarg [...] haarg.org
Cc:
AdminCc:

Bug Information
Severity: Wishlist
Broken in: (no value)
Fixed in: 2.094



Subject: Only enable needed debug flags
Currently, Devel::TraceUse always registers a DB::DB sub. This conflicts with real debuggers or anything else that had similar behavior. A better option is to detect being loaded as a debugger ( !defined &DB::DB && $^P ), and then clear the $^P 0x20 flag. This will remove the need to define a DB::DB sub and increase performance, as well as fixing conflicts with debuggers that actually use DB::DB. Additionally, instead of issuing a warning about inaccuracies when $^P isn't set, the module could always enable the required flags to get the needed details (0x100 and 0x200 I believe).
On Fri Oct 18 02:20:02 2013, haarg wrote: Show quoted text
> Currently, Devel::TraceUse always registers a DB::DB sub. This > conflicts with real debuggers or anything else that had similar > behavior. > > A better option is to detect being loaded as a debugger ( !defined > &DB::DB && $^P ), and then clear the $^P 0x20 flag. This will remove > the need to define a DB::DB sub and increase performance, as well as > fixing conflicts with debuggers that actually use DB::DB. > > Additionally, instead of issuing a warning about inaccuracies when $^P > isn't set, the module could always enable the required flags to get > the needed details (0x100 and 0x200 I believe).
Do these flags depend on the Perl version?
On Fri Oct 18 04:29:30 2013, BOOK wrote: Show quoted text
> On Fri Oct 18 02:20:02 2013, haarg wrote:
> > Currently, Devel::TraceUse always registers a DB::DB sub. This > > conflicts with real debuggers or anything else that had similar > > behavior. > > > > A better option is to detect being loaded as a debugger ( !defined > > &DB::DB && $^P ), and then clear the $^P 0x20 flag. This will remove > > the need to define a DB::DB sub and increase performance, as well as > > fixing conflicts with debuggers that actually use DB::DB. > > > > Additionally, instead of issuing a warning about inaccuracies when $^P > > isn't set, the module could always enable the required flags to get > > the needed details (0x100 and 0x200 I believe).
> > Do these flags depend on the Perl version? >
No, those flags haven't changed (and have been documented) since at least perl 5.6.
On Thu Oct 24 10:26:00 2013, haarg wrote: Show quoted text
> On Fri Oct 18 04:29:30 2013, BOOK wrote:
> > On Fri Oct 18 02:20:02 2013, haarg wrote:
> > > Currently, Devel::TraceUse always registers a DB::DB sub. This > > > conflicts with real debuggers or anything else that had similar > > > behavior. > > > > > > A better option is to detect being loaded as a debugger ( !defined > > > &DB::DB && $^P ), and then clear the $^P 0x20 flag. This will > > > remove > > > the need to define a DB::DB sub and increase performance, as well > > > as > > > fixing conflicts with debuggers that actually use DB::DB. > > > > > > Additionally, instead of issuing a warning about inaccuracies when > > > $^P > > > isn't set, the module could always enable the required flags to get > > > the needed details (0x100 and 0x200 I believe).
> > > > Do these flags depend on the Perl version? > >
> > No, those flags haven't changed (and have been documented) since at > least perl 5.6.
I would be interested in a patch, because what you explained is going a little bit over my head. :-) -- BooK