javascript - 如何从我的 reportError 函数中获取 SpiderMonkey (JSAPI) 中的完整回溯?

标签 javascript c spidermonkey jsapi

我正在使用 spidermonkey 在我的应用程序中嵌入 javascript,并且我有一个名为 reportError 的函数,它接收 JSErrorReport .

捕获错误的当前行似乎很简单,但是是否有可能让整个调用路径显示完整的回溯?

最佳答案

通过 JSErrorReport 是做不到的。相反,您必须查看调试器 APIS。找到头文件 jsdbgapi.h。它有一个钩子(Hook)函数列表,如果您在启用调试的情况下运行(JS_SetDebugMode(cx,true)),将调用这些函数。在这些钩子(Hook)函数中,您可以简单地调用 js_DumpBacktrace 来获取完整的堆栈。请注意,如果您不先启用调试,js_DumpBacktrace 将不起作用。在 Debug模式下,您可以做的不仅仅是打印堆栈。实际上可以获得函数上下文及其所有参数和局部变量。

关于javascript - 如何从我的 reportError 函数中获取 SpiderMonkey (JSAPI) 中的完整回溯?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/473029/

相关文章:

javascript - for 循环在除对象之外的其他对象上

c - 变量的地址[重复项]

c - 我正在使用 while 循环来一一输入字符(要输入的字符总数未知)。如何将我的字符存储在数组 : 中

javascript - 带有 unicode 的 Spidermonkey 中的 read()

javascript - 播放新音频时停止播放音频

javascript - 如何在 Android webview 中完全禁用所有输入的软键盘

javascript - 使用图形 API 从浏览器将视频发布到 Facebook

创建一个接受不同数据类型参数的 C 函数

javascript - 在 Spidermonkey JS 引擎中异步调用回调函数

javascript - 用于对 JavaScript 引擎进行基准测试的最佳独立测试套件是什么?