资讯专栏INFORMATION COLUMN

非常方便的node内置的调试方法

RaoMeng / 1349人阅读

摘要:自从以来,已经直接支持类似的功能,只要对执行的代码加入一个参数,即可使用做代码调试。并且调入代码到调试器内,在执行命令的控制台上可以看到现在,可以使用点击调试器内的等按钮做调试了。

自从node6.3以来,node已经直接支持类似node-inpect的功能,只要对执行的js代码加入一个--inspect参数,即可使用chrome做代码调试。

本文使用如下工具:

node v9.5.0

chrome 64

首先准备待调试代码。如果这是为了学习的目的,可以使用我测试用代码为:

var objectRegExp = /^[object (S+)]$/;
function gettype(obj) {
  var type = typeof obj;
  if (type !== "object") {
    return type;
  }
  // inspect [[Class]] for objects
  return toString.call(obj)
    .replace(objectRegExp, "$1");
}
gettype({})
gettype(function(){})

然后运行此代码,加上参数--inspect-brk

node --inspect-brk a.js

系统提示:

Debugger listening on ws://127.0.0.1:9229/84960765-5abc-4236-a7c6-924f99c34ed7

打开浏览器,在地址栏内输入:

chrome://inspect/#devices

可以看到:

Remote Target
#LOCALHOST
Target (v9.5.0)
a.js
file:///Users/lcj/Documents/github/express/a.js
inspect

点击最后一行inspect,即可弹出一个新的窗口,此为调试器。并且调入代码到chrome调试器内,在执行命令的控制台上可以看到:

Debugger attached.

现在,可以使用点击调试器内的Run | Step | Step Into等按钮做调试了。

对于没有直接使用node执行的代码,比如测试用例mocha,怎么办?mocha也是支持这些选项的,比如express使用了mocha做单元测试,可以用如下命名来做调试:

mocha --require test/support/env --reporter spec --bail --check-leaks --no-exit test/app.router.js --inspect-brk -g "should decode correct params

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/107461.html

相关文章

  • 前端常用插件、工具类库汇总

    摘要:页面调试腾讯开发维护的代码调试发布,错误监控上报,用户问题定位。同样是由腾讯开发维护的代码调试工具,是针对移动端的调试工具。前端业务代码工具库。动画库动画库,也是目前通用的动画库。 本人微信公众号:前端修炼之路,欢迎关注 本篇文章整理自己使用过的和看到过的一些插件和工具,方便日后自己查找和使用。 另外,感谢白小明,文中很多的工具来源于此。 弹出框 layer:http://layer....

    GitCafe 评论0 收藏0
  • 前端周刊第55期:10X 程序员?

    摘要:本文作者王仕军,商业转载请联系作者获得授权,非商业转载请注明出处。想知道我接下来会写些什么欢迎订阅我的掘金专栏或知乎专栏前端周刊让你在前端领域跟上时代的脚步。 showImg(https://segmentfault.com/img/remote/1460000009407536?w=592&h=314); 共 2127 字,读完需 4 分钟。我本周读到 1 篇比较有趣的文章叫做《Th...

    KaltZK 评论0 收藏0
  • Top 10 JavaScript编辑器,你在用哪个?

    摘要:在这个编辑器中,和是其中排名靠前的两个。是一个免费的轻量级编辑器和,用于和开发。对于免费的代码编辑器来说,是一个很好的选择。可以安装两个命令行实用程序,用于从启动编辑器,用于管理的软件包。 对于JavaScript程序员来说,目前有很多很棒的工具可供选择。本文将会讨论10个优秀的支持javascript,HTML5和CSS开发,并且可以使用Markdown进行文档编写的文本编辑器。为什...

    zombieda 评论0 收藏0
  • 深入理解JavaScript,这一篇就够了

    摘要:也就是说,所有的函数和构造函数都是由生成,包括本身。如果只考虑构造函数和及其关联的原型对象,在不解决悬念的情况下,图形是这样的可以看到,每一个构造函数和它关联的原型对象构成一个环,而且每一个构造函数的属性无所指。 前言  JavaScript 是我接触到的第二门编程语言,第一门是 C 语言。然后才是 C++、Java 还有其它一些什么。所以我对 JavaScript 是非常有感情的,毕...

    villainhr 评论0 收藏0
  • Node.js 指南(入门指南)

    摘要:调试指南本指南将帮助你入门调试应用程序和脚本。这样做可能会给你带来潜在的重大安全威胁,我们建议你确保适当的防火墙和访问控制措施,以防止安全风险。不再维护或记录调试协议。 入门指南 安装Node之后,让我们尝试构建我们的第一个Web服务器,创建名为app.js的文件,并粘贴以下代码: const http = require(http); const hostname = 127.0....

    ybak 评论0 收藏0

发表评论

0条评论

RaoMeng

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<