开发/编译环境的选择
JNI代码调试
1.开发/编译环境的选择
JNI技术在Java开发和Android开发中都有涉及,但是Android中的Java是google根据Android自身特性进行改造的,JNI编译环境与标准Java有所不同,Android中使用NDK进行JNI编译,而本文只介绍标准Java的JNI编译环境搭建与调试。
JNI实际上是一段遵循Java本地调用接口的C或C++程序,所以JNI的编译也是用C/C++编译器。最终Java调用C/C++实际上是Java调用动态库实现的,windows下是dll,linux是so。
如果在Linux下,我们可以使用gcc完成JNI的编译。
如果在windows下,我们可以有以下几种选择:
eclipse开发Java + VS 开发JNI(VS是windows下开发C/C++最好用的IDE)
eclipse安装CDT同时开发Java和C/C++(安装CDT的eclipse开发C/C++比较鸡肋)
2.JNI代码调试
在此只介绍在eclipse开发Java+VS开发JNI的环境下调试JNI代码
本文假设你已经有一个使用了JNI的Java工程,并且导入了eclipse且JNI代码也已经导入VS
1)在Java工程中将即将调用JNI的代码进行断点,以调试模式启动Java工程
2)在cmd中使用jps命令查看该Java工程进程的ID
3)在VS中对需要调试的JNI代码进行断点
4)在VS中打开菜单 调试->附加到进程 会打开附加窗口,根据进程ID找到Java进程,并点击附加
5)附加进程后,在eclipse中按F8继续运行,当程序执行到对应的JNI代码VS将会断点,你就可以在VS中继续调试JNI代码
加我QQ:981656164,共同学习交流,记得备注 —— OSC! ~~