我得到這個錯誤:如何從node.js網絡錯誤中獲取更大的堆棧跟蹤?
Error: accept EMFILE
at errnoException (net.js:769:11)
at TCP.onconnection (net.js:1017:24)
從Node.js的應用程序。我可以獲得我的代碼的行號,首先調用TCP.onconnection?
我得到這個錯誤:如何從node.js網絡錯誤中獲取更大的堆棧跟蹤?
Error: accept EMFILE
at errnoException (net.js:769:11)
at TCP.onconnection (net.js:1017:24)
從Node.js的應用程序。我可以獲得我的代碼的行號,首先調用TCP.onconnection?
不,你不能,因爲你的代碼沒有調用TCP.onconnection
。這是一個事件處理程序,所以一個事件觸發它。這是基於事件的編程很難調試的原因之一。
我想你會有一些運氣來看看那個錯誤的含義。一些搜索表明你正在創建一個文件描述符限制,這個限制可能會增加(但是這將取決於操作系統,所以我不能告訴你沒有更多的信息)。
當系統中打開的文件過多時,EMFILE發生。要增加此限制,請查看Linux Increase The Maximum Number Of Open Files/File Descriptors (FD)或修改代碼,使其在完成作業時關閉打開的連接。或者如果您需要打開太多文件,只需將此值增加到合理的大小即可。