Firefox报too much recursion错误:如何获取完整栈轨迹定位问题源头
Firefox获取完整栈追踪信息的方法
- 调整开发者工具内置栈长度限制
- 在地址栏输入
about:config,确认安全提示后进入配置页面 - 搜索配置项
devtools.debugger.stack-traces-limit,默认值通常为200 - 将数值调整为你需要的大小,比如1000或更高,调整后无需重启浏览器,只需要关闭再重新打开开发者工具即可生效
- 复现问题后就能看到更长的栈追踪内容,不会被默认截断
- 在地址栏输入
- 代码层面主动捕获完整栈信息
如果修改配置后仍无法拿到完整栈,可以在代码中主动捕获错误打印栈:
同步代码用try-catch包裹:
异步未处理的Promise错误可以全局监听捕获:try { // 调用第三方库的相关代码 } catch (error) { // 直接打印完整栈内容,不会被开发者工具默认截断 console.log('完整调用栈:', error.stack) }window.addEventListener('unhandledrejection', (e) => { console.log('异步错误完整栈:', e.reason.stack) }) - 配合source map定位源码位置
如果你的代码经过打包压缩,记得开启source map生成,这样栈追踪里的行号会自动映射到源码的真实位置,方便定位到调用第三方库的具体代码行。

内容的提问来源于stack exchange,提问作者reducing activity
相关产品推荐
相关产品推荐

