OpenHarmony开发者论坛
标题:
DataView 使用 getFloat32 在某些情况下会导致 SIGSEGV
[打印本页]
作者:
余沧海
时间:
5 天前
标题:
DataView 使用 getFloat32 在某些情况下会导致 SIGSEGV
[md]### 【问题描述】
1. 介绍问题现象和发生的背景
我在使用 DataView 提取二进制数据为 Float32 时,某些数据下会崩溃
2. 相关的代码(请勿使用截图)
```
// 不崩溃
let dataView = new DataView(new Uint8Array([0x0F,0x00,0x12,0x21]).buffer);
console.log(`[TAG] ${dataView.getUint32(0).toString(16)}`);
console.log(`[TAG] ${dataView.getInt32(0).toString(16)}`);
console.log(`[TAG] ${dataView.getFloat32(0)}`);
// 崩溃
dataView = new DataView(new Uint8Array([0xFF,0xFF,0xFF,0x4C]).buffer);
console.log(`[TAG] ${dataView.getUint32(0).toString(16)}`);
console.log(`[TAG] ${dataView.getInt32(0).toString(16)}`);
console.log(`[TAG] ${dataView.getFloat32(0)}`);
```
3. 运行结果、错误截图
```
Device info:dayu152
Build info:OpenHarmony 3.2.13.5
Module name:com.example.myapplication
Version:1.0.0
Pid:20693
Uid:20010046
Reason:Signal:SIGSEGV(SEGV_MAPERR)@0x0000ffe980000000
Thread name:com.example.mya
#00 pc 00000000002c818c /system/lib64/libark_jsruntime.so (5ce9589ae961000ed9a5174c8c3fd4fe)
#01 pc 00000000003be614 /system/lib64/libark_jsruntime.so (5ce9589ae961000ed9a5174c8c3fd4fe)
#02 pc 0000007f6c011028
#03 pc 0000007f6c014c08
```
4. 我尝试过的解决方法和结果
5. 我想要达到的结果
想看看各位在自己的环境下进行该操作会不会崩溃
### 【运行环境】
硬件:CPU:Unisoc T770
ROM版本:
DevEvoStudio版本:
SDK版本:
[/md]
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5