如何从运行app

时间:2015-11-11 03:56:50

标签: node.js

我不小心删除了nodejs应用程序的源代码,但是这个应用程序正在运行,那么如何才能从运行的应用程序中获取源代码?

我希望源代码已缓存在某个目录中。

2 个答案:

答案 0 :(得分:3)

我能够通过附加调试器来恢复整个文件。 首次使用

setBreakpoint('app.js', 10)

其中10行是您知道的代码行,将在运行过程中再次运行

然后我说pause,然后说next,直到它说它已暂停在要恢复的脚本上。

最后,说list(5000),其中5000是要列出的任意长行。

您现在将拥有完整的脚本,尽管前面有行号,但是您可以使用site like this删除它们。

希望这对以后遇到此独特问题的所有人有所帮助,因为这花了我几个小时才能弄清。

答案 1 :(得分:1)

有一种方法可以使用Nodejs调试器检索一些源代码。

假设Linux操作系统,您需要获取应用程序的进程ID:

 $ ps -e | grep node

接下来,您将在调试模式下输入您的应用程序:

$ kill -s USR1 PID

其中PID是节点应用的pid。

然后启动调试控制台:

$ node debug -p PID

如果您有应用控制台,则会看到:

Starting debugger agent.
Debugger listening on port 5858

在调试控制台中,您应该看到一个调试提示,您可以使用以下命令获取命令:

debug> help

我可以使用 list 命令显示一些正在运行的应用程序源:

debug> list(NUMBER_OF_LINE)

其中NUMBER_OF_LINE是您要显示的源代码行数。

我不确定这是否是一次尝试,因为我的源代码未被删除。
希望你能得到一些结果。