jni调试之GCJ
- - CSDN博客互联网推荐文章这几天用JNI写了一个Demo, 然后就想着我应该怎么调试JNI的程序呢. 以前做过android的开发,知道在android上可以用ndk-build + ndk-gdb调试c,c++的code. 那么在Linux上,在没有图形界面的环境下,怎么调试JNI的程序呢. Google了很长时间,尝试了各种方法,得到如下的方案:.
这几天用JNI写了一个Demo, 然后就想着我应该怎么调试JNI的程序呢?以前做过android的开发,知道在android上可以用ndk-build + ndk-gdb调试c,c++的code. 那么在Linux上,在没有图形界面的环境下,怎么调试JNI的程序呢?
Google了很长时间,尝试了各种方法,得到如下的方案:
1 使用GCJ将Java编译成class 文件
gcj -C *.java
mv *.class bin/packagename or target/classes/packagename
2 cd bin or target/classes
gcj -fjni -L../lib -llibname1 -llibname2 -Wl,-R../lib -o sample packagename/*.class --main=com.MainApp
这样就生成了可执行文件sample, 注意这里的选项-fjni 和 -Wl,-R
3 接下来,就可以用GDB调试应用程序了