Devel::ebug::Wx - GUI interface for your (d)ebugging needs


  # it's easier to use the 'ebug_wx' script
  my $app = Wx::SimpleApp->new;
  my $wx = Devel::ebug::Wx->new( { argv => \@ARGV } );


Devel::ebug::Wx is a GUI front end to Devel::ebug.

The core is a publisher/subscriber wrapper around Devel::ebug (Devel::ebug::Wx::Publisher) plus a plugin system for defining menu commands and keyboard bindings (Devel::ebug::Wx::Command::*) and views (Devel::ebug::Wx::View::*).

The wxWidgets Advanced User Interface (AUI) is used, so it is possible to dock/undock and arrange views.


  • make a saner interface for plugins

    command is just an action (coderef) with a string id command description ties commands to the CommandManager to create menus

  • define a service interface

    for example for code-viewing, gui management, view management allow enabling/disabling services, commands, views auto-disable commands/views/services with clashing identifiers

  • configuration interface

    allow a configuration view to configure multiple objects (by explicit registration)

  • notebooks

    better editing interface better debugging; edge cases still present, esp. at load time rethink container view interface and the whole concept of multiviews

  • better handling for program termination

    visual feedback in the main window disable commands/etc when they do not make sense

  • the command manager must allow dynamic menus

    command returns a (subscribable) handle that can be used to poll/listen to changes explict use of update_ui is an hack!

  • break on subroutine, undo, watchpoints

  • show pad, show package variables, show packages

  • see the FIXMEs


Devel::ebug, ebug_wx, Wx, ebug


Mattia Barbon, <>


Copyright (C) 2007, Mattia Barbon

This program is free software; you can redistribute it or modify it under the same terms as Perl itself.