Анализ роста памяти из-за объектов C ++ в Java-процессе - PullRequest
2 голосов
/ 20 июня 2011

Мое java-приложение вызывает код C ++, используя вызовы JNI.Я хочу проверить программу на утечки памяти в коде C ++.Такие инструменты, как jconsole, предназначены только для анализа кучи объектов Java.Что я могу сделать?

Ответы [ 2 ]

1 голос
/ 21 июня 2011

Мой любимый собственный инструмент для обнаружения утечки кучи для Windows - umdh.exe . Однако это также отобразит текущий объем памяти кучи Java GC, в какой бы нативной форме не использовалась JVM.

Вы все еще должны быть в состоянии идентифицировать память, относящуюся к вашему коду C ++, так как она (при условии, что символы установлены правильно в соответствии с инструкциями UMDH) будет иметь стек вызовов, соответствующий коду C ++. Таким образом, наличие ядра Java-кода будет мутить воду, но не должно сделать невозможным отслеживание использования памяти C ++ / native.

0 голосов
/ 20 июня 2011

Вам нужен собственный инструмент отладки кучи. В зависимости от вашей платформы и от того, какой компилятор использовался для нативного компонента, доступно много.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...