Here is my JS console code. The commands I currently use are: eg = enumerate globals jex = javascript execute ok = object keys - this is the JS function that eg runs, so you can then call it in an expression like alert(ok(blah)) 'eg' and 'jex' do not exactly roll off the tongue. Could be changed into another command. What my fingers are accustomed to is 'x' and 'y' Here is some sample usage: b http://pizza.com [the page loads and the file sizes are returned] eg [voluminous output of about 100 objects and scalars, most having to do with google ads and god knows what] jex alert('hello world') hello world jex var x = 5 ? jex alert(x) 5 jex alert(ok(document)) [voluminous output of enumeration of all objects under document, presently ending in our gc objects gc$$814, gc$$815, gc$$816] jex for (blah in window) { alert(blah) } [all of the objects in window, formatted with newlines] jex alert(google_adk2_experiment) N [Well that's a relief! Nice to know I am not a subject in an adk2 experiment. All I wanted was some pizza...] jex alert(google_jobrunner) [object Object] [google_jobrunner is an object. I'm curious what's in it.] jex alert(ok(google_jobrunner)) u,m,l,s,G jex var jr = google_jobrunner ? [Making an alias on the fly.] jex alert(jr) [object Object] jex alert(jr.u) [object Object] jex alert(jr.m) [object Window] jex alert(jr.l) 0 jex alert(jr.s) null jex alert(jr.G) 0 [This scratches the surface .. function bodies can also be echoed and can be run using eval. Get a sanity check on what you are debugging.. take 'typeof' different things to verify your assumptions... etc.]