2013-04-04 2 views
1

Я попытался создать дамп памяти, используя с ниже кодомJava проблема дампа памяти

**/usr/lib/jvm/j2sdk1.5-sun/bin/jmap -heap 10699** 

, но я получил нижеуказанную ошибку, кто может помочь мне

Установки для обработки ID 10699, пожалуйста, подождите ... ошибки подключения к процессу: sun.jvm.hotspot.debugger.DebuggerException: не удается подключить к процессу

Я использую Java 5

+0

Какая ОС вы используете? – KevinDTimm

ответ

3

Чтобы быть активным, предположим, что вы используете ubuntu. В этом случае, введите следующую команду:

echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope 

Если вы не работаете в Ubuntu, я рекомендую запускать jmap как тот же пользователь, как побежал ваш целевой процесс

+0

Возможно, стоит ссылку на [ошибка JDK-7050524] (http://bugs.java.com/bugdatabase/view_bug.do?bug_id=7050524), которая документирует это. –

0

(Предполагая, что вы находитесь на ubuntu)

Быстрое решение: echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope.

Если вы хотите, чтобы это выдержало перезагрузку, и вы не хотите нарушать защиту, которую предоставляет ограниченный ptrace_scope, я рекомендую использовать setcap cap_sys_ptrace=eip для двоичных файлов, требующих ptrace. Для разработчика Java вы можете запустить эту команду (с правами root)

find /usr/lib/jvm -type f -perm -o+x -exec setcap cap_sys_ptrace=eip {} \; 
Смежные вопросы