JS_SetFunctionCallback 编辑

Obsolete since JSAPI 37
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

Sets a callback to be run whenever a JavaScript function is invoked or exited. This lets you trace the execution of code, and is particularly useful for JavaScript tracers and profilers since it works across all run modes (interpreter, method JIT, trace JIT). Using this function may have a significant performance impact. See Function tracing for an example.

Note: This method is only available if MOZ_TRACE_JSCALLS was defined at compile time using --enable-trace-jscalls.

Syntax

void
JS_SetFunctionCallback(JSContext *cx, JSFunctionCallback fcb);
NameTypeDescription
cxJSContext *Pointer to a JS context from which to derive runtime information. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.
fcbJSFunctionCallbackThe callback to execute when JavaScript functions are invoked and exited. Specify NULL to stop calling the current callback. The callback must not modify the current state of execution. The call stack cannot be relied upon, because this callback may be invoked from the JIT code when the stack frame and context are in an indeterminate state.

Description

JS_SetFunctionCallback sets a C function to be called each time a JavaScript function is invoked or exits.

fcb is a pointer to the C function to call.

Note that debuggers should probably use JS_SetCallHook in preference to this function, because it is invoked when the Javascript stack is guaranteed to be in a consistent state (and therefore it is valid to inspect and modify local variables, generate stack traces, and set breakpoints.)

Callback syntax

typedef void
(* JSFunctionCallback)(const JSFunction *fun,const JSScript *scr,
                       const JSContext *cx, int entering);
NameTypeDescription
funconst JSFunction *The JavaScript function being invoked or exited.
scrconst JSScript *The script being executed.
cxJSContext *The JavaScript context in which the script is being run.
enteringinttrue if the callback is being called because the specified function is being invoked or false if the function is exiting.

See Also

See Also

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:54 次

字数:4766

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文