2010-11-12 23 views
2

如何分析鏈接的端口驅動程序? OTP工具(fprof等)顯然只有配置文件Erlang代碼,並且我沒有可執行文件C來提供給gprof分析Erlang中的鏈接驅動程序

+1

讓它運行您的驅動程序,使其變平。然後使用** lsstack **或** pstack **拍一些stackshots(如10)。這應該以百分比的形式顯示如何花費時間。對於整體速度,您可以使用運行1000次的方法。 – 2010-11-12 17:40:44

回答

2

只要鏈接的端口驅動程序是.so庫,它是動態加載到erl進程(在Linux上),您可以運行valgrind --tool = callgrind --callgrind -out-file = file.out erl(請參閱callgrind文檔中的其他選項),然後從erl shell執行一些測試,從shell中退出並加載file.out中的某些工具,如KCachegrind

3

難道你不能只是配置文件erl可執行文件,然後到gprof工具?我很確定無論如何這都是Erlang開發人員完成的。

+0

如果可能的話,避免重建OTP會很好。當然,除'gprof'之外的其他配置文件可能不需要它... – 2010-11-12 17:53:42

+0

是的,這對於GDB也適用。 – 2010-11-15 15:39:41

相關問題