一种设备调试方法、装置和设备制造方法及图纸

技术编号:34120540 阅读:11 留言:0更新日期:2022-07-14 12:55
本申请公开了一种设备调试方法、装置和设备,所述方法包括:在第一设备上的调试程序时,第一设备在执行第一函数中发生第一调试中断,显示第一图形化堆栈信息,该第一图形化堆栈信息包括第一函数的函数标识和第一设备的设备标识;在第一调试中断发生后继续执行调试程序,第一设备在第一函数中调用第二设备;在第二设备的第二函数发生第二调试中断时显示第二图形化堆栈信息,该第二图形化堆栈信息包括第一设备和第二设备的设备标识、以及第一函数、第二函数的函数标识。本方法以可视化的形式显示图形化堆栈信息,可直观呈现源设备到目标设备函数调用关系以及当前执行到的方法,且不同调试设备使用不同颜色标识,有利于对分布式调用流程的追踪。式调用流程的追踪。式调用流程的追踪。

【技术实现步骤摘要】
一种设备调试方法、装置和设备
[0001]本申请要求于2021年1月7日提交中国专利局、申请号为202110020068.6、专利技术名称为“一种设备调试方法、装置和设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。


[0002]本申请涉及软件程序开发
,尤其是涉及一种设备调试方法、装置和设备。

技术介绍

[0003]随着终端设备的普及和应用,现代家庭环境和工作环境中越来越多地需要不用设备之间的通信交互。在未来,终端设备基于鸿蒙操作系统(Harmony OS)将具备1+8+N全场景多设备能力交互,实现从源设备到目标设备的能力调用。
[0004]其中,一种可能实现场景是,用户需求的服务功能随用户位置改变而变化。比如上车前,用户在手机上的导航应用APP中规划好行驶路线,行车时,需要将手机APP上的行驶线路自动迁移到车辆的车载屏幕上,并通过车载屏幕来展示行驶路线,当用户下车后,再将原来车载屏幕上的行驶路线等信息自动迁移回用户的手机终端上,从而达到导航服务跟随人走的目的。此外,另一种可能的场景是,手机终端的某一应用与室内设备,比如智慧屏电视之间的联动,从而实现能力互通、互助。例如,通过智慧屏电视的摄像头在智慧屏电视上拍摄的用户照片,需要将该照片回传到用户手机上。
[0005]目前,在集成开发环境(Integrated Development Environment,IDE)中,开发者通常是查看调试窗口中的堆栈列表来追踪溯源代码,堆栈列表不能直观显示程序代码的函数调用关系,尤其是有分布式调用,涉及多设备、多模块的情况下,不利于开发者对代码的分析定位。因此基于分布式应用调试场景,直观呈现设备间的分布式调用堆栈显得至关重要。

技术实现思路

