在mac中调试Openjdk8热点时无法插入cpp文件

时间:2017-08-14 16:24:17

标签: c++ debugging gdb hotspot

我在mac中编译了OpenJDK8。但是当我使用gdb来调试一个简单的java类(只是系统输出)时,它总是显示没有源文件名init.cpp 的错误。 (在init.cpp:95行中添加了断点)。但是,它可以像main.c一样进入C文件。所以不确定我是否正确编译OpenJDK8或使用正确的版本依赖。 检查了LD_LIBRARY_PATH中存在的libjvm.dylib libjvm.dylib.dSYM。

[当我在Eclipse CDT中调试时,它有同样的问题]

使用ENV:

  mac sierra 10.12.6
  gdb 7.12.1

调试命令:

  export LD_LIBRARY_PATH=~/openjdk/build/macosx-x86_64-normal-server-fastdebug/hotspot/bsd_amd64_compiler2/fastdebug

  ggdb --args ~/openjdk/build/macosx-x86_64-normal-server-fastdebug/jdk/bin/java Test

Result1(cpp文件中的断点):

 (gdb) break init.cpp:95

 No source file named init.cpp.

 Make breakpoint pending on future shared library load? (y or [n]) y

 Breakpoint 1 (init.cpp:95) pending.

 (gdb) run

 Starting program: ~/openjdk/build/macosx-x86_64-normal-server-fastdebug/jdk/bin/java Test

 [New Thread 0x1403 of process 94443]

 warning: unhandled dyld version (15)

 hello,hotspot

 [Inferior 1 (process 94443) exited normally]

Result2(c文件中的断点):

 (gdb) break main.c:125

 Breakpoint 2 at 0x100007912: file ~/openjdk/jdk/src/share/bin/main.c, line 125.

 (gdb) run

 Starting program: ~/openjdk/build/macosx-x86_64-normal-server-fastdebug/jdk/bin/java Test

 [New Thread 0x1603 of process 94446]

 warning: unhandled dyld version (15)

 Thread 2 hit Breakpoint 2, main ()

 at 
 ~/openjdk/jdk/src/share/bin/main.c:125
 125        return JLI_Launch(margc, margv,

0 个答案:

没有答案