使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题

这篇具有很好参考价值的文章主要介绍了使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实现的结果:在vscode中可以直接debug上一步下一步等,同时在浏览器里面也可以执行这样的操作,这样的debug功能,谁不想要呢?谁还没有呢?是不是你,哈哈哈哈使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题

在浏览器里面debug实现:使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题

在 debug 时通常的方式如下几种

  • 源代码中增加 debugger 或者 console.log
  • 在 Chrome 浏览器 Sources 中加断点
  • vscode 中直接调试,对源码定位准确直观(下面阐述该种方式

相信以上两种很多人都会了吧,但是第三种你会吗?哈哈哈,下面就来学起来吧,我也是耗时一下午才研究透彻,踩过的坑都给你补上了 

Vscode的Debug配置

1.安装拓展插件:debugger for chrome 

但是官方已经弃用,改用 JavaScript Debugger 使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题

所以安装JavaScript Debugger:使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题生成模板debug配置,后面会再重新配置:

使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题

2.在配置文件中添加:devtool: 'source-map'

不管你是用的vue2还是vue3的cli,找到你项目中的配置文件,然后把devtool改为'source-map'配置,看一下我的配置文件里面:

module.exports = {
  dev: {
        devtool: 'source-map',
   }
}

如果是vue3 cli 的话:

module.exports = {
  chainWebpack: (config) => {
    if (isDev) {
      config.devtool('source-map')
    }
  }
}

 也可以通过 configureWebpack: { devtool: 'source-map' }进行配置,方式多种,不赘述。 

3.配置vscode\launch.json文件

在项目根目录下配置.vscode/launch.json 文件,具体配置 vscode-chrome-debug 插件有详细描述,我的配置如下:vscode 默认生成的 launch.json 是没有 :"webpack:///./src/*": "${webRoot}/*",我的打断点是灰色就是这里导致的。通过修改配置让vscode 知道 webpack 调试的文件对应项目的本地文件。问题解决。

{
  // 使用 IntelliSense 了解相关属性。 
  // 悬停以查看现有属性的描述。
  // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "type": "chrome",
      "request": "launch",
      "name": "vuejs: chrome",
      "url": "http://localhost:8028",
      "webRoot": "${workspaceFolder}/src",
      "sourceMapPathOverrides": {
        "webpack:///src/*": "${webRoot}/*",
        "webpack:///./src/*": "${webRoot}/*"
      }
    }
  ]
}

4.添加断点后,启动项目,然后开启debug模式

我这里必须先启动项目,然后再开启debug模式才可以:

使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题

然后再启动debug模式:

使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题

然后就可以调试你的代码了。

可能遇到的问题

问题一:没有办法在async await 所在行打断点

这个问题其实是 sourcemap 的问题。因为vue 一般开发都是用es6或者tpyescript 写的代码。然后使用babeljs 翻译成一般浏览器都能运行的es5。这样的结果是浏览器上运行的代码和我们开发写的代码是不一样的。这个时候就需要一个叫 sourcemap 的东西来标记浏览器上哪行代码对应工程中的哪行代码。

所以不能打断点应该就是vscode 和 chrome 找不到对应代码的位置。

使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题

上面的126行 var res = await ...... 就不能设置断点。vscode 会提示你 unverified breakpoint 。

解决办法要从 babel 的配置文件下手。在项目的根目录创建一个 babel.config.js 文件。然后配置如下:

使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题

重新编译运行一次。也就是重新运行 npm run serve 。再试试在刚才的地方打断点。成功了。重点其实是配置文件的第五行。

使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题

问题二:没有办法在自己写的js 或者模块里面打断点

要解决这个问题我们先来做个实验。我们在根目录的 ./src/rpc 文件夹下有一个自己写的js文件 rpc_user.js

使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题

在第一个问题的 126行打个断点,然后 stepin 无数次之后最终会到达 我们 rpc_user.js 那个loginWithName 函数。但是,这个时候vscode 打开的文件名后面一般会跟 “readonly - inlined context source map” 之类的提示。我们先叫他 readonly_rpc_user.js 。 有趣的是如果在这个文件里面打断点是能成功的。但回到原本的 rpc_user.js 却不能打断点。什么问题呢?我们来看看 chrome 浏览器上的状态。

使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题

使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题

发现问题了没有。Login.vue 文

件在 webpack:///src/views/ 里面。而 rpc_user.js 却在 webpack:///./src/rpc/ 里面。就那么一点点差异。另外,如果直接在chrome 的rpc_user.js 里面打断点是没有问题的。也就是说vscode 并不能在本地项目找到 webpack 上对应的文件。知道了问题就好解决了。就是要告诉vscode 什么文件在什么文件夹。

下面我们重新配置一下项目根目录下 .vscode/launch.json 文件:

使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题

vscode 默认生成的 launch.json 是没有第 13行的。通过修改配置让vscode 知道 webpack 调试的文件对应项目的本地文件。问题解决。

