首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在调试模式下,mocha在使用节点检查器时不会停止在规范文件中的调试器语句。

在调试模式下,mocha在使用节点检查器时不会停止在规范文件中的调试器语句。
EN

Stack Overflow用户
提问于 2013-06-06 16:35:34
回答 2查看 1.9K关注 0票数 3

当我使用--debug-brk运行mocha并使用节点检查器打开chrome工具时,调试器将跳过我在我的specfile中添加的任何调试器语句。

我可以让调试器语句在模块文件中工作,前提是按照这个诡计在mocha库底部放置一个断点。

还有其他人见过这个问题吗?

EN

回答 2

Stack Overflow用户

发布于 2013-06-26 19:08:35

似乎每个人都应该看到节点检查器版本0.2.0beta 4的相同问题。

问题在于如何管理断点:

  • 前端记住浏览器本地存储中的断点,并在加载相关文件后恢复它们。
  • 当您使用--debug-brk启动mocha并在第一行停止时,您的专业文件还没有加载,因此前端不会恢复您的断点。
  • 当您继续执行mocha时,前端不能足够快地在解析和运行short文件之间的短窗口中恢复断点。事实上,mocha可能会在V8调试器更改之前退出,以通知前端正在解析的新脚本!

解决此问题的另一个解决方法是将debugger;语句添加到要触发断点的specfile中。

编辑

注意,如果在it回调中设置断点(即规范实现),节点检查器中提到的github问题解决方案将有效,但它无助于在构建规范描述的代码中设置断点(即specfile中的顶级代码和所有describe回调)。

示例:

代码语言:javascript
运行
复制
var expect = require('chai').expect;
var calculator = require('./StringCalculator');

// CANNOT break on the line below
describe('add', function() {
  // CANNOT break on the line below
  it('returns 0 for empty string', function() {
    // CAN break on the line below
    expect(calculator.add('')).to.equal(0);
  });
});

EDIT2

这个问题在节点检查器的分叉:https://github.com/strongloop/node-inspector中得到了解决。在浏览器中加载节点检查器UI之后,您可以立即在您的文件中的任何位置设置断点。

票数 2
EN

Stack Overflow用户

发布于 2015-03-30 21:16:25

请看我对以下相关问题的回答:https://stackoverflow.com/a/29351654/3304034为您提供足够体面的工作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16967499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档