Tag: debugging

无法用节点检查器进行debugging – 出了什么问题?

我有一个JavaScript代码,检查点是否在一个多边形内。 我正在尝试使用节点检查器进行debugging,执行以下步骤: 在第一个窗口中: PS Z:\dev> node-inspector.cmd info – socket.io started visit http://0.0.0.0:8080/debug?port=5858 to start debugging 在第二个窗口中: PS Z:\dev\poc\SDR> node –debug-brk .\IsPointInside.js debugger listening on port 5858 现在我在我的Chrome浏览器中导航到http:// localhost:8080 / debug?port = 5858 。 发生什么事是Chrome卡住waiting for localhost给我空的屏幕。 我必须补充说,我已经成功地debugging了r.js JavaScript优化器之前使用相同的步骤,但现在我不能debugging它。

很难在Node-Inspector中设置断点

我已经安装了一个可以工作的Web应用程序,现在我想学习如何在不使用console.log的情况下正确debugging它。 我已经通过node-debug server.js(主脚本文件)设置并运行了Node-Inspector,我想要使用和检查在下面的post函数中为示例设置断点时会发生什么情况。 .post('/login', function (req, res){ var user = { username: req.body.username, password: hash(req.body.password) }; db.findOne(user, function (err, data) { if (data) { req.session.userId = data.id; res.redirect('/'); } else { res.redirect('/login'); } }); }) 节点检查器很好地工作,我很熟悉它的devise,因为使用Google Chrome开发人员工具进行基本的JavaScriptdebugging(jQuery等)一段时间。 一切都很好,直到我尝试login到应用程序。 而不是插入一个“var user”行的例子,它只是简单地跳到“timer.js”文件的某个setImmediate函数中。 即使当我试图跳过我从来没有达到那个突破点,我希望看到post函数包含req,resvariables等内容。 我正在使用NodeJS v0.12.2和节点检查器0.10.0。 我在项目中使用body-parser,bourne,express和express-session模块。 也许值得一提的是,我运行的应用程序在不同的端口比8080或5858,我也有指定的代码在另一个.js文件,如果这可能是某种情况下,因为我可以成功地断点前几个(要求)行主服务器js文件。 我不知道该怎么做,或者如何断言一个简单的if语句在哪里陈述。 它只是简单地去了一些timers.js和几步就完成了。 任何想法为什么发生这种情况? 提前致谢。

用于在非断点处停止节点的WebStormdebugging器

在WebStorm中,我有一个Node应用程序,我只需点击debugging,然后加载debugging器就停止在node_modules中一堆看似随机的行上。 我可以继续通过大约5个文件,直到我到达一个路由器/ index.js文件卡在一个单一的行无数继续。 我在node_modules文件中没有任何断点,显然,WebStorm不显示断点。 但是每次都会停下来。 我的解决scheme是静音所有断点,等待应用程序加载,然后取消静音。 但是,有时候,如果我想让checkbox检查并能够击中这些断点,我必须重新添加断点。 在这一点上我没有问题。 任何想法为什么它陷入了node_modules没有断点?

使用node-inspector或babel-node-debugdebugginges6传输的代码

当我debugging我的节点restAPI时,我尝试使用节点检查器 node-inspector node –debug server.js 这样我可以debugging我的API使用本地主机:3000 / api …如果我使用节点debugging,没有办法。 它不会启动3000端口。 不过我的代码是ES6,所以在我目前的debugging中,我的代码是由Babel转译的。 我试过使用babel-node-debug,但是看起来也是和node-debug一样的情况。 我可以看到ES6代码,但是我不能通过端口3000进行debugging。 任何解决方法?

在node.js应用程序中绘制内存使用情况的不同工具?

我正在开发一个项目,它有几个在node.js中运行的持久化进程。 当我添加到项目中时,我希望能够开始绘制每个进程的内存使用情况,作为我的debugging过程的一部分。 我知道这可能甚至不是一个node.js问题。 我对完成这种特定工作的各种工具的了解很less,我需要一些指导。 我的生产环境是Ubuntu 11.04服务器实例,我的开发机器运行Snow Leopard。 我应该看什么样的工具?

如何logging和跟踪NodeJS事件和事件处理程序的调用?

当事件处理程序获得注册时,有没有办法logging所有其他注册的事件处理程序? 还有什么办法可以logging所有发出的事件,以及在运行时发生事件时触发的处理函数的名字吗? 如果nodejs应用程序触发链式事件(一个事件触发另一个事件),并且每个事件都有多个处理程序,则当event-handler-chain的叶子发生exception时,stacktrace不会显示上下文的完整信息。 事件日志和处理程序信息在这种情况下非常有用。 一个hackey解决scheme是添加(条件)日志logging到https://github.com/joyent/node/blob/master/lib/events.js,但我相信肯定有一个更好的方法。

是否可以debugging当前正在运行的生产节点应用程序?

在本地我通过运行node –debug和使用node-inspector工具进行debugging。 节点检查器必须在后台运行,然后我指向我的浏览器(并非所有的浏览器都能正常工作; Chrome会这样),以便http://127.0.0.1:8080/debug?port=5858进行debugging。 问题是我无法在本地运行生产服务器(缺less不属于开发机器的私钥文件),因此即使我愿意在生产机器上进行攻击,也很难debugging某些生产问题。 这仍然可以与节点督察?

针对Visual Studio的Node.js工具始终停止exception

所以我一直在使用Visual Studio的Node.js工具( https://nodejstools.codeplex.com )。 我有这个反复出现的问题,它总是会在出现exception时开始debugging。 这可能听起来像是一件好事, 但是当exception应该被抓住的时候不是这样。 以此为例(这是来自bson模块) try { // Load the precompiled win32 binary if(process.platform == "win32" && process.arch == "x64") { bson = require('./win32/x64/bson'); } else if(process.platform == "win32" && process.arch == "ia32") { bson = require('./win32/ia32/bson'); } else { bson = require('../build/Release/bson'); } } catch(err) { console.error("Failed to load c++ bson […]

如何远程debuggingheroku上的node.js应用程序?

我目前正在构build一个node.js聊天机器人,然后在heroku上部署。 该应用程序使用webhooks必须在服务器可以到达的公共URL。 因此,在我的机器上本地运行服务器将不起作用。 有没有一种方法可以远程debugging我的应用程序? 有小费吗?

用WebStorm和Node JS打破exceptiondebugging

我正在使用Webstorm来debugging一个节点应用程序,并希望使用“Break on Exception”选项,以便在查找错误的确切来源之前,我不必连续按几次“step into”解决。 问题在于,当我将“Break on Exception”设置为“on”时,它在获取我的代码之前就会从节点内部捕获各种exception。 我能够使用“Run to Cursor”来跳过启动时发生的节点错误,但这并没有什么帮助,因为在执行过程中似乎有很多错误被抛出并被捕获到节点本身中。 我如何才能使用“突破例外”只用于我的代码直接抛出的exception?