- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的应用程序在 libicuuc.so 文件中崩溃。 它只发生在 Android 6.0 的 LG 手机上。我搜索了但没有发现任何类似的问题。这是来自 Google Play 的堆栈跟踪:
Build fingerprint: 'lge/p1bssn_global_com/p1bssn:6.0/MRA58K/1635010184e9f:user/release-keys'
Revision: '6'
ABI: 'arm'
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xba45f000
r0 00000000 r1 00000000 r2 0000133b r3 becaf54c
r4 0000133a r5 0000133a r6 becaf54c r7 becaf50c
r8 becaf80c r9 0000a972 sl ba45c98c fp 9b7444bc
ip b65d3bc0 sp becaf4d0 lr b650c821 pc b650c7d2 cpsr 00000030
backtrace:
#00 pc 000577d2 /system/lib/libicuuc.so
#01 pc 0005804d /system/lib/libicuuc.so
#02 pc 0005739f /system/lib/libicuuc.so
#03 pc 000a33d7 /system/lib/libicuuc.so (u_strToLower_55+130)
#04 pc 00046997 /system/lib/libsqlite.so
可能导致此错误的原因是什么?
最佳答案
What might be causing this error?
来自堆栈跟踪/回溯跟踪的有趣位:
/system/lib/libicuuc.so
ABI: 'arm'
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xba45f000
#03 pc 000a33d7 /system/lib/libicuuc.so (u_strToLower_55+130)
International Components for Unicode (ICU) is an open source project of mature C/C++ and Java libraries for Unicode support, software internationalization, and software globalization. ICU is widely portable to many operating systems and environments. It gives applications the same results on all platforms and between C, C++, and Java software. The ICU project is sponsored, supported, and used by IBM and many other companies. International Components for Unicode.
它在函数 u_strToLower
中崩溃(SIGSEGV,段错误,试图读取或写入非法内存位置),因此在您的代码中搜索 “ToLower”
方法(在java中),也许你可以隔离代码和问题。我们可以将调用替换为我们可以控制的东西,即 string
到 lower case
函数。您还应该防弹
传递给此函数的string
(它是null
吗?)。
Why is it crashing in a native library, I'm using Java ?
All of that code that starts life as Java code is converted into a piece of native compiled code. Technically, the classes.dex will be converted into an ELF shared object. Android calls this library format OAT and the tool that converts the classes.dex file is called dex2oat. See this How apps are built and run on the Android Runtime (ART).
关于android - 在装有 Android 6.0 的 LG 手机上,应用程序在 libicuuc.so 中的 native 代码中崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44561962/
我尝试在 CentOS 7 中向 SLURM 提交 R 脚本,如下所示: #!/bin/bash #SBATCH -J test #SBATCH -o test.o
我正在使用依赖于 libicuuc.so 和 friend 的 cmake 在 SUse Linux 上使用 g++ 编译一个共享库。 Suse 在/usr/lib 中有 libicuuc.so、li
简介 我想编译一个使用 ICU 和 libboost 的代码。为此,我使用了以下 install.sh 文件。问题是我收到此错误: /usr/bin/ld: warning: libicuuc.so.
因为我通过以下方式对 Termux 上的软件包进行了更新: pkg upgrade R 无法启动,我收到此错误消息: $R CANNOT LINK EXECUTABLE "/data/data/co
当我使用 swift build 进行编译时,我的 Ubuntu 机器出现以下错误 $swift build /home/xxxxxxxxx/Downloads/swift-DEVELOPMENT-S
我已经构建了 qt6 (6.2.0) 静态库。尝试在我的 cmake 项目(OS Ubuntu 20.04)中使用它和 出现错误: /usr/bin/ld: /home/balisong/projec
我正在尝试在 Ubuntu 下将 ICU-Timezone API 与 Netbeans c++(7.3) 结合使用。 我已经为 ICU 添加了库和包含目录。 然后我想执行这个简单的示例代码: #in
我在尝试通过 QtCreator 运行之前运行的程序时收到此警告。我还收到此警告: libicui18n.so.48,/home/maxim/install/Qt/lib/libQt5Core.so
我的应用程序在 libicuuc.so 文件中崩溃。 它只发生在 Android 6.0 的 LG 手机上。我搜索了但没有发现任何类似的问题。这是来自 Google Play 的堆栈跟踪: Build
我在运行 sentry run web 时遇到此错误。 我对此感到困惑并尝试了很多事情,例如: https://stackoverflow.com/questions/20357033/how-to-
我正在使用 gcc (Ubuntu 5.2.1-22ubuntu2) 5.2.1 20151010 进行编译,但我也尝试了 gcc 4.1.2,但我得到了同样的错误。 对于 gcc 5.2.1 str
我是一名优秀的程序员,十分优秀!