繁体   English   中英

VS Code 断点跳转到其他行

[英]VS Code breakpoints jump to other lines

由于我还没有解决我的另一个问题随机失败的测试 jest 和 supertest Node.js我决定使用VS Code调试器。 我认为这会很简单,但是在特定行设置断点并运行调试器后,我发现断点图标位于不同的位置,我的代码停在那里。

我的launch.json文件:

{
    "type": "node",
    "request": "launch",
    "name": "Jest Current File",
    "program": "${workspaceFolder}/node_modules/jest/bin/jest",
    "args": ["${relativeFile}"]
}

之前: 在此处输入图片说明

之后: 在此处输入图片说明

知道为什么会这样吗?

我只是使用普通的摩卡咖啡,所以可能有点不同。 但我之前已经注意到了这一点,我会在 then() 中设置一个内联断点(cmd+shift+p - 搜索内联断点)

使用.catch()之后.then()根据我的经验,它是不会.then()由于一些例外打来电话,美中不足的是不被调用。 我一直在使用 chai mocha 进行测试,遇到了同样的问题。 尝试添加.catch()它将表明您的 API 可能有问题并到达 catch 语句。

您可以尝试清理您的工作区并创建一个新的launch.json文件

我遇到了同样的问题,我已经updated我的 VScode 并像这样更改了我的午餐文件:

{
    "type": "node",
    "request": "launch",
    "name": "Jest tests",
    "program": "${workspaceRoot}/node_modules/jest/bin/jest.js",
    "args": ["--verbose", "-i", "--no-cache"],
    "console": "integratedTerminal",
    "internalConsoleOptions": "neverOpen"
}

一般在一些IDE中,断点是固定在行号上的。 因此,如果设置断点后该文件中的代码发生更改,则断点不会移动。 所以在修改的时候,

  • 停止调试模式
  • 做出改变
  • 设置断点
  • 再次启动调试模式。 这对我有用。

由于 API 请求引发了一些错误,因此不会执行到该行。 使用 catch 块处理错误。 在 catch 块中打印错误。 您还可以在 catch 块中为代码添加断点以检查有关错误的更多详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM