Reading through this may help you; http://code.google.com/p/fbug/source/browse/trunk/content/firebug/debugger.js
Dougal --- Dougal Matthews - @d0ugal http://www.dougalmatthews.com/ 2009/3/16 Dougal Matthews <[email protected]> > I might be wrong but when the JavaScript runs as a plugin it has access to > these things but when you write code inside the browsers you can't access > interact with it the same way and thus can't do debugging type operations. > Dougal > > --- > Dougal Matthews - @d0ugal > http://www.dougalmatthews.com/ > > > > > 2009/3/16 Joe <[email protected]> > > >> Hi >> >> I am trying to implement a ideal pause function in JavaScript under >> Mozilla environment. >> Here is my strategy: >> Put some breakpoints (debugger;) in Script then using "@mozilla.org/js/ >> jsd/debugger-service;1 <http://mozilla.org/js/%0Ajsd/debugger-service;1>"; >> service to pause script and after some events >> fire then continue Script >> >> I tried to figure out how firebug handle breakpoints but there isnt >> any documentation on the web >> Here is my XUL code which can handle debugger: >> --------------------------------------------------------------------- >> <?xml version="1.0"?> >> <!DOCTYPE window SYSTEM "chrome://chatzilla/locale/chatzilla.dtd"> >> <?xul-overlay href="chrome://global/content/globalOverlay.xul"?> >> >> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/ >> there.is.only.xul" >> id="main-window" orient="vertical" onclose="onClose();"> >> >> <script> >> <![CDATA[ >> >> const jsdIExecutionHook = >> Components.interfaces.jsdIExecutionHook; >> >> dump ("Debugging starts\n"); >> var scriptHook = { >> onScriptCreated: function scripthook (script) { }, >> onScriptDestroyed: function scripthook (script) { } >> }; >> var errorHook = { >> onError: function(message, fileName, lineNo, pos, flags, >> errnum, >> exc){ >> dump( "message: " + message + " Line: " + lineNo + >> "\n"); >> } >> }; >> >> netscape.security.PrivilegeManager.enablePrivilege >> ('UniversalXPConnect'); >> const JSD_CTRID = "@mozilla.org/js/jsd/debugger-service;1"; >> const jsdIDebuggerService = >> Components.interfaces.jsdIDebuggerService; >> >> var jsds = Components.classes[JSD_CTRID].getService >> (jsdIDebuggerService); >> jsds.scriptHook = scriptHook; >> jsds.errorHook = errorHook; >> jsds.debuggerHook = { onExecute: function(frame, type, rv){ >> dump('Pause by debugger key word'); >> return jsdIExecutionHook.RETURN_CONTINUE; >> } }; >> jsds.enumerateScripts ( { enumerateScript: function(script) { / >> *dump('enumerateScript\n');*/} }); >> >> jsds.on(); >> >> function onClose () { >> netscape.security.PrivilegeManager.enablePrivilege >> ('UniversalXPConnect'); >> jsds.off(); >> } >> function onKeyPress (e) { >> if (e.keyCode == 13) >> doEval(); >> } >> function doEval() { >> var ex; >> try { >> var rv = eval(document.getElementById("input-box").value); >> document.getElementById("output-box").value = rv; >> } catch (ex) { >> document.getElementById("output-box").value = >> "Caught exception: " + String(ex); >> } >> finally { } >> } >> ]]> >> </script> >> >> <textbox id="input-box" style="width:100%" multiline="true"/> >> <button label = "Execute" oncommand="doEval();" /> >> <textbox id="output-box" style="width:100%" readonly="true"/> >> </window> >> --------------------------------------------------------------------- >> >> Now my problem is how to continue code when it is on the pause ? >> Maybe some functions arent complete but I cant figure out more, so >> please help me to complete it >> >> P.S: to try pause just paste this code in first textbox: >> debbuger; >> alert('some text here') >> >> >> >> > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Firebug" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/firebug?hl=en -~----------~----~----~----~------~----~------~--~---
