Tag: 堆栈跟踪

如何在node.js中debugging`RangeError:最大调用堆栈大小超出`错误

我的同事和我写了一个node.js应用程序。 我本周被指派去debugging一个问题。 问题是应用程序每隔几天就会崩溃,出现这个错误: events.js:0 (function (exports, require, module, __filename, __dirname) { // Copyright Joy ^ RangeError: Maximum call stack size exceeded 不幸的是,它不打印任何东西。 我可以使用node.js的哪些node.js方法和工具来debugging这个问题? 我们的应用程序非常庞大(它为整个校园文件查找程序提供支持),所以我们不知道这个错误发生在哪里(源代码有很多文件)。

在新的Node.js错误对象的性能命中

在用于检索堆栈跟踪(例如用于logging引擎或内联debugging)的目的中,需要新增一个Error对象的用例。 在第一次创buildError对象时,现代node.js中有没有一个很重的性能问题,或者当开发人员调用<Error> .stack属性时,聪明的V8开发人员就会根据需求展开堆栈。 从我对这些工具的探究中,我认为堆栈跟踪展开不会被执行,直到访问<Error> .stack,这似乎是一个常识性的devise方法。 任何人都可以阐明这一点或build议的方法来validation短的debugging本机V8代码?

没有堆栈跟踪茉莉节点错误

我正在使用node.js和jasmine-node npm模块来运行testing。 除非代码产生错误,否则这完美地工作。 我没有堆栈跟踪。 例如,我的一个testing只输出这个: Error: TypeError: Cannot read property 'length' of undefined 没有堆栈跟踪。 这使得我发现这些错误非常耗时,我正在寻找茉莉花节点的替代品。 如何让茉莉花节点输出带有错误的完整堆栈跟踪? –verbose命令行标志不会这样做。

调用node.js中的callback函数

我习惯于在Java中思考,我试图让我的头绕过node.js。 当程序出错时,我的程序需要logging信息,而且我发现我不得不在node.js程序中join很多样板代码,以便在Java中免费获得。 我的问题归结为: 有没有一种更简单/非模板化的方式来获取一系列callback中的类似堆栈的信息? 和/或 我是否无法正确掌握node.js,并试图强制asynchronousnode.js更像是同步Java? Java示例 这是一个尝试(并失败)连接到Mongo数据库的noddy Java程序:import java.net.UnknownHostException; import com.mongodb.Mongo; public class Test { public static void main(final String[] args) throws UnknownHostException { final Mongo mongo = a(); } private static Mongo a() throws UnknownHostException { return b(); } private static Mongo b() throws UnknownHostException { return c(); } private static Mongo c() […]

node.js和Segmentation错误

是否有可能在node.js进入分段错误时检查javascript堆栈跟踪? 目前的情况如下:我正在运行一个脚本,它有几个嵌套的async.eachSeries ,这导致了一个奇怪的原因RangeError: Maximum call stack size exceeded 。 因此,我已经增加了堆栈大小通过node –stack-size=1000000堆栈大小node –stack-size=1000000 ,我留下了分段错误。 以下是脚本的源代码: http : //nopaste.info/ca0c118591.html 更新 我也试过segfault-handler ,但由于一些不可思议的原因,它不捕捉我的段错误。

如何在JavaScript错误中指定“由…引起”?

在我的NodeJS程序中,我parsing了一些用户的JSON文件。 所以我使用: this.config = JSON.parse(fs.readFileSync(path)); 问题是如果json文件格式不正确,抛出的错误是: undefined:55 }, ^ SyntaxError: Unexpected token } at Object.parse (native) at new MyApp (/path/to/docker/lib/node_modules/myApp/lib/my-app.js:30:28) … 因为它不是真正用户友好的,我想抛出一个Error指定一些用户友好的消息(如“你的configuration文件格式不正确”),但我想保留堆栈跟踪,以指向有问题的一行。 在Java世界中,我使用throw new Exception("My user friendly message", catchedException) ,以便有原来的exception,造成这一个。 JS世界怎么可能?

JavaScript:抛出错误时减less堆栈跟踪(指向调用站点)

我有这样的function: function foo() { throw new Error('`foo` has been removed in favor of `bar`') } 当某人调用foo ,我希望堆栈跟踪(错误输出)指向foo的调用位置,而不是foo的throw行。 例如,我得到这个: $ node test.js /home/ubuntu/tmp/test.js:2 throw new Error('`foo` has been removed in favor of `bar`') ^ Error: `foo` has been removed in favor of `bar` at foo (/home/ubuntu/tmp/test.js:2:9) at Object.<anonymous> (/home/ubuntu/tmp/test.js:5:1) … 我怎样才能得到这个呢? $ node test.js /home/ubuntu/tmp/test.js:5 foo() […]

Node.JS:看看为什么进程仍在运行的工具?

有没有办法看到什么超时,间隔或asynchronous操作(或无限循环)仍在运行,并阻止我的过程结束? 到目前为止,我已经能够find这个工具,但是这样的工具非常方便,特别是Node.JS项目开始变得更大。 我正在考虑Java的kill -3打印堆栈跟踪到stderr。 您可以为任何进程,任何时间,debugging或否。 我想要一个等效的Node.JS. (我知道节点是单线程asynchronous,所以它会输出不同)

如何在node.js中logging堆栈跟踪

寻找一个处理堆栈跟踪的node.js包,类似于RoR中的这种做法: Rails:loggingexception的整个堆栈跟踪

如何在node.js中输出深度堆栈跟踪?

当发生正常exception时,输出如下的堆栈跟踪: util.js:38 case '%s': return String(args[i++]); ^ TypeError: Cannot convert object to primitive value at String (unknown source) at util.js:38:25 at String.replace (native) at Object.<anonymous> (util.js:35:23) at Object.<anonymous> (console.js:25:36) at EventEmitter.<anonymous> (/project/src/routines/debug/boot.js:16:21) at EventEmitter.emit (/project/node_modules/eventemitter2/lib/eventemitter2.js:319:22) at /project/src/bootstrap.js:15:14 at /project/src/util/routineloader.js:36:11 at /project/src/util/routineloader.js:47:6 这是非常有帮助的。 当我然后在以下地方做: process.on('uncaughtException', function(err) { console.trace(); throw err; }); 我只得到: Trace: at EventEmitter.<anonymous> (/project/src/routines/debug/exceptions.js:4:17) […]