Re: Venkman planning for Gecko 1.9

"John J. Barton" <[email protected]> Wed, 05 Sep 2007 08:39:32 -0700
Newsgroups gmane.comp.mozilla.devel.jsdebugger
Message-ID <[email protected]>
Gijs Kruitbosch wrote:
> John J. Barton wrote:
>> Gijs Kruitbosch wrote:
>>> On the other hand, it has perhaps about 30% of the JS debugging 
>>> features Venkman has (
>>
>>> profiling? 
>> Implemented
> 
> But you can't save profiles (or at least, you couldn't the last time I 
> used it).

If you mean "write a copy of the profile info to disk", you are correct 
that Firebug does not do this.

> 
>>
>>> freezing js execution in other windows? 
>> I guess you mean breakpoints? Implemented.  Other windows is part of 
>> the extension support (Chromebug) I am working on this.
> No, I mean stopping JS from executing at all, effectively freezing the 
> window (stopping the user from interacting with it at all). Last time I 
> checked, Firebug doesn't do this.

I'm curious: what is this good for?

> 
>>
>>> ignoring files while debugging? 
>> ? I don't know what this means.
> 
> If you use stop for exceptions or errors, or log exceptions or errors (3 
> out of 4 of those are not possible in Firebug, fwiw...), you sometimes 
> want to ignore certain files because they keep throwing random errors 
> you don't give a ... about.

Errors are logged and Firebug->Script->Options->BreakOnErrors stops for 
errors.  The rest is correct.

> 
>>
>>> setting evaluation objects? 
>> Watch is implemented
> No, this is setting an object so that variables are resolved as 
> properties on that object, and |this| refers to the object.

Sorry I don't know what this means.  Can you tell me how it is used?

> 
>> pretty print?
>> I use it for browser-generated event handlers, but general use of 
>> pretty print is not implemented.
>>
>>> ), and the code is generally speaking harder to hack than Venkman (at 
>>> least, several people seem to believe this). 
>> True, but Venkman is not a cake walk either.
>>
>>> From a security perspective, some of Firebug's features (notably 
>>> console logging etc.) are also a bit problematic at the moment (see 
>>> version history for 1.02 and 1.03 on addons.mozilla.org).
>> The current release is 1.05 and 1.1 is almost in beta.
>>
>> On the other hand, Venkman does not support eval() debugging, 
> Pretty print...
> 
>> browser-generated event handlers,
> 
> 
>> CSS errors, CSS state, HTML state, 
> No, because it's a *javascript debugger*. You have DOMI for all of that, 
> and Venkman works with DOMI in inspecting dom nodes (if you get a trunk 
> build of venkman, anyway).

Yes, most of javascript acts to create/modify CSS/HTML/XUL so closer 
integration is helpful now and I believe a great potential for better 
debugging.  For example I want to break when a node is modified.

> 
>> break-on-top-level,
> It does (assuming you mean setting breakpoints in __toplevel__).

No, I mean break on the next top level without manually setting 
breakpoints on each __toplevel__.

> 
>> net traffic analysis
> No, because it's a *javascript debugger*
> 
>> FF3.
> That's because it's unmaintained, this will be fixed soon, hopefully. 
> Also, the same goes for released versions of Firebug.
> 
>>
>> But I don't think the feature list is so important since they can be 
>> made similar. Both programs are frankly mysterious because they rely 
>> on poorly documented underlying APIs.  In fact Venkman is in my 
>> experience the best documentation we have for JSD. In a perfect world 
>> I'd like to see both up to speed. But in reality we have only a few 
>> people who can work on these, so I want to be sure you know about 
>> Chromebug so you can consider that alternative.
> 
> Noted. I'm helping out Venkman because I'm afraid it might die 
> otherwise. That doesn't seem to be the case for Firebug at all. Given 
> I'm still a fulltime student (in his final, ie thesis-writing, year) who 
> is also doing a grant project involving other code in the mozilla 
> universe, I simply don't have (enough) time to spend on Firebug or its 
> derivatives.

Unfortunately the reality is similar for Firebug: I am helping out 
because it might die otherwise.

Anyway please continue to discuss Venkman issues on this group.  I might 
be able to help based on experience with Firebug.

> 
> <snip>
> 
> ~ Gijs