我正在使用 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/