Проверьте, что ваш .so построен с отладочными символами. Если вы используете gcc или g ++, это делается с помощью опции -g. Затем вы можете присоединить gdb к процессу JVM по номеру процесса, потому что там будет выполняться .so. Вы можете сделать это, используя свой соответствующий эквивалент "PROCESS =` ps | grep java | cut -d '' -f1`; gdb -p $ PROCESS ". Добавьте исходный каталог для отладки, используя команду gdb "dir $ SOURCEDIR", подставив путь к исходному каталогу для $ SOURCEDIR. Наконец, установите точку останова на желаемой строке исходного кода для .so.
Я сослался на некоторую информацию из записи в блоге Linux - GDB для отладки JNI с Tomcat .