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

Can anyone guide on how to debug a JNI code on Linux using GDB debugger(if possible please suggest other options).

    -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*.

I have the Gdb installed but am not getting how we can debug the project using it. Also do I necessarily need to compile the .cpp files with -g option t debug .so files?

解决方案

  1. Start your java application
  2. Look up the pid using top, ps, ...
  3. Start gdb with this pid
  4. Attach your program code
  5. Debug as usual using gdb

This blog post explains the whole thing.

相关文章