最新 HUAWEI DevEco Studio 调试技巧

最新 HUAWEI DevEco Studio 调试技巧

前言

image-20240531235823670

在我们使用 HUAWEI DevEco Studio 编辑器开发鸿蒙应用时,免不了要对我们的应用程序进行代码调试。我们根据实际情况,一般会用到以下三种方式进行代码调试。

  1. 肉眼调试法
  2. 注释排错调试法
  3. 控制台输出法
  4. 弹出提示法
  5. 断点调试法

肉眼调试法

肉眼调试法也称为随缘调试法,一般适用于编辑器有明显错误、或者是刚写完的小段代码中,明显依赖自己的钛合金狗眼。当你刚刚写好的一两行代码,运行发现出错时,就可以直接肉眼排错。如

image-20240531230947783

肉眼调试法 也有很明显的弊端,如果是调试大段程序、或者调试别人的程序。那么此法就不可行了。如:

image-20240531231710994

注释排错调试法

注释排错调试法一般适用于没有明显的错误,自我感觉莫名其妙导致就出错的情况。如代码昨天运行的时候还是好好,今天过来突然就不行了。这个时候,可以大胆的根据代码流程来锁定可能出错的范围,将它注视掉。如果此时程序没有出错,那么就表示锁定出错的范围了。然后继续不断注释其他的,继续缩小范围,继续找到出错的可疑的代码,再进行调错。

image-20240531231342832

控制台输出法

控制台输出法,是程序员最拿手的调试法。直接在控制台中输出自己想要查看的数据,便捷快速。

image-20240531232324089

但是在 HUAWEI DevEco Studio中。控制台的输入也有弊端:

  1. console.log的第一个参数必须时字符串
  2. 无法有效的输出对象类型的数据。

image-20240531232826263

因此对于对象类型的数据,一般可以通过序列化后再输出

console.log("二师兄", JSON.stringify(pug))

**Tips:**如果是对象数组,可以使用 console.table 来友好的进行输出

image-20240531233143803

弹出提示法

进行真机调试时,可以直接利用 harmonyos中提供的弹出窗口的方式 进行输出想要查看的数据

  1. promptAction.showToast({ message: "黎猴呀" })
  2. AlertDialog.show({ message: "执返剂" })

image-20240531233422423


image-20240531233719248

断点调试法

如果上述的方案都解决不了你调试bug的需求,那么最后一种你就一定要拿捏住。 该方式主要是利用了 HUAWEI DevEco Studio种提供的断点调试方式来进行。

image-20240531234536893

结束

如果可以帮助到你,欢迎来撩

  1. 邮箱 yeah126139163@163.com
  2. 微信 w846903522
  3. 掘金
  4. b站
  5. 公众号 程序员漫谈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/20192.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32 入门教程(江科大教材)#笔记2

3-4按键控制LED /** LED.c**/ #include "stm32f10x.h" // Device headervoid LED_Init(void) {/*开启时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //开启GPIOA的时钟/*GPIO初始化*/GPIO_InitTypeDef GPIO_InitStructure;GPIO_I…

关系数据库:关系运算

文章目录 关系运算并(Union)差(Difference)交(Intersection)笛卡尔积(Extended Cartesian Product)投影(projection)选择(Selection)除…

让表单引擎插上AI的翅膀-记驰骋表单引擎加入AI升级

让表单引擎插上AI的翅膀 随着科技的飞速发展,人工智能(AI)已经逐渐渗透到我们工作和生活的每一个角落。在数字化办公领域,表单引擎作为数据处理和流程自动化的重要工具,也迎来了与AI技术深度融合的新机遇。让表单引擎…

Java对象的比较——equals方法,Comparable接口,Comparator接口

Java对象的比较——equals方法,Comparable接口,Comparator接口 1. equals方法2. Comparable接口3. Comparator接口 1. equals方法 在判断两个整数是否相同时,我们可以使用以下方式: System.out.println(1 2); System.out.printl…

安防综合管理系统EasyCVR平台GA/T1400视图库:基于XML的消息体格式

GA/T 1400标准的应用范围广泛,涵盖了公安系统的视频图像信息应用系统,如警务综合平台、治安防控系统、交通管理系统等。在视频监控系统中,GA/T 1400公安视图库的对接是实现视频图像信息传输、处理和管理的重要环节。 以视频汇聚EasyCVR视频监…

【SpringBoot】怎么在一个大的SpringBoot项目中创建多个小的SpringBoot项目,从而形成子父依赖

父子项目工程创建 步骤 先创建父项目 具体操作步骤请看本文章:使用maven工程创建spring boot项目 创建子项目 file- project structure module–new module 剩下步骤请看创建父工程时的操作使用maven工程创建spring boot项目 应用 确认即可 之后创建启动类…

