Drop-In Web-Based REPL for CGI Applications

Drop-In Web-Based REPL for CGI Applications

By Brock Wilcox (‎awwaiid‎) from DC.pm
Date: Wednesday, June 24, 2009 10:20 AM
Duration: 20 minutes
Target audience: Any
Tags: cgi continuity debug repl web

You can find more information on the speaker's site:

One of the tried and true ways of debugging is to sprinkle 'print "Here! $val\n"' around and see what happens or if the program even reaches that point. Simple and effective! Carp::REPL lets you take this a step further by starting an interactive Read-Eval-Print Loop (REPL) at an arbitrary point in your program.

I've taken this technique and mixed in a splash of Continuity to build an interactive web-based REPL and inspector for your application. The REPL lets you execute arbitrary code, the inspector gives you a GUI for traversing your callstack and manipulating your variables. It works on regular applications and CGI scripts too. You just add a single "inspect()" where you like and you'll be whackin' those bugs DOWN!

In this talk I'll show you how to use the tool and how it's built... and how you can add to it with plugins.

Attended by: Joe Cooper (‎swelljoe‎), Jonathan Swartz, Jessica Pavlin, Brock Wilcox (‎awwaiid‎), Stephen Scaffidi (‎hercynium‎), Lee Aylward (‎leedo‎), Kenneth Graves (‎kag‎), Stevan Little (‎stevan‎), Shawn Moore (‎sartak‎), Tatsuhiko Miyagawa (‎miyagawa‎), Jeremy Fluhmann (‎jfluhmann‎), Olaf Alders (‎oalders‎), Erik Sturcke, Adam Foxson (‎Fhoxh‎), John Anderson (‎genehack‎), Mike Greb (‎mikegrb‎), Mark Jubenville (‎ioncache‎), Geoffrey Darling (‎Geoff‎), Robert Boone (‎rlb3‎), Christopher Nielsen (‎sparc‎), Christopher Madsen (‎cjm‎), Andrew Walker (‎Andy‎), Kenneth Power, Michael Graham (‎magog‎), Liam Echlin, Seth Viebrock, Sean McCune (‎pghcoder‎), Jeremy Stashewsky (‎stash‎), Paul Makepeace (‎paulm‎), Nova Patch (‎patch‎), Joakim Lagerqvist, David Walia, Terry Bates, Gwendolyn Schmidt, Steve Bogart, Jesse Luehrs (‎doy‎), Brad Lhotsky,