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).