`

JNI debug

    博客分类:
  • JAVA
 
阅读更多

需要调用一个jni,有java和C++的源码,但是对于运行过程中出现的问题还是不好排查,故这时需要进行debug了。这个debug涉及java到C/C++的,所以不是那么直接,故找了些资料学习下。

 

 

1:调试集成 Java 和 C/C++ 的代码(对着例子跑通基本就可以了)

http://www.ibm.com/developerworks/cn/java/j-jnidebug/

 

 

 

2:Linux_Macintosh 平台下 Eclipse 环境中的 JNI 混合语言调试

http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-jnidb/

 

3:Integrated Debugger for Java*/JNI Environments

http://software.intel.com/en-us/articles/integrated-debugger-for-javajni-environments/

 

 

4:Support seamless debugging between JDT and CDT

http://wiki.eclipse.org/index.php/Support_seamless_debugging_between_JDT_and_CDT

 

 

5:A step-by-step guide for debugging native code

http://www.eclipse.org/sequoyah/documentation/native_debug.php

 

 

6:How to Use Eclipse to Debug JNI code (Java & C/C++)

http://stackoverflow.com/questions/2762916/how-to-use-eclipse-to-debug-jni-code-java-c-c

 

 

附:GDB文档:

 

陈皓  用GDB调试程序 系列

http://blog.csdn.net/haoel/article/details/2879

 

Debugging with gdb

http://sourceware.org/gdb/onlinedocs/gdb/

 

分享到:
评论

相关推荐

    Android JNI 断点调试C++

    在Android开发中,JNI(Java Native Interface)是一个关键的组件,允许Java代码调用本地(C/C++)代码,反之亦然。这对于性能敏感的应用、底层库的集成以及利用现有C/C++库是非常有用的。本教程将聚焦于如何在...

    I2CJNI.rar_Android jni_android_android i2c_android i2c通信 JNI_i2c

    同时,可能需要借助如Android Debug Bridge(ADB)工具来调试和测试I2C通信。 6. **安全和权限**:由于I2C涉及到硬件访问,所以在Android应用中进行I2C通信需要相应的权限。开发者需要在AndroidManifest.xml文件中...

    安卓中实现jni读取内存信息

    __android_log_print(ANDROID_LOG_DEBUG, "MemoryInfo", "无法打开/proc/meminfo"); } // 返回内存信息字符串,这里简化处理,实际应用需要解析内存信息 return env->NewStringUTF("内存信息..."); } ``` 3. *...

    Android JNI总结

    在 development 环境下,JNI 可以用于实现一些高级的功能,例如 debug、测试等。开发者可以使用 JNI 来实现一些特殊的功能,例如 native 代码的调试、性能优化等。 Android JNI 是一个功能强大且复杂的接口,它提供...

    android studio JNI

    > `Generate Signed Bundle / APK`或`Build` -> `Make Project`,系统会自动调用`javah`工具(在现代版本中,是`javac -h`)生成JNI头文件,一般位于`app/build/generated/source/ndk/release/`或`debug/`目录下。...

    opencv封装动态链接库给Java使用JNI

    确保链接到OpenCV库,并指定正确的平台和配置(例如,x86或x64,Debug或Release)。 4. 创建Java头文件:使用`javah`工具(在Java SDK中提供)从Java类的声明生成C++的头文件。这个类将包含JNI方法的声明,这些方法...

    Android调用JNI的简单实例(附详细步骤)

    __android_log_print(ANDROID_LOG_DEBUG, "HelloJNI", "Hello from JNI!"); return (*env)->NewStringUTF(env, "Hello from JNI!"); } ``` 这段代码定义了一个名为`Java_...

    jni开发demo

    - **找不到符号**:确保.so库文件被正确地复制到了`app/build/intermediates/cmake/release/obj`或`debug/obj`目录下,并且对应的ABI被包含在`abiFilters`中。 - **JNI函数找不到**:检查Java方法签名是否正确,...

    基于 Android NDK 的学习之旅-----JNI LOG 打印

    __android_log_print(ANDROID_LOG_DEBUG, "MyApp", "Hello from JNI!"); } ``` 在这个例子中,`"MyApp"`是我们的日志标签,`"Hello from JNI!"`是日志消息。当这个`nativeMethod`被Java层调用时,将在Android的...

    JNI编写步骤

    ### JNI编写步骤详解 #### 一、概述 JNI(Java Native Interface)是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。JNI在Android开发中尤其重要,因为这使得开发者可以在性能要求较高的场景下...

    jni调试 c层在eclipse中输出信息

    JNI(Java Native Interface)是Java平台的标准组成部分,它允许Java代码和其他语言写的代码进行交互。在Android开发中,JNI常用于提升性能、调用系统库或者实现特定功能,如硬件加速、图形处理等。本教程将详细介绍...

    Android的JNI【实战教程】6⃣️--温控计

    __android_log_print(ANDROID_LOG_DEBUG, "Thermometer", "Generated temperature: %f", temperature); return temperature; } ``` 在Android Studio中,我们需要配置CMakeLists.txt文件来编译C++代码,并将其...

    Android JNI日志工具类

    在Android开发中,JNI(Java Native Interface)是一个关键的组件,它允许Java代码与其他语言编写的代码进行交互,特别是C++或C。JNI在处理性能敏感的计算、访问硬件特性或者利用现有C库时非常有用。然而,在JNI编程...

    关于JNI的小例子 实现java与C++的方法互调

    最后,运行`./gradlew build`或在Android Studio中同步构建项目,生成的.so文件会自动放入到相应的ABI目录下,例如`app/build/intermediates/cmake/debug/obj`。 现在,Java代码可以调用`sayHelloFromJNI`方法,C++...

    jniDemo Log版

    JNI(Java Native Interface)是Java平台提供的一种标准接口,它允许Java代码和其他语言写的代码进行交互。这个"jniDemo Log版"是一个示例项目,旨在教你如何在使用JNI的C/C++代码中添加日志打印功能,以方便后期的...

    java的JNI小联系

    - 使用JNI_DEBUG宏可以在JNI代码中插入调试信息。 - 调试本地代码时,可以使用常规的C/C++调试器,如GDB。 7. 实践中的注意事项: - 记得释放本地资源,例如使用NewXXX()创建的对象需要DeleteLocalRef()释放。 ...

    Android jni调试打印char阵列的实例详解

    Android JNI 调试打印 char 数组的实例详解是 Android 开发中的一种常见需求,特别是在 debug 和测试阶段。在 Android 中,使用 JNI 调用 native 方法时,需要将 char 数组转换为字符串,方便 debug 和 log 输出。...

    jniDemo的配置

    Android Studio会自动编译C/C++代码,并将其生成的.so文件放入`app/build/intermediates/cmake/debug/obj`目录下。在设备或模拟器上运行应用时,Android系统会加载.so文件并执行对应的本地方法。 总结来说,配置一...

Global site tag (gtag.js) - Google Analytics