Tag: jvm hotspot

在cygwin上编译hsdis(Java HotSpot反汇编程序插件)时,错误的reloc地址0x0

我正在尝试编译JVM需要反汇编JIT编译代码的hsdis-amd64.dll库。 我按照这个接受的答案。 我安装了cygwin 下载了openjdk-7u40-fcs-src-b43-26_aug_2013.zip 并下载了binutils-2.24.tar.gz 我创建了一个这样的文件夹结构: + +- hsdis // unzipped dir hotspot/src/share/tools/hsdis of openjdk zip +- binutils-2.24 // unzipped binutils-2.24.tar.gz 首先,我尝试使用以下方法编译它: $ make OS=Linux MINGW=x86_64-w64-mingw32 BINUTILS=../binutils-2.24 但它失败了 /Linux-amd64/opcodes/libopcodes.a build/Linux-amd64/libiberty/libiberty.a hsdis.c:32:20: fatal error: sysdep.h: No such file or directory #include ^ compilation terminated. 所以我应用了此接受答案中提供的补丁并再次尝试。 编译再次失败 In file included from hsdis.c:34:0: build/Linux-amd64/bfd/bfd.h:35:2: error: #error config.h must […]

使用gdb调试JDK9 Hotspot,导致eclipse / Ubuntu终端出现SIGSEGV Segmentation故障

我正在尝试调试JDK9。 我想跟踪源代码并查看JDK / Hotspot代码的控制流。 我使用gdb和Eclipse但是有一个问题SIGSEGV Segmentation fault 。 我从JDK官方文档中按照Buildme.md配置JDK9, bash ./configure –with-debug-level=slowdebug –with-target-bits=64 –disable-warnings-as-errors 然后, make all 我得到了自定义的调试版本: /images/jdk/bin/java -version openjdk version “9-internal” OpenJDK Runtime Environment (build 9-internal+0-adhoc.xfwu.9dev) OpenJDK 64-Bit Server VM (build 9-internal+0-adhoc.xfwu.9dev, mixed mode) 以下代码段显示我使用HelloWorld.java来调试代码。 我start了gdb。 乍一看似乎很好。 但是,当该程序开始运行thread 2 ,会引发SIGSEGV Segmentation fault问题。 我不知道为什么以及如何解决它。 同样,我使用Eclipse进行调试,实际上,它与gdb没什么不同。 从根本上说,他们都使用gdb。 然后我得到了同样的问题。 终端调试 错误部分: Thread 2 “java” received signal […]