Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Developer Center > Interest Check: WebKit based Javascript debugger

Interest Check: WebKit based Javascript debugger
Thread Tools
fats
Forum Regular
Join Date: Jan 2001
Location: Oregon
Status: Offline
Reply With Quote
Nov 21, 2005, 07:52 PM
 
While Venkman exists for Mozilla based browsers, as far as I know there is no Javascript debugger for Safari and other WebKit based browsers. I know a lot of people get by with just using Venkman and then using document.console.write in safari to fix the parts where Safari and Mozilla differ, and maybe this is entirely sufficient for people. What do you think? If a good JS debugger for Safari were available, would you use it? Would you pay for it?
     
fats  (op)
Forum Regular
Join Date: Jan 2001
Location: Oregon
Status: Offline
Reply With Quote
Nov 30, 2005, 03:06 AM
 


As you can see, I went ahead and started writing it anyway. It will be useful to me at the least, and perhaps to a few others as well, so the fact that nobody has weighed in on this thread isn't a showstopper for me.

What you see in the screen shot is pretty much what I have at this point. That includes:
* Step in/out/over
* Inspect variables
* Call stack (not navigable)

I intend to add the following features:
* modify variables
* better variable filtering
* exception reporting and console output (safari already has this, so this isn't super pressing)
* syntax highlighting
* spit and polish.

I'm also considering making the call stack navigable, but I think that due to the way scope is handled in Javascript that this may not be worthwhile and might just cause confusion.
     
Chris O'Brien
Grizzled Veteran
Join Date: Nov 2003
Location: Hebburn, UK
Status: Offline
Reply With Quote
Nov 30, 2005, 04:48 AM
 
Excellent! I don't know how I missed this thread the first time round, but this will come in very handy

If you need a hand with anything, or just some complex scripts to throw at it to see how it performs, either PM me or send me an email to chris [at] vanillasoap [dot] com. I'd be more than happy to help out. I think Millennium mentioned in another thread that he was looking for something like this aswell, so there's two of us who will be extremely grateful.
Just who are Britain? What do they? Who is them? And why?

Formerly Black Book
     
Millennium
Clinically Insane
Join Date: Nov 1999
Status: Offline
Reply With Quote
Nov 30, 2005, 10:29 AM
 
What I'm really looking for is a profiler. Venkman exists for Seamonkey builds, but it doesn't work on Firefox 1.5, so I have to use Seamonkey to profile my experiments with the <canvas> tag. I'd be interested in a WebKit-based profiler as well, mostly for the sake of comparison. Gecko seems faster than WebKit as some things and WebKit seems faster than Gecko at some things, and I'd be really interested to find out more of exactly how that works.
You are in Soviet Russia. It is dark. Grue is likely to be eaten by YOU!
     
fats  (op)
Forum Regular
Join Date: Jan 2001
Location: Oregon
Status: Offline
Reply With Quote
Nov 30, 2005, 12:21 PM
 
Chris:
I'll get in touch with you when I'm a little closer to having a finished project.

Millennium:
A profiler is a great idea, and it should be easy to implement. I'm adding that to my to-do list.

I'm glad to hear that at least two people are interested in the project. I'll check back in when I have implemented the features I intend to have for my first release.
     
madmacgames
Grizzled Veteran
Join Date: Oct 2003
Status: Offline
Reply With Quote
Nov 30, 2005, 02:04 PM
 
To be honest I don't use either a JS profiler or debugger, and I don't really see the point for Javascript, unless you're just interested for curiosity's sake. JS is not that difficult to debug with your head if you get a meaningful error message from the console.

What I would like is a better JS console in Safari. So often, it will give meaningless errors like "notice: undefined at line 0", so I have to run Firefox, whose JS console actually gives me an error message that I can use to fix the problem.
The only thing necessary for evil to flourish is for good men to do nothing
- Edmund Burke
     
Millennium
Clinically Insane
Join Date: Nov 1999
Status: Offline
Reply With Quote
Dec 1, 2005, 09:55 AM
 
Originally Posted by madmacgames
To be honest I don't use either a JS profiler or debugger, and I don't really see the point for Javascript, unless you're just interested for curiosity's sake. JS is not that difficult to debug with your head if you get a meaningful error message from the console.
Profilers aren't really so much a debugging tool as an optimization tool. They're often lumped in with debuggers because they require much of the same sort of low-level access.

I guess they're not strictly needed for many JavaScript applications; certainly you don't need them for simple menu rollovers and stuff like that. But when you do need a profiler, nothing else will do. I mentioned in a previous thread that I'm trying to remake some old-school graphics demos with the <canvas> tag, with a goal of squeezing out 20fps on a 400MHz machine. That kind of optimization just plain isn't possible without a good profiler, because performance issues tend to strike in the oddest places that no one would suspect.

The heck of it is, even though I can only profile on Gecko for now, Safari still benefits: I've actually hit my performance target with some of my demos now on that browser. Firefox is lagging behind a bit, which I suspect is due to the underlying Cairo/gfx/Quartz translation, but I think I know why, and although there's nothing I can do about it I know it's getting fixed in the next revision of Gecko.

But anyway, maybe that's unique to the stuff I'm doing right now. But as more and more people start doing long-running JavaScript programs (particularly AJAX-type stuff), I suspect that profilers will become more important. Computers are fast in this day and age, but JavaScript isn't, and optimization can still be an issue there.
You are in Soviet Russia. It is dark. Grue is likely to be eaten by YOU!
     
   
 
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Top
Privacy Policy
All times are GMT -4. The time now is 06:55 AM.
All contents of these forums © 1995-2017 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.8 © 2000-2017, Jelsoft Enterprises Ltd.,