如何找到 'write after end' 的来源

How to find the source of 'write after end'

有时,我的(大型)应用程序会出现以下错误:

Error: write after end
at ServerResponse.OutgoingMessage.write(_http_outgoing.js:413:15)
at ServerResponse.res.write(/nodeapp/node_modules/express/node_modules/connect/lib/middleware/compress.js:110:17)
at ServerResponse.res.end(/nodeapp/node_modules/express/node_modules/connect/lib/middleware/compress.js:116:14)
at ServerResponse.res.send(/nodeapp/node_modules/express/lib/response.js:153:8)
at fn(/nodeapp/node_modules/express/lib/response.js:797:10)
at/nodeapp/node_modules/vash/build/vash.js:2082:4
at Object.vash.loadFile (/nodeapp/node_modules/vash/build/vash.js:2070:10)
at View.vash.renderFile [as engine] (/nodeapp/node_modules/vash/build/vash.js:2078:8)
at View.render (/nodeapp/node_modules/express/lib/view.js:76:8)
at Function.app.render (/nodeapp/node_modules/express/lib/application.js:504:10)

有没有办法找出错误发生在哪一行?通常该文件会在堆栈跟踪中提及,但在这种情况下不会。它甚至来自我的代码还是由 vash 或其他模块引起的?

我正在使用 vash v0.7.12-1。

我通过增加堆栈跟踪限制解决了这个问题:

Error.stackTraceLimit = 20;