【问题标题】:How to create a conditional debug Visual Studio Code with node js如何使用节点 js 创建条件调试 Visual Studio 代码
【发布时间】:2018-09-25 09:18:03
【问题描述】:

我有一个循环,它有大约 300 次迭代,它可能很小,但我在调试这个循环时遇到了问题,让我们看看下面的代码(例如 并且它不属于代码的确切内容)。

const myVar = [
  { name: 'basil', age: 25 },
  { name: 'basil', age: 25 },
  { name: 'basil', age: 25 },
  { name: 'basil', age: undefined },// line number four
  { name: 'basil', age: 25 }
]
for (i = 0; i < myVar.length; i++) {
console.log(myVar[i].name + ' ' + myVar[i].age) // line code
}

现在你在上面看到有 5 个对象,实际上我有 300 个带有非虚拟代码的对象,for 循环有很多代码行。但这已经足够了, 如果我在//line code 启用断点,我将需要继续 300 次迭代,直到我到达像//line number four 这样的对象,因为您看到年龄未定义,所以该对象有问题我需要跟踪行为仅当此值未定义时,所以我只需要在未定义的情况下启用断点。 我能够创建一个解决方法,例如检查未定义然后启用调试,但我需要调试配置中的一些东西。 我查看了this 页面,但对我没有帮助

【问题讨论】:

  • 不清楚 - 您不想设置条件断点(右键单击 for 循环中的断点,选择“表达式”并尝试类似 myVar[i].age == undefined which只有当这是真的时才会中断),但你想要别的东西 - 在调试配置中?条件断点有什么问题?
  • @Mark 您可以将其发布为答案吗?它的作用就像魅力

标签: node.js debugging visual-studio-code


【解决方案1】:

您可以在 for 循环中设置条件断点:

  1. 右键单击要设置断点的行的常用装订线区域。
  2. 选择“添加条件断点...”
  3. 确保在小下拉框中选择了“表达式”(默认值)。
  4. 在文本输入行中输入myVar[i].age == undefined,点击回车并运行调试会话。

如果你经常这样做,有一个未绑定的命令editor.debug.action.conditionalBreakpoint 可以设置为键绑定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    相关资源
    最近更新 更多