По ссылке я успешно смогу подключить HSDB к запуску jvm-процесса на Ubuntu, выполнив следующие шаги:
set SA_JAVA=/usr/lib/jvm/java-8-oracle/bin/java
echo 0 | sudo tee/proc/sys/kernel/yama/ptrace_scope
echo 0 | sudo tee/proc/sys/kernel/yama/ptrace_scope
java -Dsun.jvm.hotspot.debugger.useProcDebugger=true -classpath/usr/lib/jvm/java-8-orcale/lib/sa-jdi.jar sun.jvm.hotspot.HSDB
Для Windows 7 32 бит и из той же ссылки я попытался подключить sun.jvm.hotspot.HSDB с запуском jvm-процесса, но у меня возникли следующие проблемы:
set PATH=C:\Program Files\Java\jdk1.8.0_40\bin;d:\windbg;%PATH%
. Но в приведенной выше команде я не могу найти d:\windbg
. Для этой зависимости я много Google, а также установлен Microsoft Windows Debugger, но после установки у нее есть другая иерархия папок (c:\WinDDK\7600.16385.1
)."windbg"
и выполнил следующую команду.
Что дает следующий экран. На приведенном выше экране я ввел process id
jvm, который я собрал из диспетчера задач Windows, и нажал кнопку OK. Появится следующий экран и вызвал исключение. Я знаю, что ссылка, которую я следил, очень старая. Как я могу запустить sun.jvm.hotspot.HSDB
на окнах. Или есть другой инструмент, за которым я должен следовать? Проблема в том, что вы используете java.exe
из своего jre instand вашего jdk, чтобы запустить hdsb. Вот почему он ищет sawindbg.dll
в jre\bin
(где он не найден) вместо вашего jdk\bin
(где dll есть). Вы можете видеть это в сообщении об ошибке LinkError.
Поэтому используйте:
C:\Program Files\Java\jdk1.8.0_40\bin\java.exe -cp C:\Program Files\Java\jdk1.8.0_40\lib\sa-jdi.jar sun.jvm.hotspot.HSDB
Или лучше изменить свой путь, чтобы всегда использовать java.exe
в вашем jdk. Другие инструменты также имеют проблемы с jre one.