难以在 Node-Inspector 中设置断点
Hard to set up breakpoints in Node-Inspector
我已经设置了一个可用的 Web 应用程序,现在我想学习如何在不使用 console.log 的情况下正确调试它。我已经通过 node-debug server.js(主脚本文件)设置和 运行 Node-Inspector,我想使用并检查当我为以下 [=34] 中的示例设置断点时会发生什么=]函数。
.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');
}
});
})
节点检查器工作得很好,我熟悉它的设计,因为使用 Google Chrome 开发人员工具进行基本 JavaScript 调试(jQuery 等)时间。在我尝试登录应用程序之前,一切看起来都很好。它不是中断示例 "var user" 行,而是简单地以某种 setImmediate 函数跳入 "timer.js" 文件。即使当我尝试跳过时,我也永远不会到达我希望看到 post 函数在 req、res 变量等中包含什么的断点。
我正在使用 NodeJS v0.12.2 和 node-inspector 0.10.0。
我在项目中使用了 body-parser、bourne、express 和 express-session 模块。也许值得一提的是,我 运行 应用程序在与 8080 或 5858 不同的端口上,如果可能是这种情况,我还在另一个 .js 文件中有指定的代码,因为我可以成功断点前几个(需要) 主服务器 js 文件的行。
我不知道该做什么或如何在简单的 if 语句中设置断点。它只是简单地进行了一些 timers.js 并且完成了一些步骤。
知道为什么会这样吗?
提前致谢。
这是节点 0.12 的已知问题。* https://github.com/joyent/node/issues/25266
因此,作为解决方法,您可以使用 debugger
语句或切换到 iojs 进行调试。
我也推荐你使用NI 0.11.0。实现了网络调试
我已经设置了一个可用的 Web 应用程序,现在我想学习如何在不使用 console.log 的情况下正确调试它。我已经通过 node-debug server.js(主脚本文件)设置和 运行 Node-Inspector,我想使用并检查当我为以下 [=34] 中的示例设置断点时会发生什么=]函数。
.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');
}
});
})
节点检查器工作得很好,我熟悉它的设计,因为使用 Google Chrome 开发人员工具进行基本 JavaScript 调试(jQuery 等)时间。在我尝试登录应用程序之前,一切看起来都很好。它不是中断示例 "var user" 行,而是简单地以某种 setImmediate 函数跳入 "timer.js" 文件。即使当我尝试跳过时,我也永远不会到达我希望看到 post 函数在 req、res 变量等中包含什么的断点。
我正在使用 NodeJS v0.12.2 和 node-inspector 0.10.0。
我在项目中使用了 body-parser、bourne、express 和 express-session 模块。也许值得一提的是,我 运行 应用程序在与 8080 或 5858 不同的端口上,如果可能是这种情况,我还在另一个 .js 文件中有指定的代码,因为我可以成功断点前几个(需要) 主服务器 js 文件的行。
我不知道该做什么或如何在简单的 if 语句中设置断点。它只是简单地进行了一些 timers.js 并且完成了一些步骤。
知道为什么会这样吗?
提前致谢。
这是节点 0.12 的已知问题。* https://github.com/joyent/node/issues/25266
因此,作为解决方法,您可以使用 debugger
语句或切换到 iojs 进行调试。
我也推荐你使用NI 0.11.0。实现了网络调试