如何在运行GeddyJS时为node.js启用--debug

时间:2012-02-26 01:36:31

标签: node.js

GeddyJS是通过从项目的根目录运行geddy来启动的。

我在启用调试的情况下让GeddyJS在node.js下运行时遇到了一些麻烦。

getty installs / usr / local / bin / geddy:

#!/usr/bin/env node
...

我快速复制了一份,并修改了shebang系列:

#!/usr/bin/env node --debug
...

但这不起作用,因为env找不到'node --debug'。

然后我尝试编写一个包装脚本作为shebang行中的解释器:

#!/bin/sh
exec /usr/bin/env node --debug $@

这一次,节点在启用调试器的情况下启动,但路径必须搞砸,或者环境必须不同,因为我正在丢失模块异常:

$ geddy-debug
debugger listening on port 5858

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Cannot find module '../lib/geddy'
    at Function._resolveFilename (module.js:332:11)
    at Function._load (module.js:279:25)
    at Module.require (module.js:354:17)
    at require (module.js:370:17)
    at Object. (/usr/local/bin/geddy-debug:4:1)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Array.0 (module.js:479:10)

如果我不尝试启用调试,这当然可以正常工作。

我希望按照https://github.com/joyent/node/wiki/Using-Eclipse-as-Node-Applications-Debugger调试eclipse,这只适用于node --debug scriptname.js

任何建议都表示赞赏。

2 个答案:

答案 0 :(得分:3)

回答我自己的问题,如果碰巧看到这个问题,其他人就可以受益:

从项目目录中,覆盖shebang行并直接调用解释器来运行geddy脚本:

/usr/bin/env node --debug /usr/local/bin/geddy

答案 1 :(得分:0)

有一个Debugging Geddy WikiPage有更多信息。