HarmonyOS 鸿蒙Next在AppStorage.setOrCreate('User', user)处出现CppCrash故障,错误代码为Reason:Signal:SIGSEGV(SEGV_MAPERR)@0xffffffffffffffb8
HarmonyOS 鸿蒙Next在AppStorage.setOrCreate(‘User’, user)处出现CppCrash故障,错误代码为Reason:Signal:SIGSEGV(SEGV_MAPERR)@0xffffffffffffffb8 在AppStorage.setOrCreate(‘User’, user);处出现了CppCrash故障,错误代码为Reason:Signal:SIGSEGV(SEGV_MAPERR)@0xffffffffffffffb8 请问怎么解决?
更多关于HarmonyOS 鸿蒙Next在AppStorage.setOrCreate('User', user)处出现CppCrash故障,错误代码为Reason:Signal:SIGSEGV(SEGV_MAPERR)@0xffffffffffffffb8的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
1、0xffffffff通常是内存溢出或者系统资源不足的标志,尝试优化下该部分代码:
let value: string|undefined= AppStorage.has('CommonApp')?AppStorage.get<string>('CommonApp') :''
if(value!=user){
AppStorage.setOrCreate('CommonApp', user)
}
2、关于app操作持久化存储数据,使用PersistentStorage首选项 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-persiststorage-V5
3、关于首选项demo,可见以下链接: https://gitee.com/harmonyos_samples/preferences
更多关于HarmonyOS 鸿蒙Next在AppStorage.setOrCreate('User', user)处出现CppCrash故障,错误代码为Reason:Signal:SIGSEGV(SEGV_MAPERR)@0xffffffffffffffb8的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
有更多的报错日志吗;AppStorage.setOrCreate(‘User’, user)是在什么地方定义的,这块代码也看下
您好,是在登录的时候操作的。这个错误是在做功能测试的时候发现的,就连续的退出,登录,退出登录,不超3次就闪退了。应用测试包还正常,打了realse包,使用梆梆加固之后,就有这个问题了。
2-1. 接口返回成功
if (res.code === 200) {
let data: string = JSON.stringify(res.data)
console.log("LockLogin---->resp:" + data)
try {
let user: UserInfo = JSON.parse(data);
// 页面是否置灰
if (user.isGrey == '1') {
AppStorage.setOrCreate('grey', 1)
}
// 关闭等待层
this.dialogController?.close()
// 存储登录信息
AppStorage.setOrCreate('CommonApp', user);
router.replaceUrl({ url: 'pages/MainPage' });
} catch (e) {
prompt.showToast({ message: '登陆失败!接口数据格式异常', bottom: CommonConstants.TOAST_BOTTOM })
console.log("LockLogin---->err= " + e)
}
}
每个模块下的ruleOptions都是false呢,
针对您提到的HarmonyOS 鸿蒙Next在AppStorage.setOrCreate('User', user)
处出现的CppCrash故障,错误代码为Reason:Signal:SIGSEGV(SEGV_MAPERR)@0xffffffffffffffb8
的问题,这通常指示着程序尝试访问一个无效的内存地址。
此类错误可能由多种原因引起,包括但不限于:
- 指针未正确初始化:在尝试使用指针之前,它可能未被赋予有效的内存地址。
- 内存越界:访问数组或内存块时超出了其分配的范围。
- 野指针:指针指向了已被释放的内存区域。
在鸿蒙系统中,特别是涉及到C++层面的开发,这种内存访问错误需要开发者仔细检查相关代码,确保所有指针在使用前都已正确初始化,且访问的内存区域是有效且未被释放的。此外,检查AppStorage
相关操作的实现,确认是否有潜在的内存管理问题。
由于此类问题通常涉及底层代码和内存管理,解决它可能需要深入分析和调试。如果问题依旧没法解决请联系官网客服,官网地址是: