android - 使用 __gxx_personality_v0 取消引用空指针
问题描述
我在 Android 中有一个 ndk-build 项目,我想在 3.2 中使用 Android Studio Profiler 进行分析。但我总是崩溃:
2019-02-20 10:10:42.369 21888-21888/? A/DEBUG: pid: 21705, tid: 21882, name: engine >>> com.test.example <<<
2019-02-20 10:10:42.369 21888-21888/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1f
2019-02-20 10:10:42.369 21888-21888/? A/DEBUG: Cause: null pointer dereference
2019-02-20 10:10:42.369 21888-21888/? A/DEBUG: r0 bc281b60 r1 ffffffff r2 bb704199 r3 bb4e9400
2019-02-20 10:10:42.369 21888-21888/? A/DEBUG: r4 bc281b08 r5 bc281b60 r6 f0230240 r7 bc281aa8
2019-02-20 10:10:42.369 21888-21888/? A/DEBUG: r8 bb704100 r9 d149a598 sl 00000001 fp 00000000
2019-02-20 10:10:42.369 21888-21888/? A/DEBUG: ip bb76c6f4 sp bc281aa8 lr bb6d4083 pc bb6d447e cpsr 80000030
2019-02-20 10:10:42.372 21888-21888/? A/DEBUG: backtrace:
2019-02-20 10:10:42.372 21888-21888/? A/DEBUG: #00 pc 002b047e /data/app/com.test.example-JNm5Mn25Zd3obHmkwErCEg==/lib/arm/mylib.so
2019-02-20 10:10:42.372 21888-21888/? A/DEBUG: #01 pc 002b007f /data/app/com.test.example-JNm5Mn25Zd3obHmkwErCEg==/lib/arm/mylib.so
2019-02-20 10:10:42.372 21888-21888/? A/DEBUG: #02 pc 002adee5 /data/app/com.test.example-JNm5Mn25Zd3obHmkwErCEg==/lib/arm/mylib.so
2019-02-20 10:10:42.372 21888-21888/? A/DEBUG: #03 pc 002ade93 /data/app/com.test.example-JNm5Mn25Zd3obHmkwErCEg==/lib/arm/mylib.so (__gxx_personality_v0+270)
2019-02-20 10:10:42.372 21888-21888/? A/DEBUG: #04 pc 0018175c /data/data/com.test.example/libperfa_arm.so
2019-02-20 10:10:42.372 21888-21888/? A/DEBUG: #05 pc 00182080 /data/data/com.test.example/libperfa_arm.so
据我所知,__gxx_personality_v0
与C++中的异常机制有关。但是我该如何解决这个问题?
我唯一尝试过的是,如果我-fno-exceptions
在我的库中添加标志,那么这个问题就解决了。但我想知道这里是否有其他解决方案,因为no-exception
与 STL 库不一致。
解决方案
推荐阅读
- r - 我正在尝试为很多线性模型做总结
- php - 仅使用 laravel 验证规则验证在 Laravel 中的 URL 中添加的电子邮件
- sql - plpgsql 函数 concat optionnal args 返回错误
- java - Java中的JavaScript unescape等价物
- sql-server - Microsoft SQL Server Management Studio 启动时出错
- google-kubernetes-engine - 在私有 GKE 中构建 Kubeflow
- sql - SQL:是否可以同时插入两个表,自动生成的 id 从第一个表输出到第二个表
- java - Liquibase:SQLite 不支持 addForeignKeyConstraint
- javascript - 打破 .finally() 链
- axon - Axon 框架 - 存储事件列表