2014-04-09 46 views
4

我試圖調試問題永遠/的NodeJS,我得到這個堆棧跟蹤在錯誤日誌:child_process.js在哪裏?

chdir(): Permission denied 

events.js:72 
    throw er; // Unhandled 'error' event 
     ^
Error: spawn EACCES 
    at errnoException (child_process.js:980:11) 
    at Process.ChildProcess._handle.onexit (child_process.js:771:34) 

這看起來對我來說,我應該能夠看到一個名爲「文件的980行child_process.js「來查看錯誤發生的位置。但是,即使使用「查找」,我也無法在系統上找到這樣的文件。我是不知何故錯過了它,還是躺在那裏?

回答

2

它是node.js源代碼的一部分。請參閱https://github.com/joyent/node/blob/master/lib/child_process.js。我相信你也可以直接通過使用節點內置的debugger或者諸如node-inspector等包的核心節點代碼。

+0

你是說child_process.js是節點二進制的源文件之一,並以某種方式編譯到它? –

+0

好吧,我似乎很驚訝,但是child_process.js片段上的grep找到了bin/node中的匹配項,所以看起來這些JS文件被嵌入(未編譯)到節點中。如果有人在意如何評論這件事,我會感興趣。 –

+0

我不知道它是如何捆綁在一起的,但是節點檢查器使得通過名稱打開節點源文件變得非常容易。見http://i.imgur.com/U2JJtBO.png – undefined