

Ask YC: IDE debugging for web programming - a dream or a reality? - edb

So I've done a lot of java + eclipse and C++ + Visual Studio (that + looks awkward..) development in my life and find that the debugging IDE tools in eclipse/VS were absolutely key to my adoption and performance in using those languages. Most importantly, I like that they allow you to step into and out of function calls, view the call stack and variable values real-time at any line of code as the code progresses. This was a key learning tool for me.<p>Has anybody successfully done this in with any web programming languages + frameworks? I'm a cakePHP developer, for example, and I'd like to see the sequence of calls from the time the dispatcher is instantiated to the time that the views are echo'd and sent to the browser.<p>Just curious if anybody has done this successfully in PHP, Symfony, CakePHP, Ruby, Rails, Python, Django, whatever it may be... I've been doing web development for a few years now and have resorted to elaborate print statements and variable dumps for my debugging needs, I need more!<p>If you've lived the debugging dream, or have any debugging tips to offer, please post the tools you've used and any resources you may know of to help me (and our readers) set it up.<p>I've recently installed Eclipse PDT with Zend Debugger in an attempt to do this and had luck in simple scripts with include statements, but once mod_rewrite gets involved, everything goes straight to hell.<p>I'm curious if I should keep trying or if it's nothing but a dream...
======
ktom
So I haven't reallly looked into this until you mentioned it, but there is
XDebug and there is an eclipse client called PDT that supports XDebug.

This lets you do gdb style things like put watches on variables, halt
execution, change the value of variables at runtime etc. This might be in line
with what you are talking about.

I don't know how many languages XDebug supports but if I had to come up with a
solution from scratch, I believe you would need to hack the respective
interpreters for your languages to get the functionality you are suggesting.

Once you get the ability to externally inform the interpreter of how you want
it to behave (other than just executing the program it normally does) you can
get watches, breakpoints and changes variables on the fly.

------
stcredzero
If you use Smalltalk Server Pages in VisualWorks, you can debug through your
pages as they render. All the HTML segments are in an array, and the <% ... %>
tags are just normal function calls. You can do this to any SSP server,
provided you load some additional remote debugging tools if you're running
your server headless. It's rock solid. As a bonus, SSP is pretty freaking
fast. The HTML page is actually compiled into a Smalltalk method, which is
JIT-ed as machine code. (Which is how we get the page render debugging "for
free." It's just normal debugger operations!)

(My understanding is that VisualWorks is now going to concentrate on
supporting Seaside. You should be able to see many of the same benefits
there.)

------
aj
Have you taken a look at Aptana? It is quite good and mostly compatible with
most of eclipse plugins as well.

And since you already have experience with eclipse, you should be quite
comfortable using Aptana

