java - 分析和检查由 Java 加载的 DLL 中的内存分配

标签 java c++ c dll java-native-interface

这是一个简短的背景。我有一个需要加载大约 6 个 dll 的 Java 应用程序。购买了 5 个 dll,另一个是我创建的。我的 dll 依赖于其他 5 个。与我的 dll 的所有交互都是通过 jni 进行的。

我的 dll 显然正在泄漏内存。我很难找到它的位置/原因。是否有任何工具可以让我分析/检查我的 dll?我在分析和检查内存分配时遇到问题,因为它是由 java 加载的,因此大多数分析倾向于分析 java.exe 而不仅仅是我的 dll。

关于我如何完成这个有什么建议吗?

谢谢

最佳答案

您是否构建了自定义 DLL,以便可以在其上放置 Java?也就是说,你的 DLL 有自己的导出接口(interface),成为一个独立测试的东西。如果你有,那么你可以在没有 java 的情况下使用 C++ 客户端和你最喜欢的分析器/内存工具。

(至少,这是我多年前在编写用于 Java - YMMV 的 DLL 时所做的)。

关于java - 分析和检查由 Java 加载的 DLL 中的内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4433424/

相关文章:

python - 从头开始编码以太网桥

java - 获取 JavaFX 中节点的真实位置

java - Hibernate 错误 : org. hibernate.NonUniqueObjectException:具有相同标识符值的不同对象已与 session 相关联

c - 如何在 C 中设置变量类型 char 数组的格式说明符的宽度?

c++ - std::make_shared 三元返回不编译

c++ - 设置 OpenGL 4 构建/单元测试服务器?

c - 在 C 中将文件中的字符串和整数扫描到数组中

java - cometd jar 和 jetty jar 之间有兼容性表吗?

java - 如何根据实数的小数部分递增计数器

c++ - 无法编译 rocksdb,找不到依赖项