这是一个简短的背景。我有一个java应用程序,需要加载大约6个dll。购买了5个dll,另一个是我创建的。我的dll依赖于其他5.与我的dll的所有交互都是通过jni完成的。
我的dll显然是在泄漏记忆。我很难找到它的位置/原因。有什么工具可以让我描述/检查我的dll吗?我有问题分析和检查内存分配,因为它正在由java加载,因此大多数配置文件倾向于配置java.exe而不仅仅是我的dll。
关于如何实现这一目标的任何建议?
由于
答案 0 :(得分:1)
您是否构建了自定义DLL,以便可以在其上层叠java?也就是说,你的DLL有自己的导出接口,并成为一个独立测试的东西。如果你有,那么你可以使用C ++客户端和你最喜欢的探测器/内存工具而没有java。
(至少,这就是我多年前编写用于Java的DLL时所做的 - YMMV)。