我的java应用程序使用JNI调用调用C ++代码。我想检查程序中的C ++代码中的内存泄漏。像jconsole这样的工具仅用于分析java对象堆。我该怎么办?
答案 0 :(得分:1)
我最喜欢的Windows原生堆泄漏检测工具是umdh.exe。但是,这也将以JVM使用的任何本机形式显示当前Java GC堆内存占用量。
您仍然应该能够识别可归因于C ++代码的内存,因为它将(根据UMDH指令正确设置符号)具有与C ++代码匹配的callstack。因此,拥有Java代码的内容将使水域变得混乱,但不应该无法跟踪C ++ /本机内存使用情况。
答案 1 :(得分:0)
您需要一个本机堆调试工具。有许多可用的,具体取决于您的平台以及用于本机组件的编译器。