ARM32开发——LED驱动开发

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 需求介绍现实问题需求分析测试案例构建BSP驱动构建业务实现 需求介绍 开发版中有4个灯,现在需要用4个灯显示充电情况&a…

618大促有哪些好物是最值得入手的的?请收下这份618必买好物清单!

最近聊的最多的话题就是618,年中购物大狂欢马上来了!!今天整理了一下之前购买的好物,发现相比之前的价格真的是太划算了,赶紧分享出来给大家,趁着这个大促赶紧多存入手~ 推荐1、南卡Neo 2——不伤耳黑科技…

SPHINX的输出文档格式

SPHINX的输出文档格式 SPHINX的输出文档格式更多信息 SPHINX的输出文档格式 用rst编写,然后用sphinx-build进行编译,还是效果相当不错地,只要掌握了格式,可以一次编译,多种格式输出,主要是用的可能是html和…

记一次netty客户端的开发

背景 近日要开发一个tcp客户端程序去对接上游厂商的数据源,决定使用netty去处理,由于很久没有开发过netty了,顺便学习记录下 netty搭建 考虑到我们需要多个client去对接server服务,所以我们定义一个公共的AbstractNettyClient父…

LabVIEW与Arm控制器之间的通讯

LabVIEW是一个强大的图形化编程环境,广泛应用于自动化控制、数据采集和测试测量等领域。而Arm控制器则是嵌入式系统中常用的处理器架构,广泛用于各种控制和计算任务。将LabVIEW与Arm控制器进行通讯控制,可以结合二者的优势,实现高…

WordPress plugin MStore API SQL注入漏洞复现(CVE-2023-3077)

0x01 产品简介 WordPress和WordPress plugin都是WordPress基金会的产品。WordPress是一套使用PHP语言开发的博客平台。该平台支持在PHP和MySQL的服务器上架设个人博客网站。WordPress plugin是一个应用插件。 0x02 漏洞概述 WordPress plugin MStore API 3.9.8 版本之前存在S…

Linux 深入讲解自动化构建工具

各位大佬好 ,这里是阿川的博客 , 祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 Linux一系列的文章(质量分均在93分…

配置arduino和ESP8266

首先准备好arduino 的IDE和ESP8266的驱动以及板子 1.安装驱动,双击x64的版本驱动,安装好以后,在资源管理器检查端口,比如下下图出现的COM4就是esp8266所使用的端口 2.安装好arduino最好不要在路径中存在中文符号,打开…

水滴式粉碎机:多功能饲料粉碎设备

饲料粉碎机是一种专门用于将各种饲料原料进行粉碎处理的机械设备。无论是玉米、小麦等谷物,还是豆粕、鱼粉等动物性原料,甚至是一些粗纤维含量较高的秸秆、牧草等,都可以经过饲料粉碎机的处理,变成适合畜禽消化吸收的精细饲料。这…

521源码-游戏源码-2024卡牌回合自走棋手游《梦间集》推出全新Linux手工服务端

首款稀有卡牌回合自走棋手游《梦间集》推出全新Linux手工服务端整理 更多网站源码,游戏源码,学习教程,请点击👉-521源码-👈获取最新资源 本游戏下载地址:2024卡牌回合自走棋手游《梦间集》推出全新Linux手…

【再探】设计模式—中介者模式、观察者模式及模板方法模式

中介者模式让多对多的复杂引用关系变成一对多,同时能通过中间类来封装多个类中的行为,观察者模式在目标状态更新时能自动通知给订阅者,模版方法模式则是控制方法的执行顺序,子类在不改变算法的结构基础上可以扩展功能实现。 1 中…

ChatGPT AI专题资料合集【65GB】

介绍 ChatGPT & AI专题资料合集【65GB】 🎁【七七云享】资源仓库,海量资源,无偿分享√

文件系统小册(FusePosixK8s csi)【1 Fuse】

文件系统小册(Fuse&Posix&K8s csi)【1 Fuse:用户空间的文件系统】 Fuse(filesystem in userspace),是一个用户空间的文件系统。通过fuse内核模块的支持,开发者只需要根据fuse提供的接口实现具体的文件操作就可以实现一个文…

【测评|白嫖】雨云宁波新区,2C4G200M,公测期间全免费!

雨云香港三区云服务器,高性能的 Xeon Platinum 处理器 企业级 NVME SSD 高性能云服务器。 一键白嫖链接:https://www.rainyun.com 本篇纯测评,无任何广告,请放心食用!! 本次测评服务器配置如下&#xff1…