NDK开发:JNI使用sigaction以及sigsetjmp的方式捕获以及处理异常
JNI的异常,会在Linux系统层发生崩溃的时候发送一些特定的信号,通过捕捉这些特定的信号来避免Jni异常崩溃的发生,并回调到JAVA层去处理这个异常
项目中Native层的结构体有点庞大和复杂,在和java对象进行互相传递的过程中,如果对内存的使用不当(开辟新地址以及释放地址等)容易出现内存地址使用异常的情况,从而导致很匪夷所思的地方出现崩溃,如一下异常日志:
2021-07-20 10:41:09.868 3868-3968/? A/libc: Fatal signal 11 (SIGSEG...
原创
2021-07-29 15:09:20 ·
940 阅读 ·
1 评论