问题三:如果 vue 文件中不能加断点,是由于 vscode 配置问题导致

如下修改:首选项 => 设置 => 搜索”debug“ => 功能/调试 => 勾选 Debug:Allow Breakpoints Everywhere
使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题文章来源地址https://www.toymoban.com/news/detail-465821.html

到了这里,关于使用Vscode进行Vue的debug调试功能,研究了一天终于可以了,同时解决Unbound breakpoint灰点问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用vscode 连接服务器 进行深度学习代码调试

    博主本来在Win上已经配好环境了,但是在跑代码的过程中,因为tensor拼接得太大了,导致笔记本内存不足,因此需要到服务器上跑 为什么选择vscode? 如果直接用xshell连接服务器,在命令行运行py文件,不是很直观,也不能debug,还不能直接输出图片。 pycharm连接服务器好像要

    2024年02月22日
    浏览(37)
  • idea 对JavaScript进行debug调试

    前言 : 工作中接手别人的前端代码没有注释,看浏览器的network或者console切来切去,很麻烦,可以试试idea自带的 javscript debug 功能。 浏览器中输入url 查看debug断点 看到断点的变量就显示了。 大功告成!!

    2024年02月11日
    浏览(61)
  • VScode 调试python程序,debug状态闪断问题的解决方法

    0. Few words 之前一直在VSCode中debug C++和Python的程序没出过闪断的问题,但是最近在另一台电脑上debug,同样的方法,设置launch.json和CMakeList加debug状态等等操作,如我另一篇blog写的一样,可以点这里查看。 但是,就是同样的方法,debug C++的程序没问题,就是debug python的程序就会

    2024年02月10日
    浏览(42)
  • vscode调试debug,launch.json文件‘args’无法发传递给脚本

    launch.json中的\\\"name\\\"参数不要随便起,要与执行的文件名一致! 参考链接:注意看链接帖子的评论

    2024年01月18日
    浏览(66)
  • Node 调试利器,前端、Node 开发必备 - VSCode JS Debug Terminal

    经常看到有同学抱怨 Node 调试麻烦或者是搞不清怎么调试各种脚本、 Jest 、 Webpack 等等,而偶尔看到的调试相关的文章又全都是在写 inspect 、 launch.json 这些方案,其实有一定学习成本。 而其实在 VSCode 中早已内置了相当无脑的 Debug 方式,就是 JavaScript Debug Terminal ,利用它我

    2024年02月05日
    浏览(54)
  • 小白如何进行代码调试Debug(IDEA 2023版)

    本篇文章主要介绍如何进行断点调试 开始调试主要分为两步,第一为设置断点,第二才进行调式操作。 1、设置断点 设置断点的方法基本上大多数的 IDE 都一致,当我们在代码行上的数字旁鼠标左键点击一下,便设置断点成功(可设置多个断点)。断点还可以进行其余设置

    2024年02月07日
    浏览(37)
  • jvm开启远程调试功能;idea远程debug

    有时候一些问题本地调试无法复现,这个时候可以开启 jvm 的远程调试功能 jdk8 jdk11/17 修改 tomcat 的 bin 下的 catalina.sh 文件 把 jpda_address 对应的 localhost:8000 改为 8000 ,意味着允许任何人访问。 填上对应的 ip 和端口即可,当然要确保被连接的服务的代码和本地是一致的,不然代

    2024年02月11日
    浏览(40)
  • Ubuntu中使用vscode+cmake引用第三方库进行编译调试

    在自己的项目中引用openCV和Eigen库。 opencv和Eigen库的编译安装参见上一篇文章https://blog.csdn.net/qq_41816368/article/details/130090823?spm=1001.2014.3001.5502#t4 其他的第三方库放在工作空间的thirdparty文件夹,项目编译时一起编译,不提前安装。 首先新建一个文件夹作为工作空间 在创建Thir

    2023年04月25日
    浏览(56)
  • 使用vscode + gcc进行 STM32 单片机开发(一)编译及调试

    众所周知,单片机MCU的开发通常是使用keil来进行的,但是keil作为一款有几十年历史的IDE,bug层出不穷,界面也越来越丑,加上使用盗版jlink,导致keil各种崩溃卡死。 故越来越多的单片机IDE也如雨后春笋般冒出,例如 st官方出版的st studio、rt-thread出版的rt-studio,至于好不好用

    2023年04月08日
    浏览(46)
  • VSCode-Python传参数进行Debug

    新建demo.py 命令行运行 python demo.py --host 127.0.0.1 --port 22 --user root 可以看到输出结果 在vscode点击debug的图标--create a launch.json file---python File 初始的json文件如下: Ctrl+shif+p切换python环境并更改./vscode/launch.json如下 之后打断点按F5或者Run--Start Debugging 就可以了

    2024年02月13日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包