標準の apt-get を使用して Ubuntu 64 ビット サーバーに Node.js をインストールしましたが、「--prof」フラグを使用してスクリプトをプロファイリングしたいと考えています。Web 検索では、「deps/v8/tools/linux-tick-processor」にある v8.log 出力を処理するツールがあるはずですが、それらのディレクトリがないようです。それらはネイティブ インストールに付属していますか? それらは別々にインストールする必要がありますか?もしそうならどのように?ありがとうございました
3 に答える
でソースパッケージをダウンロードする必要がありsudo apt-get source nodejs
ます。あなたが言及したパスはそこにあります。
scons prof=on d8
最初に deps/v8 でデバッガーをビルドする必要がありますが、64 ビット マシンでは問題が発生する可能性があります (v8 は 32 ビットのみ)。詳細については、こちらを参照してください。
Node.js 0.10.25 および 0.10.26 で行った方法は次のとおりです。
使用しているバイナリに対応する Node.js のソースをダウンロードしました。(私は Debian テストを行っていますが、これは Node.js Web サイトからのリリースより少し遅れています。)
ノード ソースにバンドルされている v8 のバージョンを確認しました。( を見てください
deps/v8/ChangeLog
。Node.js 0.10.25 と 0.10.26 では 3.14.5 でした。)この正確なバージョンの v8 をv8 サイトからダウンロードしました。
なんで?
make native
Node.jsdeps/v8
ディレクトリで実行しようとしましたが、Makefile
テスト ディレクトリがないことを訴えていました。このことから、Node 開発者は v8 ディストリビューション全体を含めていないと推測できます。昔々、以前のバージョンの Node (0.8.something) で利用可能なものから v8 をビルドしましたdeps/v8
が、今回は別のアプローチを使用することにしました。v8 の で説明されているように、v8 の
build/README.txt
ソース ツリーの最上位レベルで、次のことを行いました。$ svn co http://gyp.googlecode.com/svn/trunk build/gyp
(OrangeDogの回答で提案されているように、インストールされ
gyp
たものをリンクしても機能build/gyp
しませんでした。そのため、上記を実行しました。)私は走った:
$ CXX=g++-4.7 make native
なんで
CXX
設定?デフォルトの gcc で試したところ、すぐにコンパイルの問題が発生しました。バージョンを確認しました。それは 4.8 で、Slashdot で 4.8 がどのように問題を引き起こしているかについての話を思い出しました。というわけで4.7をインストール。うまくいきました。out/native/d8
にある場所にリンクしましたPATH
。これは、linux-tick-processor
スクリプトが を見つけるのがうまくいかないためd8
です。最も簡単な解決策は、my で利用できるようにすることでしたPATH
。あなたのマイレージは異なる場合があります。
結局、Node.js が生成するファイルでlinux-tick-processor
使用できます。v8.log
ソース パッケージ - をインストールするか、ubuntu パッケージが非常に古いため、公式ソースsudo apt-get source nodejs
に切り替えます。
d8 をビルドするには、deps/v8
ディレクトリに移動します。
- が見つかる
build/gyp
ディレクトリへのシンボリックリンクを作成します(例: )。gyp
/usr/bin
- 実行します
make native
。 out/native/d8
PATH のどこかにコピー/シンボリック リンクを作成します。