我有一个在启用了--debug的Mono JIT compiler version 3.2.8 (Debian 3.2.8+dfsg-4ubuntu1.1)下运行的单声道应用程序。在静默一段时间后,我得到了静默的意外内存使用。
我知道有HeapShot,但它甚至在问题出现之前就产生了超过4 4GB的输出。此外,在加载转储时内存耗尽之前,UI工具不能加载超过17个包含的快照。
这就是为什么我正在寻找一种方法,当内存使用量变大时,为我的应用程序生成一个单独的堆转储。有什么办法吗?
另一种选择是获得更好的工具,以便从生成的巨大HeapShot转储中加载单个快照。
任何关于如何找到内存泄漏的提示也会很有帮助。
谢谢。
发布于 2021-09-17 12:35:15
在第一个终端中运行,在发送命令heapshot之前不会产生转储
mono --debug --profile=log:heapshot,heapshot=ondemand,time=fast,port=7103,output=%p.mlpd MyApp.exe获取heapshot ondemand在第二个终端上运行发送命令"heapshot“
echo -n "heapshot\n" | nc localhost 7103你需要从你的发行版安装netcat包
https://stackoverflow.com/questions/42230959
复制相似问题