分析由java进程中的C ++对象引起的内存增长

时间:2011-06-20 12:34:00

标签: c++ heap

我的java应用程序使用JNI调用调用C ++代码。我想检查程序中的C ++代码中的内存泄漏。像jconsole这样的工具仅用于分析java对象堆。我该怎么办?

2 个答案:

答案 0 :(得分:1)

我最喜欢的Windows原生堆泄漏检测工具是umdh.exe。但是,这也将以JVM使用的任何本机形式显示当前Java GC堆内存占用量。

您仍然应该能够识别可归因于C ++代码的内存,因为它将(根据UMDH指令正确设置符号)具有与C ++代码匹配的callstack。因此,拥有Java代码的内容将使水域变得混乱,但不应该无法跟踪C ++ /本机内存使用情况。

答案 1 :(得分:0)

您需要一个本机堆调试工具。有许多可用的,具体取决于您的平台以及用于本机组件的编译器。