如何在linux上使用GDB调试Java -JNI?

Twa*_*ood 16 java linux java-native-interface gdb shared-libraries

任何人都可以指导如何使用GDB调试器在Linux上调试JNI代码(如果可能请建议其他选项).

    -My JNI project when running on Linux is leading to a JVM crash.
    -The CPP code has been compiled into .so files.
    -I run the project like  this : *java xyz.jar -commandline_args_to_project*.
Run Code Online (Sandbox Code Playgroud)

我安装了Gdb,但我没有得到如何使用它来调试项目.我是否还需要使用-g选项t debug .so文件编译.cpp文件?

jac*_*bit 13

  1. 启动你的java应用程序
  2. 使用top,ps查找pid,...
  3. 用这个pid启动gdb
  4. 附上您的程序代码
  5. 像往常一样使用gdb进行调试

此博客帖子解释了整个事情.

  • :我在[link](http://www2.sys-con.com/itsg/virtualcd/java/archives/0801/austin/index.html)找到了另一种方式.通过这种方式,我能够从GDB内部调试启动我的项目,因此它不需要切换不同的shell. (4认同)