CN108654088A - 程序调试方法和装置、存储介质及电子装置 - Google Patents

程序调试方法和装置、存储介质及电子装置 Download PDF

Info

Publication number
CN108654088A
CN108654088A CN201810332042.3A CN201810332042A CN108654088A CN 108654088 A CN108654088 A CN 108654088A CN 201810332042 A CN201810332042 A CN 201810332042A CN 108654088 A CN108654088 A CN 108654088A
Authority
CN
China
Prior art keywords
program
debugged
reality
operation note
breakpoint
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810332042.3A
Other languages
English (en)
Other versions
CN108654088B (zh
Inventor
王洪浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810332042.3A priority Critical patent/CN108654088B/zh
Publication of CN108654088A publication Critical patent/CN108654088A/zh
Application granted granted Critical
Publication of CN108654088B publication Critical patent/CN108654088B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6009Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种程序调试方法和装置、存储介质及电子装置。其中,该方法包括:获取对虚拟现实游戏进行录制所得到的操作记录;执行与所述操作记录对应的待调试程序,其中,所述待调试程序中包括用于指示暂停所述待调试程序的断点程序;在执行到所述断点程序的情况下,暂停执行所述待调试程序,并获取在所述断点程序之前所述待调试程序中产生的变化数据;根据所述变化数据得到调试结果。本发明解决了在VR游戏的程序调试过程中所存在的调试操作复杂度较高的技术问题。

Description

程序调试方法和装置、存储介质及电子装置
技术领域
本发明涉及计算机领域,具体而言,涉及一种程序调试方法和装置、存储介质及电子装置。
背景技术
如今虚拟现实(Virtual Reality,简称VR)游戏受到越来越多的关注。为了提升VR游戏的性能,常常需要对实现VR游戏的程序进行调试。
然而,目前常用的调试方式是由程序调试人员配戴VR设备,进入游戏运行模式,对操作手柄进行实际控制操作,以运行VR游戏。在运行过程中若触发调试程序,则终止VR游戏,并从VR游戏中切出,到开发环境中获取在VR游戏终止前控制程序中所产生的变量变化,以得到调试结果。在下一次调试时,再重复上述过程,重新佩戴VR设备进入VR游戏运行模式,以待下次触发调试程序。也就是说,目前在VR游戏的程序调试过程中存在调试操作复杂度较高的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种程序调试方法和装置、存储介质及电子装置,以至少解决在VR游戏的程序调试过程中所存在的调试操作复杂度较高的技术问题。
根据本发明实施例的一个方面,提供了一种程序调试方法,包括:获取对虚拟现实游戏进行录制所得到的操作记录;执行与上述操作记录对应的待调试程序,其中,上述待调试程序中包括用于指示暂停上述待调试程序的断点程序;在执行到上述断点程序的情况下,暂停执行上述待调试程序,并获取在上述断点程序之前上述待调试程序中产生的变化数据;根据上述变化数据得到调试结果。
根据本发明实施例的另一方面,还提供了一种程序调试装置,包括:第一获取单元,用于获取对虚拟现实游戏进行录制所得到的操作记录;执行单元,用于执行与上述操作记录对应的待调试程序,其中,上述待调试程序中包括用于指示暂停上述待调试程序的断点程序;第二获取单元,用于在执行到上述断点程序的情况下,暂停执行上述待调试程序,并获取在上述断点程序之前上述待调试程序中产生的变化数据;第三获取单元,用于根据上述变化数据得到调试结果。
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述程序调试方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的程序调试方法。
在本发明实施例中,采用了获取对虚拟现实游戏进行录制所得到的操作记录;执行与操作记录对应的待调试程序,其中,待调试程序中包括用于指示暂停待调试程序的断点程序;在执行到断点程序的情况下,暂停执行待调试程序,并获取在断点程序之前待调试程序中产生的变化数据;根据变化数据得到调试结果的方法。由于本方法获取到了录制的虚拟现实游戏的操作记录,从而可以根据操作记录对待调试程序进行调试,以及在获取到断点程序时可以暂停待调试程序进行调试,从而不需要反复佩戴虚拟现实交互设备进入虚拟现实游戏进行虚拟现实交互,提高了虚拟现实游戏调试过程的调试效率。进而解决了在VR游戏的程序调试过程中所存在的调试操作复杂度较高的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的程序调试方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的程序调试方法的流程示意图;
图3是根据本发明实施例的一种可选的程序调试方法的示意图;
图4是根据本发明实施例的另一种可选的程序调试方法的示意图;
图5是根据本发明实施例的又一种可选的程序调试方法的示意图;
图6是根据本发明实施例的另一种可选的程序调试方法的流程图;
图7是根据本发明实施例的又一种可选的程序调试方法的流程图;
图8是根据本发明实施例的一种可选的应用调试装置的结构示意图;
图9是根据本发明实施例的另一种可选的应用调试装置的结构示意图;
图10是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种程序调试方法,作为一种可选的实施方式,上述程序调试方法可以但不限于应用于如图1所示的环境中。
终端102通过网络104从服务器106获取到对虚拟现实游戏进行录制得到的操作记录,在获取到上述操作记录后,终端102执行与操作记录对应的待调试程序,其中,待调试程序中包括用于指示暂停待调试程序的断点程序。终端102在执行到断点程序的情况下,暂停执行待调试程序,并获取在断点程序之前待调试程序中产生的变化数据,并且根据上述变化数据得到调试结果。
可选地,上述程序调试方法可以但不限于应用于,对可以进行虚拟现实交互的设备进行调试的过程中,例如对VR眼镜进行调试的过程中、对VR手套进行调试的过程中、对VR衣服进行调试的过程中、对VR头盔进行调试的过程中、对VR游戏仓进行调试的过程中等。上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述服务器可以包括但不限于以下至少之一:笔记本电脑、PC机等。
可选地,作为一种可选的实施方式,上述程序调试方法可以但不限于包括以下步骤:
S202,获取对虚拟现实游戏进行录制所得到的操作记录;
S204,执行与操作记录对应的待调试程序,其中,待调试程序中包括用于指示暂停待调试程序的断点程序;
S206,在执行到断点程序的情况下,暂停执行待调试程序,并获取在断点程序之前待调试程序中产生的变化数据;
S208,根据变化数据得到调试结果。
可选地,上述程序调试方法可以但不限于应用于对虚拟现实游戏的数据进行调试的过程中。例如,以对虚拟现实游戏的数据进行调试的过程为例进行说明。获取到对虚拟现实游戏进行录制所得到的操作记录,根据上述操作记录,执行待调试的程序。在执行待调试的程序的过程中,可以根据待调试程序中的断点程序暂停待调试程序,在待调试程序暂停时,获取到断点程序之前,待调试程序中已经产生了变化的变化数据,并根据变化数据得到调试结果。当得到调试结果之后,可以继续选择执行待调试程序。直到获取到所有需要的调试结果。
需要说明的是,由于在本实施例中是获取到录制的操作记录,并执行与操作记录对应的待调试程序,从而通过执行的待调试程序中的断点程序完成对待调试程序的调试并得到调试结果,避免了在对虚拟现实游戏进行调试的过程中,需要多次佩戴虚拟现实游戏设备进行虚拟现实交互,以及取下虚拟现实游戏设备进行程序的调试的问题,提高了对虚拟现实游戏的调试效率,解决了相关技术中存在的对VR游戏的程序调试过程中调试操作复杂度高的问题。
可选地,获取对虚拟现实游戏进行录制所得到的操作记录包括:从已存储的数组中读取操作记录,其中,数组中记录有在虚拟现实游戏中被控制的虚拟对象的运动轨迹。
例如,结合图3与图4对上述获取操作记录的过程进行说明。如图3所示,在虚拟现实场景中建立三维坐标系,标定x轴、y轴、z轴的方向。则,虚拟现实游戏中的每一个物体都有对应的坐标。当在进行虚拟现实游戏的过程中,可以控制虚拟现实中的左右手进行移动,以移动到特定的位置完成交互。将图3中的左手与右手看成三维坐标系中的一个点,则左手与右手在三维坐标系中有对应的三维坐标值。用L-Position与R-Position表示。同时,为了表示手的移动方向,为左手与右手添加参数以表示移动方向,为L-Rotation与R-Rotation。则,初始位置D1中包含了四个参数,分别是L-Position与R-Position与L-Rotation与R-Rotation。当右手从初始位置移动到M1点击按钮时,右手的坐标值与方向都发生了变化,并且产生了数据D1、D2…Dm,此时D1、D2…Dm记录了虚拟现实游戏中的左右手的操作记录。将产生的操作记录D1、D2…Dm存入数组中。如图4所示,数组1中存储了虚拟现实游戏中从初始位置到M1位置的左右手的移动轨迹。同理,当虚拟现实游戏中右手继续移动从M1位置移动到M2位置时,则会产生新的操作记录Dm…Dn(其中,m与n为大于1的正整数),此时,将D1到Dn的数据写入数组2中,用于记录左右手的操作记录。
此时,当获取对虚拟现实游戏录制的操作记录时,可以通过读取数组中的数据来得到虚拟现实游戏中的被控制对象的运动轨迹。
需要说明的是,上述数组可以为一个或者多个,当数组为1个时,在该数组中记录了虚拟现实游戏的所有操作记录,当上述数组为多个时,可以在一个数组中记录一段上述虚拟现实操作记录,本实施例对此不做具体限定。
需要说明的是,上述按下按钮的操作可以为在虚拟现实游戏中的右手与按钮接触时触发,或者在虚拟现实游戏中的右手与按钮接触后,根据输入的指令触发。其中,上述输入的指令可以为键盘操作,或者为语音指令。
可选地,从已存储的数组中读取操作记录包括:依次读取每一帧中,虚拟对象在虚拟现实游戏所指示的三维空间中的运动方向和位置坐标。
继续结合图3进行说明,当在进行虚拟显示游戏的过程中,当开始录制之后,以每0.04s的时间间隔采集虚拟现实游戏中的左右手的位置与方向,并将采集到的数据记录到数组中。当需要读取数组中的数据时,从数组的初始位置开始,依次读取每个时间间隔采集到的虚拟现实游戏中的数据记录,并根据上述数据记录,得到虚拟现实游戏中录制的操作记录。
可选地,在获取对虚拟现实游戏进行录制所得到的操作记录之前,还包括:获取与虚拟现实游戏匹配的智能硬件设备控制虚拟对象所产生的操作记录,其中,操作记录包括虚拟对象按照操作起始指令执行起始动作,到按照操作结束指令执行结束动作之间的全部运动轨迹;将操作记录按照帧顺序依次存储到数组中。
可选地,可以提前设置获取操作记录的启示动作与结束动作。例如,可以设置当接收到与虚拟现实游戏进行交互的智能硬件上的按钮的按下指令时,则表示开始录制,再次接收到与虚拟现实游戏进行交互的智能硬件上的按钮的按下指令时,则表示结束录制。或者,当检测到虚拟现实中的虚拟对象执行了预定动作后,则表示开始录制或者结束录制,例如在虚拟现实游戏中按下表示开始录制的虚拟按键,或者检测到虚拟现实游戏中的抬手动作等。当接收到结束录制的指令后,将在虚拟现实游戏中产生的数据按照帧顺序依次存入数组中。
可选地,在执行与操作记录对应的待调试程序之前,还包括:从待调试程序中获取第一目标程序行;将第一目标程序行标记为断点程序。
例如,结合图5进行说明。当在进行虚拟现实游戏的过程中,根据右手执行的动作可以设置相应的断点。例如,当右手在初始位置时,将右手在初始位置对应的程序行设置为断点程序,或者当右手移动到M1要点击按钮时,则将右手在M1点击按钮的程序行设置为断点程序,或者当右手移动到M2要点击按钮时,将右手在M2点击按钮的程序行设置为断点程序。此时,在获取到虚拟现实游戏的操作记录后,在操作记录的初始位置虚拟现实游戏会暂停。此时可以根据数组中记录的数据进行调试,当虚拟现实游戏开始进行时,进行到右手点击M1位置的按钮时,虚拟现实游戏会暂停,此时可以根据数组中产生的数据对虚拟现实游戏进行调试。当继续游戏后,在右手点击M2位置的按钮时,虚拟现实游戏会暂停,此时可以根据数组中产生的数据调试虚拟现实游戏。
可选地,在执行与操作记录对应的待调试程序之前,还包括:从待调试程序中获取第二目标程序行;在第二目标程序行之前插入断点程序,或,在第二目标程序行之后插入断点程序。
例如,继续结合图5进行说明。上述断点程序可以为插入的程序。当开始虚拟现实游戏时,右手位置处于初始位置,则在上述右手位置处于初始位置之后或者之前插入断点程序,或者在右手点击M1位置的按钮之前或者之后插入断点程序,或者在右手点击M2位置的按钮之前或者之后插入断点程序。此时,在获取到虚拟现实游戏的操作记录后,在执行操作记录时,当执行到断点程序时,则操作记录会暂停,此时可以根据数组中记录的数据来对虚拟现实游戏进行调试。
需要说明的是,可以在接收到标记指令时,将上述目标程序行标记为断点程序。或者接收到标记指令时,将第二目标程序行前或后插入断点程序。例如,在获取到操作记录后,在对待调试程序进行调试的过程中,当接收到暂停指令时,则暂停待调试程序的执行,并将此时所执行的动作对应的程序行标记为断点程序。或者在对待调试程序进行调试的过程中,当接收到暂停指令时,则暂停待调试程序的执行,并在执行的动作前插入断点程序或在执行的动作后插入断点程序。
可选地,执行与操作记录对应的待调试程序包括:根据操作记录模拟虚拟对象在虚拟现实游戏中的运动轨迹,以执行待调试程序。
例如,继续结合图3进行说明。当获取到录制的操作记录为右手从M1位置移动到M2位置并点击了M2位置的按钮,则在获取到上述录制的操作记录后,执行待调试的程序时,则执行上述右手从M1位置移动到M2位置并点击M2位置的按钮的操作。根据上述操作产生的数据,决定是否对待调试程序进行调试,并决定是否重复执行上述右手从M1位置移动到M2位置并点击M2位置的按钮的操作。
可选地,以下结合图6与图7对上述程序调试方法进行说明。
如图6所示,根据步骤S602,佩戴执行硬件设备并进行虚拟现实游戏,当根据步骤S604接收到按下控制键的指令后,触发开始记录状态,并根据步骤S606将后续进行的动作记录下来。之后,在根据步骤S608按下控制键后,将上述记录的数据保存。此时,保存的数据即对虚拟现实游戏进行录制所得到的操作记录。
如图7所示,当根据步骤S702,在非虚拟现实模式下启动虚拟现实游戏的调试过程时,根据步骤S704,读取上述保存的数据,获取录制的操作记录,执行步骤S706,根据上述数据执行与上述数据相同的操作。在此过程中,可以根据步骤S708对上述调试过程进行暂停,并读取在数组中保存的程序以决定是否对待调试程序进行调试。
通过本实施例,由于采用了获取录制的虚拟现实游戏的操作记录;执行与操作记录对应的待调试程序,其中,待调试程序中包括用于指示暂停待调试程序的断点程序;在执行到断点程序的情况下,暂停执行待调试程序,并获取在断点程序之前待调试程序中产生的变化数据;根据变化数据得到调试结果的方法,因此通过获取到了虚拟现实游戏的操作记录,从而可以根据操作记录对待调试程序进行调试,以及在获取到断点程序时可以暂停待调试程序进行调试,从而不需要反复佩戴虚拟现实交互设备进入虚拟现实游戏进行虚拟现实交互,提高了对虚拟现实游戏的调试效率。进而解决了在VR游戏的程序调试过程中所存在的调试操作复杂度较高的技术问题。
作为一种可选的实施方案,获取对虚拟现实游戏进行录制所得到的操作记录包括:
S1,从已存储的数组中读取操作记录,其中,数组中记录有在虚拟现实游戏中被控制的虚拟对象的运动轨迹。
例如,结合图3与图4对上述获取操作记录的过程进行说明。如图3所示,在虚拟现实场景中建立三维坐标系,标定x轴、y轴、z轴的方向。则,虚拟现实游戏中的每一个物体都有对应的坐标。当在进行虚拟现实游戏的过程中,可以控制虚拟现实中的左右手进行移动,以移动到特定的位置完成交互。将图3中的左手与右手看成三维坐标系中的一个点,则左手与右手在三维坐标系中有对应的三维坐标值。用L-Position与R-Position表示。同时,为了表示手的移动方向,为左手与右手添加参数以表示移动方向,为L-Rotation与R-Rotation。则,初始位置D1中包含了四个参数,分别是L-Position与R-Position与L-Rotation与R-Rotation。当右手从初始位置移动到M1点击按钮时,右手的坐标值与方向都发生了变化,并且产生了数据D1、D2…Dm,此时D1、D2…Dm记录了虚拟现实游戏中的左右手的操作记录。将产生的操作记录D1、D2…Dm存入数组中。如图4所示,数组1中存储了虚拟现实游戏中从初始位置到M1位置的左右手的移动轨迹。同理,当虚拟现实游戏中右手继续移动从M1位置移动到M2位置时,则会产生新的操作记录Dm…Dn(其中,m与n为大于1的正整数),此时,将D1到Dn的数据写入数组2中,用于记录左右手的操作记录。
此时,当获取对虚拟现实游戏录制的操作记录时,可以通过读取数组中的数据来得到虚拟现实游戏中的被控制对象的运动轨迹。
需要说明的是,上述数组可以为一个或者多个,当数组为1个时,在该数组中记录了虚拟现实游戏的所有操作记录,当上述数组为多个时,可以在一个数组中记录一段上述虚拟现实操作记录,本实施例对此不做具体限定。
通过本实施例,通过从已存储的数组中读取操作记录,并根据操作记录获取虚拟对象的运动轨迹,从而在对待调试程序进行调试的过程中,不必需要再次佩戴智能硬件设备进行与虚拟现实游戏的交互,从而直接根据获取到的运动轨迹对虚拟现实游戏进行调试,达到了提高调试效率的效果。
作为一种可选的实施方案,从已存储的数组中读取操作记录包括:
S1,依次读取每一帧中,虚拟对象在虚拟现实游戏所指示的三维空间中的运动方向和位置坐标。
继续结合图3进行说明,当在进行虚拟显示游戏的过程中,当开始录制之后,以每0.04s的时间间隔采集虚拟现实游戏中的左右手的位置与方向,并将采集到的数据记录到数组中。当需要读取数组中的数据时,从数组的初始位置开始,依次读取每个时间间隔采集到的虚拟现实游戏中的数据记录,并根据上述数据记录,得到虚拟现实游戏中录制的操作记录。
通过本实施例,通过依次读取每一帧中三维空间中的运动方向和位置坐标,从而可以准确得到所有的虚拟现实游戏的操作记录,从而进一步提高了对虚拟现实游戏进行调试的效率。
作为一种可选的实施方案,在获取对虚拟现实游戏进行录制所得到的操作记录之前,还包括:
S1,获取与虚拟现实游戏匹配的智能硬件设备控制虚拟对象所产生的操作记录,其中,操作记录包括虚拟对象按照操作起始指令执行起始动作,到按照操作结束指令执行结束动作之间的全部运动轨迹;
S2,将操作记录按照帧顺序依次存储到数组中。
可选地,可以提前设置获取操作记录的启示动作与结束动作。例如,可以设置当接收到与虚拟现实游戏进行交互的智能硬件上的按钮的按下指令时,则表示开始录制,再次接收到与虚拟现实游戏进行交互的智能硬件上的按钮的按下指令时,则表示结束录制。或者,当检测到虚拟现实中的虚拟对象执行了预定动作后,则表示开始录制或者结束录制,例如在虚拟现实游戏中按下表示开始录制的虚拟按键,或者检测到虚拟现实游戏中的抬手动作等。当接收到结束录制的指令后,将在虚拟现实游戏中产生的数据按照帧顺序依次存入数组中。
通过本实施例,通过根据操作记录中的起始指令与结束指令获取其实动作与结束动作之间的运动轨迹,从而避免了对无用的运动轨迹进行重复获取,进一步提高了对虚拟现实游戏进行调试的效率。
作为一种可选的实施方案,在执行与操作记录对应的待调试程序之前,还包括:
S1,从待调试程序中获取第一目标程序行;
S2,将第一目标程序行标记为断点程序。
可选地,可以提前设置获取操作记录的启示动作与结束动作。例如,可以设置当接收到与虚拟现实游戏进行交互的智能硬件上的按钮的按下指令时,则表示开始录制,再次接收到与虚拟现实游戏进行交互的智能硬件上的按钮的按下指令时,则表示结束录制。或者,当检测到虚拟现实中的虚拟对象执行了预定动作后,则表示开始录制或者结束录制,例如在虚拟现实游戏中按下表示开始录制的虚拟按键,或者检测到虚拟现实游戏中的抬手动作等。当接收到结束录制的指令后,将在虚拟现实游戏中产生的数据按照帧顺序依次存入数组中。
通过本实施例,通过将第一目标程序行标记为断点程序,从而可以在对虚拟现实游戏进行调试的过程中,可以根据断点程序进行暂停,从而提高了虚拟现实游戏进行调试的灵活性。
作为一种可选的实施方案,在执行与操作记录对应的待调试程序之前,还包括:
S1,从待调试程序中获取第二目标程序行;
S2,在第二目标程序行之前插入断点程序,或,在第二目标程序行之后插入断点程序。
例如,继续结合图5进行说明。上述断点程序可以为插入的程序。当开始虚拟现实游戏时,右手位置处于初始位置,则在上述右手位置处于初始位置之后或者之前插入断点程序,或者在右手点击M1位置的按钮之前或者之后插入断点程序,或者在右手点击M2位置的按钮之前或者之后插入断点程序。此时,在获取到虚拟现实游戏的操作记录后,在执行操作记录时,当执行到断点程序时,则操作记录会暂停,此时可以根据数组中记录的数据来对虚拟现实游戏进行调试。
通过本实施例,通过在第二目标程序行前或者后插入断点程序,从而可以在对虚拟现实游戏进行调试的过程中,可以根据断点程序进行暂停,从而提高了虚拟现实游戏进行调试的灵活性。
作为一种可选的实施方案,执行与操作记录对应的待调试程序包括:
S1,根据操作记录模拟虚拟对象在虚拟现实游戏中的运动轨迹,以执行待调试程序。
例如,继续结合图3进行说明。当获取到录制的操作记录为右手从M1位置移动到M2位置并点击了M2位置的按钮,则在获取到上述录制的操作记录后,执行待调试的程序时,则执行上述右手从M1位置移动到M2位置并点击M2位置的按钮的操作。根据上述操作产生的数据,决定是否对待调试程序进行调试,并决定是否重复执行上述右手从M1位置移动到M2位置并点击M2位置的按钮的操作。
通过本实施例,通过在对待调试程序进行调试的过程中根据运动轨迹调试待调试程序,从而不必要反复穿戴智能硬件设备才能对待调试程序进行调试,提高了调试效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
根据本发明实施例的另一个方面,还提供了一种用于实施上述程序调试方法的程序调试装置,如图8所示,该装置包括:
(1)第一获取单元802,用于获取对虚拟现实游戏进行录制所得到的操作记录;
(2)执行单元804,用于执行与操作记录对应的待调试程序,其中,待调试程序中包括用于指示暂停待调试程序的断点程序;
(3)第二获取单元806,用于在执行到断点程序的情况下,暂停执行待调试程序,并获取在断点程序之前待调试程序中产生的变化数据;
(4)第三获取单元808,用于根据变化数据得到调试结果。
可选地,上述程序调试装置可以但不限于应用于对虚拟现实游戏的数据进行调试的过程中。例如,以对虚拟现实游戏的数据进行调试的过程为例进行说明。获取对虚拟现实游戏进行录制所得到的操作记录,根据上述操作记录,执行待调试的程序。在执行待调试的程序的过程中,可以根据待调试程序中的断点程序暂停待调试程序,在待调试程序暂停时,获取到断点程序之前,待调试程序中已经产生了变化的变化数据,并根据变化数据得到调试结果。当得到调试结果之后,可以继续选择执行待调试程序。直到获取到所有需要的调试结果。
需要说明的是,由于在本实施例中是获取到录制的操作记录,并执行与操作记录对应的待调试程序,从而通过执行的待调试程序中的断点程序完成对待调试程序的调试并得到调试结果,避免了在对虚拟现实游戏进行调试的过程中,需要多次佩戴虚拟现实游戏设备进行虚拟现实交互,以及取下虚拟现实游戏设备进行程序的调试的问题,提高了对虚拟现实游戏的调试效率,解决了相关技术中存在的对VR游戏的程序调试过程中调试操作复杂度高的问题。
可选地,获取对虚拟现实游戏进行录制所得到的操作记录包括:从已存储的数组中读取操作记录,其中,数组中记录有在虚拟现实游戏中被控制的虚拟对象的运动轨迹。
例如,结合图3与图4对上述获取操作记录的过程进行说明。如图3所示,在虚拟现实场景中建立三维坐标系,标定x轴、y轴、z轴的方向。则,虚拟现实游戏中的每一个物体都有对应的坐标。当在进行虚拟现实游戏的过程中,可以控制虚拟现实中的左右手进行移动,以移动到特定的位置完成交互。将图3中的左手与右手看成三维坐标系中的一个点,则左手与右手在三维坐标系中有对应的三维坐标值。用L-Position与R-Position表示。同时,为了表示手的移动方向,为左手与右手添加参数以表示移动方向,为L-Rotation与R-Rotation。则,初始位置D1中包含了四个参数,分别是L-Position与R-Position与L-Rotation与R-Rotation。当右手从初始位置移动到M1点击按钮时,右手的坐标值与方向都发生了变化,并且产生了数据D1、D2…Dm,此时D1、D2…Dm记录了虚拟现实游戏中的左右手的操作记录。将产生的操作记录D1、D2…Dm存入数组中。如图4所示,数组1中存储了虚拟现实游戏中从初始位置到M1位置的左右手的移动轨迹。同理,当虚拟现实游戏中右手继续移动从M1位置移动到M2位置时,则会产生新的操作记录Dm…Dn(其中,m与n为大于1的正整数),此时,将D1到Dn的数据写入数组2中,用于记录左右手的操作记录。
此时,当获取对虚拟现实游戏录制的操作记录时,可以通过读取数组中的数据来得到虚拟现实游戏中的被控制对象的运动轨迹。
需要说明的是,上述数组可以为一个或者多个,当数组为1个时,在该数组中记录了虚拟现实游戏的所有操作记录,当上述数组为多个时,可以在一个数组中记录一段上述虚拟现实操作记录,本实施例对此不做具体限定。
需要说明的是,上述按下按钮的操作可以为在虚拟现实游戏中的右手与按钮接触时触发,或者在虚拟现实游戏中的右手与按钮接触后,根据输入的指令触发。其中,上述输入的指令可以为键盘操作,或者为语音指令。
可选地,从已存储的数组中读取操作记录包括:依次读取每一帧中,虚拟对象在虚拟现实游戏所指示的三维空间中的运动方向和位置坐标。
继续结合图3进行说明,当在进行虚拟显示游戏的过程中,当开始录制之后,以每0.04s的时间间隔采集虚拟现实游戏中的左右手的位置与方向,并将采集到的数据记录到数组中。当需要读取数组中的数据时,从数组的初始位置开始,依次读取每个时间间隔采集到的虚拟现实游戏中的数据记录,并根据上述数据记录,得到虚拟现实游戏中录制的操作记录。
可选地,在获取对虚拟现实游戏进行录制所得到的操作记录之前,还包括:获取与虚拟现实游戏匹配的智能硬件设备控制虚拟对象所产生的操作记录,其中,操作记录包括虚拟对象按照操作起始指令执行起始动作,到按照操作结束指令执行结束动作之间的全部运动轨迹;将操作记录按照帧顺序依次存储到数组中。
可选地,可以提前设置获取操作记录的启示动作与结束动作。例如,可以设置当接收到与虚拟现实游戏进行交互的智能硬件上的按钮的按下指令时,则表示开始录制,再次接收到与虚拟现实游戏进行交互的智能硬件上的按钮的按下指令时,则表示结束录制。或者,当检测到虚拟现实中的虚拟对象执行了预定动作后,则表示开始录制或者结束录制,例如在虚拟现实游戏中按下表示开始录制的虚拟按键,或者检测到虚拟现实游戏中的抬手动作等。当接收到结束录制的指令后,将在虚拟现实游戏中产生的数据按照帧顺序依次存入数组中。
可选地,在执行与操作记录对应的待调试程序之前,还包括:从待调试程序中获取第一目标程序行;将第一目标程序行标记为断点程序。
例如,结合图5进行说明。当在进行虚拟现实游戏的过程中,根据右手执行的动作可以设置相应的断点。例如,当右手在初始位置时,将右手在初始位置对应的程序行设置为断点程序,或者当右手移动到M1要点击按钮时,则将右手在M1点击按钮的程序行设置为断点程序,或者当右手移动到M2要点击按钮时,将右手在M2点击按钮的程序行设置为断点程序。此时,在获取到虚拟现实游戏的操作记录后,在操作记录的初始位置虚拟现实游戏会暂停。此时可以根据数组中记录的数据进行调试,当虚拟现实游戏开始进行时,进行到右手点击M1位置的按钮时,虚拟现实游戏会暂停,此时可以根据数组中产生的数据对虚拟现实游戏进行调试。当继续游戏后,在右手点击M2位置的按钮时,虚拟现实游戏会暂停,此时可以根据数组中产生的数据调试虚拟现实游戏。
可选地,在执行与操作记录对应的待调试程序之前,还包括:从待调试程序中获取第二目标程序行;在第二目标程序行之前插入断点程序,或,在第二目标程序行之后插入断点程序。
例如,继续结合图5进行说明。上述断点程序可以为插入的程序。当开始虚拟现实游戏时,右手位置处于初始位置,则在上述右手位置处于初始位置之后或者之前插入断点程序,或者在右手点击M1位置的按钮之前或者之后插入断点程序,或者在右手点击M2位置的按钮之前或者之后插入断点程序。此时,在获取对虚拟现实游戏进行录制所得到的操作记录后,在执行操作记录时,当执行到断点程序时,则操作记录会暂停,此时可以根据数组中记录的数据来对虚拟现实游戏进行调试。
需要说明的是,可以在接收到标记指令时,将上述目标程序行标记为断点程序。或者接收到标记指令时,将第二目标程序行前或后插入断点程序。例如,在获取对虚拟现实游戏进行录制所得到的操作记录后,在对待调试程序进行调试的过程中,当接收到暂停指令时,则暂停待调试程序的执行,并将此时所执行的动作对应的程序行标记为断点程序。或者在对待调试程序进行调试的过程中,当接收到暂停指令时,则暂停待调试程序的执行,并在执行的动作前插入断点程序或在执行的动作后插入断点程序。
可选地,执行与操作记录对应的待调试程序包括:根据操作记录模拟虚拟对象在虚拟现实游戏中的运动轨迹,以执行待调试程序。
例如,继续结合图3进行说明。当获取到录制的操作记录为右手从M1位置移动到M2位置并点击了M2位置的按钮,则在获取到上述录制的操作记录后,执行待调试的程序时,则执行上述右手从M1位置移动到M2位置并点击M2位置的按钮的操作。根据上述操作产生的数据,决定是否对待调试程序进行调试,并决定是否重复执行上述右手从M1位置移动到M2位置并点击M2位置的按钮的操作。
可选地,以下结合图6与图7对上述程序调试方法进行说明。
如图6所示,根据步骤S602,佩戴执行硬件设备并进行虚拟现实游戏,当根据步骤S604接收到按下控制键的指令后,触发开始记录状态,并根据步骤S606将后续进行的动作记录下来。之后,在根据步骤S608按下控制键后,将上述记录的数据保存。此时,保存的数据即对虚拟现实游戏进行录制所得到的操作记录。
如图7所示,当根据步骤S702,在非虚拟现实模式下启动虚拟现实游戏的调试过程时,根据步骤S704,读取上述保存的数据,获取录制的操作记录,执行步骤S706,根据上述数据执行与上述数据相同的操作。在此过程中,可以根据步骤S708对上述调试过程进行暂停,并读取在数组中保存的程序以决定是否对待调试程序进行调试。
通过本实施例,由于采用了获取对虚拟现实游戏进行录制所得到的操作记录;执行与操作记录对应的待调试程序,其中,待调试程序中包括用于指示暂停待调试程序的断点程序;在执行到断点程序的情况下,暂停执行待调试程序,并获取在断点程序之前待调试程序中产生的变化数据;根据变化数据得到调试结果的方法,从而获取到了录制的虚拟现实游戏的操作记录,以及可以根据操作记录对待调试程序进行调试,并且在获取到断点程序时可以暂停待调试程序进行调试,从而不需要反复佩戴虚拟现实交互设备进入虚拟现实游戏进行虚拟现实交互,提高了对虚拟现实游戏的调试效率。进而解决了在VR游戏的程序调试过程中所存在的调试操作复杂度较高的技术问题。
作为一种可选的实施方式,上述第一获取单元802包括:
(1)读取模块,用于从已存储的数组中读取操作记录,其中,数组中记录有在虚拟现实游戏中被控制的虚拟对象的运动轨迹。
例如,结合图3与图4对上述获取操作记录的过程进行说明。如图3所示,在虚拟现实场景中建立三维坐标系,标定x轴、y轴、z轴的方向。则,虚拟现实游戏中的每一个物体都有对应的坐标。当在进行虚拟现实游戏的过程中,可以控制虚拟现实中的左右手进行移动,以移动到特定的位置完成交互。将图3中的左手与右手看成三维坐标系中的一个点,则左手与右手在三维坐标系中有对应的三维坐标值。用L-Position与R-Position表示。同时,为了表示手的移动方向,为左手与右手添加参数以表示移动方向,为L-Rotation与R-Rotation。则,初始位置D1中包含了四个参数,分别是L-Position与R-Position与L-Rotation与R-Rotation。当右手从初始位置移动到M1点击按钮时,右手的坐标值与方向都发生了变化,并且产生了数据D1、D2…Dm,此时D1、D2…Dm记录了虚拟现实游戏中的左右手的操作记录。将产生的操作记录D1、D2…Dm存入数组中。如图4所示,数组1中存储了虚拟现实游戏中从初始位置到M1位置的左右手的移动轨迹。同理,当虚拟现实游戏中右手继续移动从M1位置移动到M2位置时,则会产生新的操作记录Dm…Dn(其中,m与n为大于1的正整数),此时,将D1到Dn的数据写入数组2中,用于记录左右手的操作记录。
此时,当获取对虚拟现实游戏录制的操作记录时,可以通过读取数组中的数据来得到虚拟现实游戏中的被控制对象的运动轨迹。
需要说明的是,上述数组可以为一个或者多个,当数组为1个时,在该数组中记录了虚拟现实游戏的所有操作记录,当上述数组为多个时,可以在一个数组中记录一段上述虚拟现实操作记录,本实施例对此不做具体限定。
通过本实施例,通过从已存储的数组中读取操作记录,并根据操作记录获取虚拟对象的运动轨迹,从而在对待调试程序进行调试的过程中,不必需要再次佩戴智能硬件设备进行与虚拟现实游戏的交互,从而直接根据获取到的运动轨迹对虚拟现实游戏进行调试,达到了提高调试效率的效果。
作为一种可选的实施方式,上述读取模块包括:
(1)读取子模块,用于依次读取每一帧中,虚拟对象在虚拟现实游戏所指示的三维空间中的运动方向和位置坐标。
继续结合图3进行说明,当在进行虚拟显示游戏的过程中,当开始录制之后,以每0.04s的时间间隔采集虚拟现实游戏中的左右手的位置与方向,并将采集到的数据记录到数组中。当需要读取数组中的数据时,从数组的初始位置开始,依次读取每个时间间隔采集到的虚拟现实游戏中的数据记录,并根据上述数据记录,得到虚拟现实游戏中录制的操作记录。
通过本实施例,通过依次读取每一帧中三维空间中的运动方向和位置坐标,从而可以准确得到所有的虚拟现实游戏的操作记录,从而进一步提高了对虚拟现实游戏进行调试的效率。
作为一种可选的实施方式,如图9所示,上述第一获取单元802还包括:
(1)获取模块902,用于在获取对虚拟现实游戏进行录制所得到的操作记录之前,获取与虚拟现实游戏匹配的智能硬件设备控制虚拟对象所产生的操作记录,其中,操作记录包括虚拟对象按照操作起始指令执行起始动作,到按照操作结束指令执行结束动作之间的全部运动轨迹;
(2)存储模块904,用于将操作记录按照帧顺序依次存储到数组中。
可选地,可以提前设置获取操作记录的启示动作与结束动作。例如,可以设置当接收到与虚拟现实游戏进行交互的智能硬件上的按钮的按下指令时,则表示开始录制,再次接收到与虚拟现实游戏进行交互的智能硬件上的按钮的按下指令时,则表示结束录制。或者,当检测到虚拟现实中的虚拟对象执行了预定动作后,则表示开始录制或者结束录制,例如在虚拟现实游戏中按下表示开始录制的虚拟按键,或者检测到虚拟现实游戏中的抬手动作等。当接收到结束录制的指令后,将在虚拟现实游戏中产生的数据按照帧顺序依次存入数组中。
通过本实施例,通过根据操作记录中的起始指令与结束指令获取其实动作与结束动作之间的运动轨迹,从而避免了对无用的运动轨迹进行重复获取,进一步提高了对虚拟现实游戏进行调试的效率。
作为一种可选的实施方式,上述装置还包括:
(1)第四获取单元,用于在执行与操作记录对应的待调试程序之前,从待调试程序中获取第一目标程序行;
(2)标记单元,用于将第一目标程序行标记为断点程序。
可选地,可以提前设置获取操作记录的启示动作与结束动作。例如,可以设置当接收到与虚拟现实游戏进行交互的智能硬件上的按钮的按下指令时,则表示开始录制,再次接收到与虚拟现实游戏进行交互的智能硬件上的按钮的按下指令时,则表示结束录制。或者,当检测到虚拟现实中的虚拟对象执行了预定动作后,则表示开始录制或者结束录制,例如在虚拟现实游戏中按下表示开始录制的虚拟按键,或者检测到虚拟现实游戏中的抬手动作等。当接收到结束录制的指令后,将在虚拟现实游戏中产生的数据按照帧顺序依次存入数组中。
通过本实施例,通过将第一目标程序行标记为断点程序,从而可以在对虚拟现实游戏进行调试的过程中,可以根据断点程序进行暂停,从而提高了虚拟现实游戏进行调试的灵活性。
作为一种可选的实施方式,上述装置还包括:
(1)第五获取单元,用于在执行与操作记录对应的待调试程序之前,从待调试程序中获取第二目标程序行;
(2)插入单元,用于在第二目标程序行之前插入断点程序,或,在第二目标程序行之后插入断点程序。
例如,继续结合图5进行说明。上述断点程序可以为插入的程序。当开始虚拟现实游戏时,右手位置处于初始位置,则在上述右手位置处于初始位置之后或者之前插入断点程序,或者在右手点击M1位置的按钮之前或者之后插入断点程序,或者在右手点击M2位置的按钮之前或者之后插入断点程序。此时,在获取到虚拟现实游戏的操作记录后,在执行操作记录时,当执行到断点程序时,则操作记录会暂停,此时可以根据数组中记录的数据来对虚拟现实游戏进行调试。
通过本实施例,通过在第二目标程序行前或者后插入断点程序,从而可以在对虚拟现实游戏进行调试的过程中,可以根据断点程序进行暂停,从而提高了虚拟现实游戏进行调试的灵活性。
作为一种可选的实施方式,上述执行单元804包括:
(1)模拟模块,用于根据操作记录模拟虚拟对象在虚拟现实游戏中的运动轨迹,以执行待调试程序。
例如,继续结合图3进行说明。当获取到录制的操作记录为右手从M1位置移动到M2位置并点击了M2位置的按钮,则在获取到上述录制的操作记录后,执行待调试的程序时,则执行上述右手从M1位置移动到M2位置并点击M2位置的按钮的操作。根据上述操作产生的数据,决定是否对待调试程序进行调试,并决定是否重复执行上述右手从M1位置移动到M2位置并点击M2位置的按钮的操作。
通过本实施例,通过在对待调试程序进行调试的过程中根据运动轨迹调试待调试程序,从而不必要反复穿戴智能硬件设备才能对待调试程序进行调试,提高了调试效率。
根据本发明实施例的又一个方面,还提供了一种用于实施上述程序调试方法的电子装置,如图10所示,该电子装置包括存储器处理器,该存储器中存储有计算机程序,该处理器被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取对虚拟现实游戏进行录制所得到的操作记录;
S2,执行与操作记录对应的待调试程序,其中,待调试程序中包括用于指示暂停待调试程序的断点程序;
S3,在执行到断点程序的情况下,暂停执行待调试程序,并获取在断点程序之前待调试程序中产生的变化数据;
S4,根据变化数据得到调试结果。
可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的程序调试方法与装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的程序调试方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(NetworkInterface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器1002用于存储录制的操作记录与调试过程中产生的数据等内容。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取对虚拟现实游戏进行录制所得到的操作记录;
S2,执行与操作记录对应的待调试程序,其中,待调试程序中包括用于指示暂停待调试程序的断点程序;
S3,在执行到断点程序的情况下,暂停执行待调试程序,并获取在断点程序之前待调试程序中产生的变化数据;
S4,根据变化数据得到调试结果。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,从已存储的数组中读取操作记录,其中,数组中记录有在虚拟现实游戏中被控制的虚拟对象的运动轨迹。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,依次读取每一帧中,虚拟对象在虚拟现实游戏所指示的三维空间中的运动方向和位置坐标。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取与虚拟现实游戏匹配的智能硬件设备控制虚拟对象所产生的操作记录,其中,操作记录包括虚拟对象按照操作起始指令执行起始动作,到按照操作结束指令执行结束动作之间的全部运动轨迹;
S2,将操作记录按照帧顺序依次存储到数组中。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,从待调试程序中获取第一目标程序行;
S2,将第一目标程序行标记为断点程序。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,从待调试程序中获取第二目标程序行;
S2,在第二目标程序行之前插入断点程序,或,在第二目标程序行之后插入断点程序。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,根据操作记录模拟虚拟对象在虚拟现实游戏中的运动轨迹,以执行待调试程序。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (16)

1.一种程序调试方法,其特征在于,包括:
获取对虚拟现实游戏进行录制所得到的操作记录;
执行与所述操作记录对应的待调试程序,其中,所述待调试程序中包括用于指示暂停所述待调试程序的断点程序;
在执行到所述断点程序的情况下,暂停执行所述待调试程序,并获取在所述断点程序之前所述待调试程序中产生的变化数据;
根据所述变化数据得到调试结果。
2.根据权利要求1所述的方法,其特征在于,所述获取对虚拟现实游戏进行录制所得到的操作记录包括:
从已存储的数组中读取所述操作记录,其中,所述数组中记录有在所述虚拟现实游戏中被控制的虚拟对象的运动轨迹。
3.根据权利要求2所述的方法,其特征在于,所述从已存储的数组中读取所述操作记录包括:
依次读取每一帧中,所述虚拟对象在所述虚拟现实游戏所指示的三维空间中的运动方向和位置坐标。
4.根据权利要求2所述的方法,其特征在于,在所述获取对虚拟现实游戏进行录制所得到的操作记录之前,还包括:
获取与所述虚拟现实游戏匹配的智能硬件设备控制所述虚拟对象所产生的所述操作记录,其中,所述操作记录包括所述虚拟对象按照操作起始指令执行起始动作,到按照操作结束指令执行结束动作之间的全部运动轨迹;
将所述操作记录按照帧顺序依次存储到所述数组中。
5.根据权利要求1所述的方法,其特征在于,在所述执行与所述操作记录对应的待调试程序之前,还包括:
从所述待调试程序中获取第一目标程序行;
将所述第一目标程序行标记为所述断点程序。
6.根据权利要求1所述的方法,其特征在于,在所述执行与所述操作记录对应的待调试程序之前,还包括:
从所述待调试程序中获取第二目标程序行;
在所述第二目标程序行之前插入所述断点程序,或,在所述第二目标程序行之后插入所述断点程序。
7.根据权利要求2至6中任一项所述的方法,其特征在于,所述执行与所述操作记录对应的待调试程序包括:
根据所述操作记录模拟所述虚拟对象在所述虚拟现实游戏中的所述运动轨迹,以执行所述待调试程序。
8.一种程序调试装置,其特征在于,包括:
第一获取单元,用于获取对虚拟现实游戏进行录制所得到的操作记录;
执行单元,用于执行与所述操作记录对应的待调试程序,其中,所述待调试程序中包括用于指示暂停所述待调试程序的断点程序;
第二获取单元,用于在执行到所述断点程序的情况下,暂停执行所述待调试程序,并获取在所述断点程序之前所述待调试程序中产生的变化数据;
第三获取单元,用于根据所述变化数据得到调试结果。
9.根据权利要求8所述的装置,其特征在于,所述第一获取单元包括:
读取模块,用于从已存储的数组中读取所述操作记录,其中,所述数组中记录有在所述虚拟现实游戏中被控制的虚拟对象的运动轨迹。
10.根据权利要求9所述的装置,其特征在于,所述读取模块包括:
读取子模块,用于依次读取每一帧中,所述虚拟对象在所述虚拟现实游戏所指示的三维空间中的运动方向和位置坐标。
11.根据权利要求9所述的装置,其特征在于,所述第一获取单元还包括:
获取模块,用于在所述获取对虚拟现实游戏进行录制所得到的操作记录之前,获取与所述虚拟现实游戏匹配的智能硬件设备控制所述虚拟对象所产生的所述操作记录,其中,所述操作记录包括所述虚拟对象按照操作起始指令执行起始动作,到按照操作结束指令执行结束动作之间的全部运动轨迹;
存储模块,用于将所述操作记录按照帧顺序依次存储到所述数组中。
12.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第四获取单元,用于在所述执行与所述操作记录对应的待调试程序之前,从所述待调试程序中获取第一目标程序行;
标记单元,用于将所述第一目标程序行标记为所述断点程序。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第五获取单元,用于在所述执行与所述操作记录对应的待调试程序之前,从所述待调试程序中获取第二目标程序行;
插入单元,用于在所述第二目标程序行之前插入所述断点程序,或,在所述第二目标程序行之后插入所述断点程序。
14.根据权利要求9至13中任一项所述的装置,其特征在于,所述执行单元包括:
模拟模块,用于根据所述操作记录模拟所述虚拟对象在所述虚拟现实游戏中的所述运动轨迹,以执行所述待调试程序。
15.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
16.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
CN201810332042.3A 2018-04-13 2018-04-13 程序调试方法和装置、存储介质及电子装置 Active CN108654088B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810332042.3A CN108654088B (zh) 2018-04-13 2018-04-13 程序调试方法和装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810332042.3A CN108654088B (zh) 2018-04-13 2018-04-13 程序调试方法和装置、存储介质及电子装置

Publications (2)

Publication Number Publication Date
CN108654088A true CN108654088A (zh) 2018-10-16
CN108654088B CN108654088B (zh) 2020-12-25

Family

ID=63782387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810332042.3A Active CN108654088B (zh) 2018-04-13 2018-04-13 程序调试方法和装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN108654088B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831284A (zh) * 2020-07-29 2020-10-27 网易(杭州)网络有限公司 渲染调试方法、装置及设备
CN113626332A (zh) * 2021-08-13 2021-11-09 北京百度网讯科技有限公司 调试方法、装置、设备、存储介质以及计算机程序产品
CN114071111A (zh) * 2021-12-27 2022-02-18 北京百度网讯科技有限公司 视频播放方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268289A (zh) * 2013-06-18 2013-08-28 北京云测信息技术有限公司 在移动终端上录制应用测试脚本的方法和系统
US20140317602A1 (en) * 2013-04-19 2014-10-23 International Business Machines Corporation Graphical User Interface Debugger with User Defined Interest Points
CN105740153A (zh) * 2016-02-29 2016-07-06 网易(杭州)网络有限公司 云测试方法及装置
CN106155895A (zh) * 2015-04-14 2016-11-23 阿里巴巴集团控股有限公司 脚本数据处理方法及装置
CN106412555A (zh) * 2016-10-18 2017-02-15 网易(杭州)网络有限公司 游戏录制方法、装置及虚拟现实设备
CN107025165A (zh) * 2017-03-07 2017-08-08 腾讯科技(深圳)有限公司 游戏自动化测试方法及相关装置
CN107291571A (zh) * 2017-06-27 2017-10-24 歌尔科技有限公司 Vr一体机的调试方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140317602A1 (en) * 2013-04-19 2014-10-23 International Business Machines Corporation Graphical User Interface Debugger with User Defined Interest Points
CN103268289A (zh) * 2013-06-18 2013-08-28 北京云测信息技术有限公司 在移动终端上录制应用测试脚本的方法和系统
CN106155895A (zh) * 2015-04-14 2016-11-23 阿里巴巴集团控股有限公司 脚本数据处理方法及装置
CN105740153A (zh) * 2016-02-29 2016-07-06 网易(杭州)网络有限公司 云测试方法及装置
CN106412555A (zh) * 2016-10-18 2017-02-15 网易(杭州)网络有限公司 游戏录制方法、装置及虚拟现实设备
CN107025165A (zh) * 2017-03-07 2017-08-08 腾讯科技(深圳)有限公司 游戏自动化测试方法及相关装置
CN107291571A (zh) * 2017-06-27 2017-10-24 歌尔科技有限公司 Vr一体机的调试方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831284A (zh) * 2020-07-29 2020-10-27 网易(杭州)网络有限公司 渲染调试方法、装置及设备
CN111831284B (zh) * 2020-07-29 2023-08-08 网易(杭州)网络有限公司 渲染调试方法、装置及设备
CN113626332A (zh) * 2021-08-13 2021-11-09 北京百度网讯科技有限公司 调试方法、装置、设备、存储介质以及计算机程序产品
CN113626332B (zh) * 2021-08-13 2023-03-10 北京百度网讯科技有限公司 调试方法、装置、设备、存储介质以及计算机程序产品
CN114071111A (zh) * 2021-12-27 2022-02-18 北京百度网讯科技有限公司 视频播放方法和装置
CN114071111B (zh) * 2021-12-27 2023-08-15 北京百度网讯科技有限公司 视频播放方法和装置

Also Published As

Publication number Publication date
CN108654088B (zh) 2020-12-25

Similar Documents

Publication Publication Date Title
CN106390456B (zh) 游戏中角色行为的生成方法和装置
EP3883659B1 (en) Testing as a service for cloud gaming
CN107398072B (zh) 游戏画面的显示方法和装置
CN104731441B (zh) 信息处理的方法、以及电子设备
CN108654088A (zh) 程序调试方法和装置、存储介质及电子装置
CN107302707A (zh) 场景动画的播放方法、装置及系统
CN106095235A (zh) 基于虚拟现实的控制方法和装置
CN108744516A (zh) 获取定位信息的方法和装置、存储介质及电子装置
CN107368410A (zh) 游戏引擎的性能测试方法和装置、存储介质及电子装置
CN107943707A (zh) 行为树的测试方法、装置和存储介质以及终端
CN109978975A (zh) 一种动作的迁移方法及装置、计算机设备
CN110152290A (zh) 游戏运行方法和装置、存储介质及电子装置
CN110149553A (zh) 图像的处理方法和装置、存储介质及电子装置
CN109993308A (zh) 基于云平台共享学习系统及方法、共享平台及方法、介质
CN108289246A (zh) 数据处理方法、装置、存储介质和电子装置
CN110251942A (zh) 控制游戏场景中虚拟角色的方法及装置
CN106339302B (zh) 客户端的测试方法和装置
CN109718558A (zh) 游戏信息的确定方法和装置、存储介质、电子装置
CN110339571A (zh) 事件生成方法和装置、存储介质以及电子装置
CN105975072A (zh) 识别手势动作的方法、装置及系统
CN106412614A (zh) 一种电子礼物的播放方法及装置
CN108619717A (zh) 操作对象的确定方法、装置、存储介质及电子装置
CN108144301A (zh) 虚拟对象信息的显示方法和装置、存储介质、电子装置
CN107172136B (zh) 体素数据的同步方法和装置
CN108261762A (zh) 数据同步方法和装置、存储介质及电子装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant