rem: function debugTrap (cx, state, type) 
add: function debugTrap (frame, type, rv) 
context: function debugTrap (cx, state, type){    ++console.stopLevel;    /* set our default return value */    console.continueCodeStack.push (jsdIExecutionHook.RETURN_CONTINUE);    $ = new Array();    console.currentContext = cx;    console.currentThreadState = state;    console.currentFrameIndex = 0;    var frame = state.topFrame;        /* build an array of frames */    console.frames = new Array(frame);    while ((frame = frame.callingFrame))        console.frames.push(frame);    var tn = "";    switch (type)    {        case jsdIExecutionHook.TYPE_BREAKPOINT:            tn = MSG_WORD_BREAKPOINT;            break;        case jsdIExecutionHook.TYPE_DEBUG_REQUESTED:            tn = MSG_WORD_DEBUG;            break;        case jsdIExecutionHook.TYPE_DEBUGGER_KEYWORD:            tn = MSG_WORD_DEBUGGER;            break;        case jsdIExecutionHook.TYPE_THROW:            tn = MSG_WORD_THROW;            break;        default:            /* don't print stop/cont messages for other types */    }    if (tn)        display (getMsg(MSN_STOP, tn), MT_STOP);    display (formatStackFrame(console.frames[console.currentFrameIndex]));        console.jsds.enterNestedEventLoop();     /* execution pauses here until someone calls      * console.dbg.exitNestedEventLoop()      */    if (tn)        display (getMsg(MSN_CONT, tn), MT_CONT);    $ = new Array();    delete console.currentContext;    delete console.currentThreadState;    delete console.currentFrameIndex;    delete console.frames;        return console.continueCodeStack.pop();}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/ae7099ca50ce6ee372038a9a7a00a88e76d3909d/venkman-debugger.js/clean/extensions/venkman/resources/content/venkman-debugger.js