4

我已经使用标准 apt-get 在 Ubuntu 64 位服务器上安装了 Node.js,并希望通过“--prof”标志来分析脚本。网络搜索显示应该有一个工具来处理位于“deps/v8/tools/linux-tick-processor”中的 v8.log 输出,但我似乎没有任何这些目录。它们是否带有本机安装?它们应该单独安装吗?如果是这样怎么办?谢谢

4

3 回答 3

4

你需要下载源包sudo apt-get source nodejs。你提到的路径在那里。

您需要先scons prof=on d8在 deps/v8 中构建调试器,这在 64 位机器上可能会遇到一些问题(v8 仅限 32 位),请参阅此处了解更多信息。

于 2012-05-31T14:08:39.390 回答
2

下面是我为 Node.js 0.10.25 和 0.10.26 做的事情:

  1. 我下载了与我正在使用的二进制文件相对应的 Node.js 源代码。(我正在进行 Debian 测试,这比 Node.js 网站上的版本有点落后。)

  2. 我检查了节点源中捆绑的 v8 版本。(看deps/v8/ChangeLog。Node.js 0.10.25 和 0.10.26 是 3.14.5。)

  3. 我从v8 站点下载了这个版本的v8

    为什么?我尝试make native在 Node.jsdeps/v8目录中运行,但Makefile抱怨缺少测试目录。由此我们可以推断出 Node 开发人员并未包括整个 v8 发行版。曾几何时,我使用 Node 的早期版本(0.8.something)构建了 v8,deps/v8但这次我决定使用不同的方法。

  4. 正如 v8's中所解释的build/README.txt,在 v8 的源代码树的顶层,我做了:

    $ svn co http://gyp.googlecode.com/svn/trunk build/gyp
    

    gyp(按照 OrangeDog 的回答中的建议将我安装的链接build/gyp不起作用。这就是我执行上述操作的原因。)

  5. 我跑了:

    $ CXX=g++-4.7 make native
    

    为什么CXX设置?当我尝试使用默认的 gcc 时,我立即遇到了编译问题。我检查了版本。那是 4.8,我记得 Slashdot 上的一个故事,关于 4.8 如何给人们带来麻烦。所以我安装了4.7。工作得很好。

  6. 我链接out/native/d8到我的PATH. 这是因为linux-tick-processor脚本在查找d8. 最简单的解决方案是让它在我的PATH. 你的旅费可能会改变。

毕竟,linux-tick-processor可以与v8.logNode 生成的文件一起使用。

于 2014-01-25T00:20:42.283 回答
0

要么安装源包 - sudo apt-get source nodejs,要么切换到官方源,因为 ubuntu 包已经过时了。

要构建 d8,请转到deps/v8目录。

  1. 在可以找到build/gyp的目录处创建符号链接(例如)。gyp/usr/bin
  2. 运行make native
  3. 复制/符号链接out/native/d8到 PATH 上的某个位置。
于 2013-10-15T14:13:56.000 回答