Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Memprof-TypeRex实用程序进行OCaml内存评测_Ocaml_Typerex_Memprof - Fatal编程技术网

使用Memprof-TypeRex实用程序进行OCaml内存评测

使用Memprof-TypeRex实用程序进行OCaml内存评测,ocaml,typerex,memprof,Ocaml,Typerex,Memprof,我的程序使用了所有可用内存,所以我想检查哪些函数和摘要破坏了我的项目。我决定使用Memprof,所以我安装了他们的编译器,并用命令编译了我的代码 ocamlfind ocamlopt -package xml-light unix.cmxa str.cmxa -c -g NKJPxmlbasics.ml NKJP.mli NKJP.ml test.ml 然后按照教程中的建议运行 ocp-memprof --exec ./test 但这不是结果,而是错误: 错误:找不到内存分析信息。可能的原

我的程序使用了所有可用内存,所以我想检查哪些函数和摘要破坏了我的项目。我决定使用Memprof,所以我安装了他们的编译器,并用命令编译了我的代码

ocamlfind ocamlopt -package xml-light unix.cmxa str.cmxa -c -g  NKJPxmlbasics.ml NKJP.mli NKJP.ml test.ml
然后按照教程中的建议运行

ocp-memprof --exec ./test
但这不是结果,而是错误:

错误:找不到内存分析信息。可能的原因: -未使用内存分析支持编译应用程序; -应用程序在执行任何主要垃圾回收之前退出

我甚至试过一次,但我不知道这是怎么发生的


在这种情况下,有没有办法正确使用此工具?我遗漏了什么?

ocamlfind-c…
不生成任何可执行文件。因此,您正在运行的
/test
可能是由以前的命令生成的,可能没有memprof开关。

哪个ocamlopt返回什么?是否确定可执行文件的名称为
test
?你的应用程序运行了(很长)一段时间,然后因“内存不足”而崩溃?我的应用程序没有崩溃,但在我最终配置内存之前,它占用了大约3 GB的空间。我发现在一个递归函数中,我拼错了变量,这导致了内存泄漏。