美文网首页
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单步调试指南

    介绍 本文将分享一个在IntellJ IDEA下调试JNI的方法,不需要GDB之类的等命令行调试工具,即可直观地进...

  • JNI 开发流程

    java调用C语言 比较好的文章:(调试)Android Studio中JNI程序的单步调试和日志打印 - she...

  • Android studio 3.0 调试NDK代码

    文章主要描述在Android Studio中依赖NDK时如何进行JNI的单步调试。如果是单个NDK工程的话,可以直...

  • 防调试绕过姿势(IDA调试)

    反反调试(IDA调试) Step1 找崩点 在JNI_OnLoad下断点,单步调试到某崩点,分析一下。 Step2...

  • flutter开发

    首先安装IntellJ IDEA。

  • Chrome浏览器客户端调试JS代码

    Source调试JS代码 理解单步调试,单步进入块,单步退出块的区别 单步调试F10 跳过当前函数调用 单步进入块...

  • android studio mac快捷键

    1、调试 单步调试:fn + F8单步进入:fn + F7单步跳出:fn + F8 + shift单步进入源码:f...

  • MAC IDER

    解决问题 warning no artifacts configured 【错误解决】Intellj(IDEA) ...

  • IntellJ Idea创建Maven Jetty Web项目

    IntellJ Idea 14.0.2 Ultimate 创建项目 Step 1. New Project -> ...

  • JNI内存调试指南

    一、相关背景 最近公司有个项目提出一个需求,就是在webrtc jni库里面实现录音,具体实现的细节为: 采集扬声...

网友评论

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

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