HarmonyOS鸿蒙Next ArkTS代码调试,使用断点的时候,如何查看十六进制视图,uint8array数组显示16进制数据

HarmonyOS鸿蒙Next ArkTS代码调试,使用断点的时候,如何查看十六进制视图,uint8array数组显示16进制数据 问题描述:使用断点调试的时候,如何查看十六进制视图,目前只找到Native代码调试时,可以查看十六进制视图,ArkTS代码调试支持查看十六进制视图吗?有可以直接使用、不用自己写代码进行转换的工具吗,若想让uint8array数组显示16进制数据,可以使用相同的方式吗

4 回复

开发者您好,关于您当前ArkTS调试支持查看十六进制视图的需求,您方便的话,麻烦您补充提供下以下信息:

请问您是在什么样的业务场景中使用该能力,交互流程是怎样的,在ArkTS调试直接查看十六进制视图时没有相关方案?方便说明能力不满足可能带来的影响:什么时间用到?是否高频?有无三方库可以做到?若提供该能力,是否会造成大工作量返工?请您注意提供的内容不要包含您或第三方的非公开信息,如给您带来不便,敬请谅解。

更多关于HarmonyOS鸿蒙Next ArkTS代码调试,使用断点的时候,如何查看十六进制视图,uint8array数组显示16进制数据的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


当程序停在断点时,您不需要修改业务代码,直接在调试工具栏中操作:

  1. 点击调试面板栏上的 计算器图标(Evaluate Expression),或者按快捷键 Alt + F8(Mac 为 Option + F8)。
  2. 在弹出的输入框中,直接复制粘贴以下一句话代码(假设你要查看的变量名叫 myBuffer,且它是一个 Uint8Array):
Array.from(myBuffer).map(b => b.toString(16).padStart(2, '0')).join(' ')
  1. 点击 Evaluate(计算),下方的 Result 面板就会直接打印出整齐的十六进制字符串(例如:“00 0a ff 1b …”)。

提示: 如果您的变量是 HarmonyOS 的 @ohos.buffer 类型对象,那就更简单了,直接输入: myBuffer.toString(‘hex’) 即可。

在DevEco Studio调试器中,断点命中后,右键单击Uint8Array变量,选择“View as Hex”即可显示十六进制视图。若变量窗口无此选项,可使用“Evaluate Expression”(求值表达式)输入:Array.from(uint8array).map(v => v.toString(16).padStart(2,'0')),返回数组的十六进制字符串列表。

ArkTS 代码调试暂不支持内存/变量十六进制视图。DevEco Studio 变量面板对 Uint8Array 默认显示为十进制数组,无内置一键切换十六进制的选项。这与 Native 调试不同(Native 调试具备内存十六进制查看器)。若需在断点时查看 Uint8Array 的十六进制数据,目前只能通过在代码中调用转换逻辑(如 Array.from(uint8arr).map(b => b.toString(16)))将结果记录到日志或赋值给临时变量来观察,调试器本身未提供原生十六进制展示。

回到顶部