android A/libc:致命信号11(SIGSEGV),代码2(SEGV_ACCERR),tid 22188中的故障地址0x 708 d31 bd 64

5rgfhyps  于 2022-12-16  发布在  Android
关注(0)|答案(4)|浏览(136)

大家好,我没有太多的Android经验,但我已经给了一个任务,我很难上。我得到的错误

A/libc: Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x708d31bd64 in tid 22188

当我尝试将我的应用安装到运行在Android 10上的Galaxy Note 9上时,会发生这种情况。我使用的是Android Studio 4.1 R3。我已经搜索了一整天的答案,最接近的答案来自https://github.com/facebook/react-native/issues/29517
据我所知,此错误仅适用于Android 10及以上版本,我需要禁用Execute Memory Only (XOM)或在某处使用mprotect()。如https://source.android.com/devices/tech/debug/execute-only-memory#disabling所示,我需要执行以下操作之一:

// Android.mk
LOCAL_XOM := false

// Android.bp
cc_binary { // or other module types
   ...
   xom: false,
}

我的问题是Android.mkAndroid.bp在哪里?我在项目中找不到这两个文件。

If code introspection is necessary on executable code sections, first call mprotect to mark the code readable. Then after the operation is complete, call mprotect again to mark it unreadable.

你到底是如何使用mprotect()的?我找不到任何清晰的例子来说明它的用法。

s71maibg

s71maibg1#

Android 10似乎在基于Arm 64的架构上存在问题。这会给您一些库提供Execute-only memory violationhttps://source.android.com/devices/tech/debug/native-crash
您可以通过以下方法找到有关问题根源(产生问题的库)的更多详细信息:
使用Android调试器获取崩溃转储。
1.在Android设备上导航至Settings > Developer options > enable USB debugging
1.使用USB将Android设备连接到计算机
1.下载Android SDK平台工具:Android Studio > Tools> SDK Manager > Android SDK > SDK Tools > Android SDK Platform-Tools
1.如果在Windows上,则导航至-C:\Users\[user]\AppData\Local\Android\sdk\platform-tools
如果在Mac上,则导航至/Users/[user]/Library/Android/sdk/platform-tools
1.运行应用程序并使应用程序崩溃
1.从终端运行:./adb logcat -v threadtime -d > /path_to_random_text_file_for_crash_dump/test.txt
更详细的错误应该在test.txt中。
我再次不能确定这是否能帮助解决你的问题,但这确实帮助了我。对我来说,我相信这是Twilio运行在旧版本3.1.x上,而不是新版本。

0pizxfdo

0pizxfdo2#

对我来说,问题出在bindingcontext的类中。
只是避免使用自定义类,将融化与其他类和混合意大利面为您。

qaxu7uf2

qaxu7uf23#

我在Android Studio中运行React Native应用时遇到了这个问题,但没有先在终端中运行adb reverse tcp:8081 tcp:8081。这是一个相当随机/模糊的错误,我花了一点时间才意识到这是问题所在(React Native 0.66.5)。
如果您忘记启动Metro,也会显示类似的错误,例如npx react-native start

k4aesqcs

k4aesqcs4#

这发生在我身上,我正在使用flutter,错误发生时,一个插件试图显示HTML格式的字符串文本和读取<table>标记,这是不支持的插件。

相关问题