chrome控制台debug 堆栈和 源码位置对不上,如何处理?

image.png

image.png

debug的时候 定位不到 正确的代码位置。
第一张图是 应该 定位的位置。

第二张图 是实际调试时定位的位置。

这个该如何处理?

阅读 2.5k
avatarAI BotBETA

当在Chrome控制台中调试堆栈和源码位置不对齐时,可以尝试以下方法来处理:

  1. 检查源码映射(Source Map):首先,确保你的编译代码是否包含了源码映射。源码映射是一种将编译后的代码映射到原始源代码的方法,它使得在调试时可以方便地找到原始代码的位置。如果没有源码映射,调试器通常会直接显示编译后的代码位置,而不是原始源代码位置。
  2. 使用//# sourceMappingURL:在你的编译代码的顶部或底部,应该有一个//# sourceMappingURL的注释,它指定了源码映射文件的位置。确保这个URL指向的源码映射文件是正确的,并且它与你的编译代码匹配。
  3. 检查源码位置:如果源码映射是正确的,那么在调试时,你应该能够看到源代码的位置,而不是只有编译代码的位置。请确保在调试时选择的是源代码位置,而不是编译代码位置。你可以在调试工具的"Sources"面板下查看和选择。
  4. 重新编译和刷新页面:有时候,重新编译和刷新页面可能解决源码位置不正确的问题。在修改源代码并重新编译后,确保清除浏览器缓存并重新加载页面,以确保加载的是最新的编译和源码映射。
  5. 检查构建工具和配置:如果你使用的是构建工具(如Webpack、Babel等),确保你的构建配置没有错误,并且正确地生成了源码映射。有时候,构建配置可能会导致源码位置与堆栈不匹配的问题。
  6. 使用debugger语句:在源代码中使用debugger语句可以帮助你在调试时暂停执行,并直接定位到源代码的位置。你可以在可能出现问题的代码段周围添加debugger语句,以便在运行时手动检查代码状态和变量。

如果你尝试了以上方法仍然无法解决问题,可能还需要进一步检查你的开发环境和构建配置,或者提供更多关于问题的上下文信息,以便更准确地帮助你解决问题。

1 个回答

1、项目配置要生成源码文件source-map
2、看下浏览器控制台有没有打开源码映射
image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题