我的程序使用所有可用内存,所以我想检查哪些函数和摘要破坏了我的项目。我决定使用Memprof,所以我安装了他们的编译器并使用命令
编译了我的代码ocamlfind ocamlopt -package xml-light unix.cmxa str.cmxa -c -g NKJPxmlbasics.ml NKJP.mli NKJP.ml test.ml
然后按照教程
中的建议运行ocp-memprof --exec ./test
但是有错误而不是结果:
错误:未找到内存分析信息。可能的原因: - 应用程序未编译内存分析支持; - 在执行任何重大垃圾收集之前退出应用程序。
我甚至设法让它工作但我不知道它是如何发生的 http://memprof.typerex.org/users/97beffbaec332eb7b2a048b94f7a38cf/2015-12-15_17-33-50_ab17218e800fe0a68fc2cfa54c13bfa6_16194/index.html
在这种情况下,有没有办法正确使用此工具?我错过了什么?
答案 0 :(得分:1)
ocamlfind ... -c ...
不会生成任何可执行文件。因此,您运行的./test
可能是由上一个命令生成的,可能没有memprof开关。