JSDBGAPI

The JSDBG API is obsolete and has been removed in SpiderMonkey 35. See bug 1069694.

Breakpoints

  • JS_SetTrap
  • JS_GetTrapOpcode
  • JS_ClearTrap
  • JS_ClearScriptTraps
  • JS_ClearAllTraps
  • JS_HandleTrap
  • JS_SetInterrupt
  • JS_ClearInterrupt

Watchpoints

  • JS_SetWatchPoint
  • JS_ClearWatchPoint
  • JS_ClearWatchPointsForObject
  • JS_ClearAllWatchPoints

Inspecting the stack

  • JS_PCToLineNumber
  • JS_LineNumberToPC
  • JS_GetFunctionScript
  • JS_GetFunctionNative
  • JS_GetFunctionFastNative
  • JS_GetScriptPrincipals
  • typedef JSStackFrame
  • JS_FrameIterator
  • JS_GetFrameScript
  • JS_GetFramePC
  • JS_GetScriptedCaller
  • JS_StackFramePrincipals
  • JS_EvalFramePrincipals
  • JS_GetFrameAnnotation
  • JS_SetFrameAnnotation
  • JS_GetFramePrincipalArray
  • JS_IsNativeFrame
  • JS_GetFrameObject
  • JS_GetFrameScopeChain
  • JS_GetFrameCallObject
  • JS_GetFrameThis
  • JS_GetFrameFunction
  • JS_GetFrameFunctionObject
  • JS_IsConstructorFrame
  • JS_IsDebuggerFrame
  • JS_GetFrameReturnValue
  • JS_SetFrameReturnValue
  • JS_GetFrameCalleeObject
  • JS_GetScriptFilename
  • JS_GetScriptBaseLineNumber
  • JS_GetScriptLineExtent
  • JS_GetScriptVersion
  • JS_GetTopScriptFilenameFlags
  • JS_GetScriptFilenameFlags
  • JS_FlagScriptFilenamePrefix
  • JSFILENAME_NULL
  • JSFILENAME_SYSTEM
  • JSFILENAME_PROTECTED

Evaluating debug code

  • JS_EvaluateInStackFrame

Examining object properties

  • typedef JSPropertyDesc
  • JSPD_ENUMERATE
  • JSPD_READONLY
  • JSPD_PERMANENT
  • JSPD_ALIAS
  • JSPD_ARGUMENT
  • JSPD_VARIABLE
  • JSPD_EXCEPTION
  • JSPD_ERROR
  • typedef JSPropertyDescArray
  • JS_PropertyIterator
  • JS_GetPropertyDesc
  • JS_GetPropertyDescArray
  • JS_PutPropertyDescArray

Hooks

  • JS_SetDebuggerHandler
  • JS_SetSourceHandler
  • JS_SetExecuteHook
  • JS_SetCallHook
  • JS_SetObjectHook
  • JS_SetThrowHook
  • JS_SetDebugErrorHook
  • JS_SetNewScriptHook
  • JS_SetDestroyScriptHook
  • JS_GetGlobalDebugHooks
  • JS_SetContextDebugHooks

Memory usage

  • JS_GetObjectTotalSize
  • JS_GetFunctionTotalSize
  • JS_GetScriptTotalSize

System objects

  • JS_IsSystemObject
  • JS_NewSystemObject

Profiling

These functions can be used to profile a SpiderMonkey application using the Mac profiler, Shark. See Profiling JavaScript with Shark.

  • JS_ConnectShark
  • JS_DisconnectShark
  • JS_StartChudRemote
  • JS_StopChudRemote

The following JSNative functions can be used to expose the above four APIs to scripts.

  • js_ConnectShark
  • js_DisconnectShark
  • js_StartShark
  • js_StopShark