|
![](/i/fill.gif) |
>> I really can't believe somebody would go to the extreme lengths
>> required to build something as complex as a debugger, and then release
>> it while it's trivially broken.
>
> Welcome to Open Source!
The next thing I'll be hearing is "patches welcome"...
> I can completely understand a debugger for an interpreted language only
> being able to stop on executable lines. I can understand it especially
> if the interpreter wasn't written with breakpointing it in mind. If the
> person writing the interpreter for example compiled code into bytecodes
> and then marked each bytecode with what line it came from, and the guy
> writing the debugger stopped as soon as you hit a bytecode with the
> matching line number, and he can't tell what lines are valid to
> breakpoint on before the code is running because that's when the
> bytecode is generated, I'd think it would take a crapload of work to fix
> that "bug".
You realise that the UI already highlights the lines that have code on
them, right? So the code to figure this out already exists. All you have
to do is look at where the user put the breakpoint, and select the
nearest line that's executable. The only possibly-tricky thing is having
the breakpoint set on line X+N put appear to be set on line X.
Failing that, you could just refuse to set a breakpoint on a line if it
doesn't contain any executable code. That would be even more trivial to
implement.
And yet Firebug does neither of these things.
>> Anyway, I guess none of this is going to fix my algorithm. I suppose
>> it's a miracle that you can debug JavaScript at all. But *damn*!
>
> Actually, I thought it was pretty cool when I could put a breakpoint in
> code invoked by a web request and have it breakpoint. Man, I wish I had
> that capability when I was first writing CGI scripts.
I'm still trying to find a way to run CGI binaries (note: binaries, not
scripts) without having to install and configure Apache or something
like it.
It seems there are plenty of light-weight HTTP servers, but all of them
either lack CGI support entirely, or only support CGI *scripts* (usually
in a single language).
Post a reply to this message
|
![](/i/fill.gif) |