为啥 node-debug 总是在 _tickCallback 函数处中断?
Posted
技术标签:
【中文标题】为啥 node-debug 总是在 _tickCallback 函数处中断?【英文标题】:Why does node-debug always break at _tickCallback function?为什么 node-debug 总是在 _tickCallback 函数处中断? 【发布时间】:2015-05-18 10:32:24 【问题描述】:这是一个愚蠢的问题,但是,我无法真正弄清楚 2 个小时,也无法在谷歌上找到任何答案。
我正在尝试调试我的controller
,方法是在save
函数的var profile = req.body
行上放置一个断点:
function save(collectionName)
return function (req, res, next)
var profile = req.body,
query = ;
...
...
;
但是,应用程序总是会在 node.js
文件中的 _tickCallback 函数内部中断:
// Run callbacks that have no domain.
// Using domains will cause this to be overridden.
function _tickCallback()
var callback, threw, tock;
scheduleMicrotasks();
while (tickInfo[kIndex] < tickInfo[kLength])
tock = nextTickQueue[tickInfo[kIndex]++];
callback = tock.callback;
threw = true;
try
callback();
threw = false;
finally
if (threw)
tickDone();
if (1e4 < tickInfo[kIndex])
tickDone();
tickDone();
所以,我尝试跳过,直到它退出该功能,但是,它也恢复了应用程序而没有回到我的断点。任何帮助将非常感激。
【问题讨论】:
很遗憾,我仍然找不到解决方案。不知道是不是node版本的问题,我用的是0.12.2
。
我正在使用0.12.4
,它仍在发生。它只是有时会发生,但取决于调试器语句的位置。
【参考方案1】:
我认为这种情况会发生,然后您将 node-debug
命令与节点 0.12.* 一起使用。
这是一个 nodejs 错误https://github.com/joyent/node/issues/25266
作为一种解决方法,您可以使用debugger
语句(使用 NI >=0.10.1。我推荐使用 NI 0.11.0),或使用 iojs
【讨论】:
以上是关于为啥 node-debug 总是在 _tickCallback 函数处中断?的主要内容,如果未能解决你的问题,请参考以下文章
node-debug 三法三例之node debugger + node inspector