in reply to Can I make the debugger press 'v' for me after every step?

If you want to see context, then I think your best bet would be to use a visual debugger. Devel::ptkdb is available from the usual places, works on both Windows and Unix, and is fairly easy to setup and install. Just run: perl -d:ptkdb <your program.pl>. If you don't like the rather primitive user interface, or you need to remotely debug on a device that dose not support graphics, then you could also consider the EPIC plugin for eclipse, which incorporates a visual debugger that supports remote debugging over a network, but it is slightly more difficult to install and setup.

Having said that, I would have thought that stepping over every statement that perl runs will get very tedious quite quickly, especially if your program is running any sort of loop. When I am debugging, I usually type l <lines> to view 30-50 lines of code in one function or block, and then with them on screen just use n to step over the code. One line of context it enough if the code is already on screen. If I find myself in a repetitive loop, I just type c <line> to continue after the loop.

Replies are listed 'Best First'.
Re^2: Can I make the debugger press 'v' for me after every step?
by will_ (Scribe) on Jul 26, 2011 at 10:50 UTC

    Yes, I've used ptkdb before and it is brilliant.

    But you guessed right, the code is on a remote server, being read via a terminal.

    I did mount it locally and try to run in Eclipse, but there were so many other module dependencies missing that I gave up after installing several dozen.

      It looks like BrowserUk has offered a soltuon to your original question.

      As for running your script with a visual debugger on your remote server, is there enough bandwith and resources to enable you to run a remote X application? I have done that sort of thing a lot when debugging perl on local servers, where the server room is across the hall from my desk, the server is a huge 16 core Solaris box, and there is plenty of bandwith between me and it.