[0006]本申请提供了一种设备调试方法和装置,用于实现多个设备之间的能力调用。具体地,公开了以下技术方案:
[0007]第一方面,本申请提供了一种设备调试方法,所述方法包括:获取在调试第一设备过程中得到的第二设备的接口信息;根据所述第二设备的接口信息在第一映射关系中查找所述第二设备被调用接口的代码行,所述第一映射关系包括所述第二设备的接口信息和所述第二设备被调用接口代码行的对应关系;根据所述第二设备被调用接口的代码行对所述第二设备进行调试,并验证调试结果,在所述调试结果符合预期的情况下,跳转回到对所述第一设备进行调试。
[0008]本方法,当需要调用第二设备接口时,根据预先建立的映射关系,快速地查找第二设备被调用接口的代码行,使得第二设备利用被调用的代码行执行第二设备应用包中的程序代码,从而实现对第二设备能力的调用。
[0009]另外,本方法不再需要开发者启动第二设备,查找第二设备被调用接口的代码行,对第二设备进行调试,上述一系列过程都可自动实现,从而对外呈现出与本地第一设备调用接口能力一致的调试流程,提高了能力调用效率。
[0010]结合第一方面,在第一方面的一种可能的实现方式中,所述第二设备的接口信息包括:设备类型、包名、接口名和接口参数类型等信息。
[0011]根据所述第二设备的接口信息在第一映射关系中查找所述第二设备被调用接口的代码行,包括:根据所述第二设备的接口信息中的设备类型确定所述第二设备;按照预设命名规则根据所述第二设备的接口信息中的包名、接口名和接口参数类型,在所述第一映射关系中查找所述第二设备被调用接口的代码行。
[0012]结合第一方面,在第一方面的另一种可能的实现方式中,所述按照预设命名规则根据所述第二设备的接口信息中的包名、接口名和接口参数类型,在所述第一映射关系中查找所述第二设备被调用接口的代码行,包括:所述按照预设命名规则根据所述第二设备的接口信息中的包名、接口名和接口参数类型,确定所述第一设备的类中所对应的方法名;根据所述方法名在所述第一映射关系中查找所述第二设备被调用接口的代码行。
[0013]结合第一方面,在第一方面的又一种可能的实现方式中,根据所述第二设备的接口信息中的设备类型确定第二设备,包括:如果所述第二设备的接口信息中的所述设备类型与用户期望的设备类型相同,则确定所述设备类型对应的第二设备可用。本实现方式中确定的第二设备为可用设备,从而避免发生查找到的第二设备不可用的情况,本方法提高查找第二设备的可靠性。
[0014]结合第一方面,在第一方面的又一种可能的实现方式中,所述获取在调试第一设备过程中得到的第二设备的接口信息,包括:自检测所述第一设备的调试结果,得到所述第二设备的接口信息;或者,接收所述第一设备在调试模式下,运行第一安卓应用包时输出的所述第二设备的接口信息。
[0015]本实现方式中,当利用第一设备中存储的映射关系表为第三设备查找第二设备的接口信息时,可节约第二设备的处理过程,减少了第三设备的运算量和耗电量。
[0016]结合第一方面,在第一方面的又一种可能的实现方式中,上述方法还包括:在所述第二设备被调用接口的代码行上添加断点信息;以及,在验证所述调试结果符合预期的情况下,清除所述断点信息。
[0017]本实现方式能够在第二设备被调用接口的代码行上自动打断点和删除断点信息,不需要开发者手动添加断点信息和删除断点信息,从而提高了能力调用效率。
[0018]第二方面,本申请还提供了一种设备调试装置,所述装置包括:获取单元,用于获取在调试第一设备过程中得到的第二设备的接口信息;处理单元,用于根据所述第二设备的接口信息在第一映射关系中查找所述第二设备被调用接口的代码行,所述第一映射关系包括所述第二设备的接口信息和所述第二设备被调用接口代码行的对应关系;调试单元,用于根据所述第二设备被调用接口的代码行对所述第二设备进行调试,并验证调试结果,以及在所述调试结果符合预期的情况下,跳转回到对所述第一设备进行调试。
[0019]结合第二方面,在第二方面的一种可能的实现方式中,所述第二设备的接口信息包括:设备类型、包名、接口名和接口参数类型。所述处理单元,具体用于根据所述第二设备的接口信息中的设备类型确定所述第二设备,按照预设命名规则根据所述第二设备的接口
信息中的包名、接口名和接口参数类型,在所述第一映射关系中查找所述第二设备被调用接口的代码行。
[0020]结合第二方面,在第二方面的另一种可能的实现方式中,所述处理单元,具体用于所述按照预设命名规则根据所述第二设备的接口信息中的包名、接口名和接口参数类型,确定所述第一设备的类中所对应的方法名;根据所述方法名在所述第一映射关系中查找所述第二设备被调用接口的代码行。
[0021]结合第二方面,在第二方面的又一种可能的实现方式中,所述处理单元,具体用于在所述第二设备的接口信息中的所述设备类型与用户期望的设备类型相同时,确定所述设备类型对应的第二设备可用。
[0022]结合第二方面,在第二方面的又一种可能的实现方式中,所述获取单元,具体用于自检测所述第一设备的调试结果,得到所述第二设备的接口信息,或者,接收所述第一设备在调试模式下,运行第一安卓应用包时输出本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种调试方法,其特征在于,所述方法包括:在第一设备上的调试程序时,所述第一设备在执行第一函数中发生第一调试中断时,显示第一图形化堆栈信息,所述第一图形化堆栈信息包括第一函数的函数标识和第一设备的设备标识;在所述第一调试中断发生后继续执行调试程序,所述第一设备在所述第一函数中调用第二设备;在所述第二设备的第二函数发生第二调试中断时,显示第二图形化堆栈信息,所述第二图形化堆栈信息包括所述第一函数的函数标识、所述第一设备的设备标识、第二函数的函数标识和第二设备的设备标识;其中,函数标识用于表示设备运行堆栈的函数信息,设备标识用于区分函数标识所属的设备。2.根据权利要求1所述的方法,其特征在于,所述第一设备的设备标识包括第一设备的设备名称和第一设备的第一颜色,所述第二设备的设备标识包括第二设备的设备名称和第二设备的第二颜色;所述第一函数的函数标识、所述第一设备的设备标识在所述第一图形化堆栈信息和所述第二图形化堆栈信息显示所述第一颜色;所述第二函数的函数标识、所述第二设备的设备标识在所述第二图形化堆栈信息显示所述第二颜色。3.根据权利要求1或2所述的方法,其特征在于,在所述第二设备的第二函数发生第二调试中断时,显示第二图形化堆栈信息后,还包括:根据所述第二设备的堆栈信息中的第三函数,合并显示从所述第三函数开始到第二函数的堆栈信息以及第一设备的堆栈信息,所述第三函数是被调用的最深合并堆栈图形显示的函数。4.根据权利要求3项所述的方法,其特征在于,合并显示从所述第三函数开始到第二函数的堆栈信息以及第一设备的堆栈信息,包括:在所述合并显示从所述第三函数开始到第二函数的堆栈信息以及第一设备的堆栈信息时,所述第一函数指向所述第三函数;其中,所述第一函数是预设调用的最深合并堆栈图形显示的函数。5.根据权利要求1

4任一项所述的方法,其特征在于,所述第一设备在所述第一函数中调用第二设备,包括:根据堆栈信息确定所述第一设备调用所述第二设备。6.根据权利要求5所述的方法,其特征在于,根据堆栈信息确定所述第一设备调用所述第二设备,包括:根据第四函数或者所述第三函数确定所述第二设备被调用,所述第四函数是所述第三函数的上级函数;根据来自所述第三函数或所述第四函数参数信息确定所述第二设备通过所述第一函数被调用。7.根据权利要求3

6任一项所述的方法,其特征在于,所述第三函数为所述第二函数,或者为所述第二函数的上级函数。
8.一种调试装置,其特征在于,所述装置包括:显示单元,用于在第一设备上的调试程序时,所述第一设备在执行第一函数中发生第一调试中断时,显示第一图形化堆栈信息,所述第一图形化堆栈信息包括第一函数的函数标识和第一设备的设备标识;处理单元,用于在所述第一调...

【专利技术属性】
技术研发人员:裴云华邹建青王俊杨建伟许斯豪严丽
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1