2013-05-17 27 views
1

我正在尝试使用DTrace为我的project配置CPU使用率。我只是遵循script使用Dtrace进行性能分析的Node.js不显示功能名称

问题是它不显示函数名称。该stacks.out文件看起来像这样:

CPU  ID     FUNCTION:NAME 
    0 73700      :tick-60s 


      node`_ZN2v86Object3GetENS_6HandleINS_5ValueEEE+0x1 
      node`_ZN4node7TCPWrap12OnConnectionEP11uv_stream_si+0x14b 
      node`uv__server_io+0xbf 
      node`uv__io_poll+0x259 
      node`uv_run+0xda 
      node`_ZN4node5StartEiPPc+0x16d 
      node`main+0x1b 
      node`_start+0x83 
      1 

      node`_ZN4node6Buffer4FillERKN2v89ArgumentsE+0x22b 
      0x82474d1b 
      0x8241ee9c 
      0x8241e624 
      0x8241e30f 
      0x82426abd 
      0x82419e4e 
      0x82419948 
      0x82413fc3 
      0x8d20e501 
      0x82416f65 
      0x82413f98 
      0x8243e7d3 
      0x824186c0 
      0x8246e8cf 
      0x8d221899 
      0x8d21308a 
      node`_ZN2v88internalL6InvokeEbNS0_6HandleINS0_10JSFunctionEEENS1_INS0_6ObjectEEEiPS5_Pb+0x101 
      node`_ZN2v88internal9Execution4CallENS0_6HandleINS0_6ObjectEEES4_iPS4_Pbb+0xc9 
      node`_ZN2v88Function4CallENS_6HandleINS_6ObjectEEEiPNS1_INS_5ValueEEE+0x10b 
      node`_ZN4node12MakeCallbackEN2v86HandleINS0_6ObjectEEENS1_INS0_8FunctionEEEiPNS1_INS0_5ValueEEE+0x4c 
      node`_ZN4node12MakeCallbackEN2v86HandleINS0_6ObjectEEENS1_INS0_6StringEEEiPNS1_INS0_5ValueEEE+0x66 
      node`_ZN4node10StreamWrap12OnReadCommonEP11uv_stream_si8uv_buf_t14uv_handle_type+0x14f 
      node`_ZN4node10StreamWrap6OnReadEP11uv_stream_si8uv_buf_t+0x2e 
      node`uv__read+0x281 
      node`uv__stream_io+0x131 
      node`uv__io_poll+0x259 
      node`uv_run+0xda 
      node`_ZN4node5StartEiPPc+0x16d 
      node`main+0x1b 
      node`_start+0x83 
      1 

火焰图显示十六进制(即“0x82474d1b”。)作为函数的调用,而不是实际的函数名。

我使用的是OmniOS(基于Illumos的操作系统)流浪盒r151002,并且在OmniOS上构建了node.js 32位操作系统(https://gist.github.com/dalssoft/5595688)。

有什么想法?

回答

3

在编写关于将openindiana和node.js一起使用的博客文章时,我遇到了类似的问题。

http://blog.nearform.com/blog/node-openindiana.html

我发现与CPU拱是明确的是解决它的办法。

./configure --with-dtrace --dest-cpu=x64 

不要忘记还原C++符号太

c++filt <stacks.out> demangled.out 
+0

爽!会尝试它,然后我告诉你,如果它在OmniOS上工作:) –

+0

它的工作原理!韩国社交协会! –

+0

为了将来的参考,上述博客文章似乎已移到这里:http://www.nearform.com/nodecrunch/node-openindiana – d0gb3r7