zhangzhilin1991 / JniTest

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JNI调试方法:

1.debugger: Andorid Stuidio上使用debugger 打断点调试。详细使用:https://developer.android.google.cn/studio/debug

2.ndk-gdb: 命令行工具 类似gdb,与debugger功能差不多: https://developer.android.google.cn/ndk/guides/ndk-gdb

3.ndk-stack: 在代码异常退出(crash)时,调用ndk-stack 分析错误位置。 详细使用:https://developer.android.google.cn/ndk/guides/ndk-stack

4.checkjni: checkjni会在运行时进行错误检查检查。 打开checkjni开关命令: adb shell setprop debug.checkjni 1

JNI内存问题调试:(需要模拟器支持) 1.libc debug 模式:adb shell setprop libc.debug.malloc 1 (目前没发现起作用)

2.valgrind工具: 但是这个工具在android里运行太慢,Android里的bionic库提供了内存泄漏的检测方法

3.strace: 显示系统调用

JNI方法签名生成: Javap zhangzhilin@zhangzhilin:~/JniTest/app/build/intermediates/javac/debug/classes$ javap -classpath com/example/jnitest/ -p -s MainActivity

About


Languages

Language:Makefile 30.5%Language:Java 28.3%Language:C++ 21.4%Language:CMake 19.7%