美文网首页
IntellJ IDEA中JNI单步调试指南

IntellJ IDEA中JNI单步调试指南

作者: EchoZhou | 来源:发表于2016-10-26 00:12 被阅读0次

    介绍

    本文将分享一个在IntellJ IDEA下调试JNI的方法,不需要GDB之类的等命令行调试工具,即可直观地进行单步调试。有梯子的同学,请直奔操作视频YouTube。 

    本文源码:https://github.com/hnyoumfk/helloJni

    步骤

    0.下载安装JetBrain的C/C++开发工具CLion

    注意,在选择调试器时请选择LLDB而非GDB

    1.准备好调用JNI方法的Java工程和C/C++源码,分别用IntellJ 和CLion 打开

    生成的so(或者dll)动态库时要记得添加debug选项,CLion最好使用管理员权限打开

    2.用Debug方式运行Java代码,并准备好断点后开始Debug

    Debug运行至断点处

    3.在终端上输入jps 查看对应的Java进程Id

    图中可以看到我们正在Debug的进程为4282

    4.在CLion 中将调试器关联到对应的Java进程,并准备好断点

    选择“Run"->"Attach to Local Process",然后选择对应的进程

    5.运行

    继续运行至native方法,则会停在c++代码的断点中

    6.在Clion中单步调试

    至此已经可以在CLion中单步调试,并且可以查看各个变量的实际值。

    Android 相关

    关于Android的NDK开发,《使用Android Studio 进行NDK开发和调试》已经讲的非常清楚,虽然本人没有亲自验证。之前在使用Android Studio v1.4的时候进行NDK开发,不能直接导入第三方so库的问题让我着实蛋疼了很久,从官方文档现在看来应该已经是功能完善了很多,虽然不是正式发布的插件。

    小结

    本文介绍了通过CLion 和IntellJ IDEA 进行JNI调试单步的方法,直观清晰,摆脱普通Java程序员不会使用GDB调试JNI的烦恼。


    10.26更新:

    本以为从此可以笑傲JNI,结果被内存泄漏和多线程安全打败,调试数天未果。真爱生命,远离JNI(微笑

    相关文章

      网友评论

          本文标题:IntellJ IDEA中JNI单步调试指南

          本文链接:https://www.haomeiwen.com/subject/ellfuttx.html