CN111399813B - 一种用于对象的状态切换系统和方法 - Google Patents

一种用于对象的状态切换系统和方法 Download PDF

Info

Publication number
CN111399813B
CN111399813B CN202010279763.XA CN202010279763A CN111399813B CN 111399813 B CN111399813 B CN 111399813B CN 202010279763 A CN202010279763 A CN 202010279763A CN 111399813 B CN111399813 B CN 111399813B
Authority
CN
China
Prior art keywords
module
logic state
animation
switching
state
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.)
Active
Application number
CN202010279763.XA
Other languages
English (en)
Other versions
CN111399813A (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.)
Shanghai Mihoyo Tianming Technology Co Ltd
Original Assignee
Shanghai Mihoyo Tianming Technology 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 Shanghai Mihoyo Tianming Technology Co Ltd filed Critical Shanghai Mihoyo Tianming Technology Co Ltd
Priority to CN202010279763.XA priority Critical patent/CN111399813B/zh
Publication of CN111399813A publication Critical patent/CN111399813A/zh
Application granted granted Critical
Publication of CN111399813B publication Critical patent/CN111399813B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明实施例公开了一种用于对象的状态切换系统和方法,所述状态切换系统包括逻辑状态模块、衔接模块和动画模块,其中:所述逻辑状态切换模块,用于获取待切换逻辑状态,以及根据所述待切换逻辑状态进行逻辑状态的切换;所述衔接模块,封装有所述动画模块中的执行接口,用于转发所述逻辑状态模块和/或所述动画模块的事件;所述动画模块,用于进行动画切换。本发明实施例提供的状态切换系统使用衔接模块转发逻辑状态模块和/或动画模块的事件,实现了将逻辑状态切换模块和动画模块解耦,简化了逻辑状态切换层的代码开发复杂度及执行逻辑。

Description

一种用于对象的状态切换系统和方法
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种用于对象的状态切换系统和方法。
背景技术
Unity目前主要通过动画状态机来播放动画,一个游戏对象通常需要一个逻辑管理器管理逻辑状态(移动,攻击等),需要一个动画状态机来播放逻辑状态对应的当前动画例如跑步、技能动画。逻辑管理器通常是一个循环,每一帧先更新逻辑状态,再更新动画状态,下一帧继续上述内容。当从一个逻辑状态切换到下一个状态时的流程如下:1、开始切换状态,记录下一个状态的Id,设置动画状态机的动画id,动画状态机开始做动画的融合过渡。2、逻辑管理器的循环中每一帧检动画状态机动画过渡是否完成,如果否则下一帧继续检测,直至完成。完成之后更新当前逻辑状态。3、更新下一个逻辑状态。
由此可见,现有技术中逻辑状态切换时逻辑状态和动画状态相互影响,如果当动画过渡时记录id的变量被改变,或者动画状态机出现一些情况(例如被重置或者触发优先级更高的切换覆盖原来的过渡)会导致状态切换出现问题。其次,由于逻辑状态和动画状态的更新有时序状态,需要上层逻辑实现者对底层代码实现有深刻的认识和理解。
发明内容
本发明实施例提供了一种用于对象的状态切换系统和方法,以实现将逻辑状态切换和动画切换解耦,简化逻辑状态切换层的代码开发复杂度及执行逻辑。
第一方面,本发明实施例提供了一种用于对象的状态切换系统,包括逻辑状态模块、衔接模块和动画模块,其中:
所述逻辑状态切换模块,用于获取待切换逻辑状态,以及根据所述待切换逻辑状态进行逻辑状态的切换;
所述衔接模块,封装有所述动画模块中的执行接口,用于转发所述逻辑状态模块和/或所述动画模块的事件;
所述动画模块,用于进行动画切换。
可选的,所述衔接模块具体用于:
在检测到逻辑切换指令时,触发所述动画模块进行动画切换,并接收所述动画模块返回的切换完成状态;
将接收到的动画切换完成状态发送至所述逻辑状态切换模块。
可选的,所述衔接模块具体用于:
在当前逻辑状态更新为所述待切换逻辑状态后,向所述动画模块发送动画结束指令,并接收所述动画模块发送的动画过渡完成状态;
将所述动画过渡完成状态发送至所述逻辑状态切换模块,以结束当前逻辑状态。
可选的,所述逻辑状态切换模块具体用于:
获取逻辑状态队列中队首的逻辑状态作为待切换逻辑状态。
第二方面,本发明实施例还提供了一种状态切换方法,由本发明任意实施例所提供的状态切换系统执行,其特征在于,包括:
逻辑状态切换模块从逻辑状态队列中获取待切换逻辑状态;
逻辑状态切换模块通过衔接模块触发动画模块进行动画切换,并接收所述衔接模块返回的动画切换完成状态;
逻辑状态切换模块将当前逻辑状态更新为所述待切换逻辑状态,完成状态的切换。
可选的,所述逻辑状态切换模块通过衔接模块触发动画模块进行动画切换,并接收所述衔接模块返回的动画切换完成状态,包括:
在检测到逻辑切换指令时,所述衔接模块触发所述动画模块进行动画切换;
所述动画模块执行动画切换操作,并在动画切换完成后,向所述衔接模块发送动画切换完成状态;
所述衔接模块将接收到的动画切换完成状态发送至所述逻辑状态切换模块。
可选的,所述逻辑状态切换模块将当前逻辑状态更新为所述待切换逻辑状态,完成逻辑状态的切换,包括:
所述逻辑状态切换模块将当前逻辑状态更新为所述待切换逻辑状态,调用所述衔接模块发送动画结束指令;
所述动画模块根据接收到的动画结束指令结束当前动画,并在当前动画结束过渡完成后向所述衔接模块发送动画过渡完成状态;
所述衔接模块根据将接收到的所述动画过渡完成状态发送至所述逻辑状态切换模块,结束当前逻辑状态。
可选的,在完成逻辑状态的切换之后,还包括:
将所述切换的逻辑状态放入状态池中。
可选的,所述逻辑状态切换模块从逻辑状态队列中获取待切换逻辑状态,包括:
所述逻辑状态切换模块将所述逻辑状态队列中队首的逻辑状态作为所述待切换逻辑状态。
可选的,还包括:
所述逻辑状态切换模块从状态池中获取下一个逻辑状态,并将所述逻辑状态放入所述逻辑状态队列中。
本发明实施例提供的用于对象的状态切换系统包括逻辑状态模块、衔接模块和动画模块,其中:所述逻辑状态切换模块,用于获取待切换逻辑状态,以及根据所述待切换逻辑状态进行逻辑状态的切换;所述衔接模块,封装有所述动画模块中的执行接口,用于转发所述逻辑状态模块和/或所述动画模块的事件;所述动画模块,用于进行动画切换,通过使用衔接模块转发逻辑状态模块和/或动画模块的事件,实现了将逻辑状态切换模块和动画模块解耦,简化了逻辑状态切换层的代码开发复杂度及执行逻辑。
附图说明
图1a是本发明实施例一所提供的一种状态切换系统的结构示意图;
图1b是本发明实施例一所提供一种状态切换系统的架构图;
图2是本发明实施例二所提供的一种状态切换方法的流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1a是本发明实施例一所提供的一种逻辑状态切换系统的结构示意图。本实施例可适用于对对象进行状态切换时的情形,尤其适用于对游戏对象进行状态切换时的情形。如图1a所示,所述系统包括逻辑状态模块110、衔接模块120和动画模块130,其中:
所述逻辑状态切换模块110,用于获取待切换逻辑状态,以及根据所述待切换逻辑状态进行逻辑状态的切换;
所述衔接模块120,封装有所述动画模块中的执行接口,用于转发所述逻辑状态模块和/或所述动画模块的事件;
所述动画模块130,用于进行动画切换。
在本实施例中,通过使用一个可复用的中间层SoC结构(Separation of ConcernsArchitecture),即衔接模块,来分离逻辑状态和动画状态,使逻辑状态和动画状态解耦,逻辑状态切换的代码开发汇中开发者无需知道底层动画状态的细节,只需关心上层逻辑即可。并且在逻辑初始化的时候提供了动画名的校验机制。
可选的,在逻辑状态切换模块中,可以使用队列代替单个状态机,使逻辑状态有更好的扩展性。一个实施例中,所述逻辑状态切换模块具体用于:获取逻辑状态队列中队首的逻辑状态作为待切换逻辑状态。其中,可以将逻辑状态(LogicState)作为队列中的最小单位,并提供了多个回调方法,如OnEnqueue、OnStart、OnRealStart、OnLogicEnd、OnExit等回调方法。
在衔接模块中,封装动画模块的执行接口,并且转发事件,方便断点调试。衔接模块中封装的一些动画模块常用接口包括:SetFloat、SetInt、SetBool等接口。在衔接模块中的每一种LogicState都对应一个唯一的动画模块中的AnimationHandler。AnimatorHandler当中通过包含AnimationStateInfo的字典记录了Animator的动画状态的一些数据,例如name,hashCode等,并且采用一个字典缓存字符串转hashCode,以使后续调用不需要计算哈希值。其id和LogicState里面的id一一对应,每一个LogicState对应一个AnimationHandler。一一对应的id使得在逻辑初始化时即可进行动画名的校验。
可选的,AnimationHandler可以有三种子类:
1、SingleAniHandler
即单一动画的Handler,一个逻辑状态对应一个Animator的State,开始和结束动画名都是一样的。
2、SequentialAniHandler
即串行动画,可以理解为一个逻辑状态对应了好几个连续串行的动画状态,例如起手,keep,后摇等。通常在keep阶段进入RealLogicStart。
3、SubStatemachineHandler
即子状态机的Handler,当Enter和Exit子状态时触发对应回调。
在本发明的一种实施方式中,所述衔接模块具体用于:在检测到逻辑切换指令时,触发所述动画模块进行动画切换,并接收所述动画模块返回的切换完成状态;将接收到的切换完成状态发送至所述逻辑状态切换模块。
可选的,逻辑切换指令可以为逻辑状态切换模块触发。衔接模块检测到逻辑状态切换模块触发的逻辑状态切换指令后,通过逻辑状态中的id确定动画id,并根据动画id触发动画模块进行动画切换,并将接收到动画模块返回的切换完成状态发送至逻辑状态切换模块,以使逻辑状态切换模块执行真正的逻辑切换。
在本发明的一种实施方式中,所述衔接模块具体用于:在当前逻辑状态更新为所述待切换逻辑状态后,向所述动画模块发送动画结束指令,并接收所述动画模块发送的动画过渡完成状态;将所述动画过渡完成状态发送至所述逻辑状态切换模块,以结束当前逻辑状态。
可选的,逻辑状态切换模块执行完真正的逻辑切换后,通过衔接模块向动画模块发送动画结束指令,并根据动画模块的响应结束当前逻辑状态。
动画模块可以扩展自Unity原生的StateMachineBehaviour作为Asset挂在动画模块上,通过动画模块触发回调操作衔接模块中的Handler,可以理解为是挂在Animator上面的动画脚本。主要作用是当Animator的动画状态发生改变时通过不同的事件向外通知动画状态的改变。
可选的,动画模块中进入一个动画状态的流程可以为:预进入→进入→Update→预退出,在进入和退出State的时候,清理first和last标记。提供预退出和预进入的回调,可以更加精确的控制状态机的过渡(Transition)表现。
图1b是本发明实施例一所提供一种状态切换系统的架构图。如图1b所示,originalStates中存储有不同的原始LogicState对象(出生,攻击,移动等)。状态切换系统包括逻辑状态模块(LogicStateQueue)、衔接模块(AnimationController)和动画模块(MonoAnimationSMB)。
参照图1b,一个LogicState的生命周期流程可以为:
1)从池pool里拿出下一个逻辑对象状态LogicState放入队列Queue中,等待这个对象排到队首。
2、在队首的对象执行Start,通过AnimationController触发最下层MonoAnimationSMB的动画切换。
3)MonoAnimationSMB中的Animator动画切换完成时通过事件Event的方式通知上层,上层开始执行真正的开始逻辑LogicRealStart。
4)LogicState执行过程中的Update更新。
5)当前状态结束时LogicEnd,调用FinishHandler,如果Handler有触发器Trigger,就通过触发器结束Animator的当前动画,当前动画的结束过渡完成后通过StateExit事件通知上层,如果没有触发器Trigger则直接通知上层LogicState当前逻辑状态结束。
6)当前的LogicState执行完成,从队列中出去来回收放入池中,等待下次使用。
本发明实施例提供的用于对象的状态切换系统包括逻辑状态模块、衔接模块和动画模块,其中:所述逻辑状态切换模块,用于获取待切换逻辑状态,以及根据所述待切换逻辑状态进行逻辑状态的切换;所述衔接模块,封装有所述动画模块中的执行接口,用于转发所述逻辑状态模块和/或所述动画模块的事件;所述动画模块,用于进行动画切换,通过使用衔接模块转发逻辑状态模块和/或动画模块的事件,实现了将逻辑状态切换模块和动画模块解耦,简化了逻辑状态切换层的代码开发复杂度及执行逻辑。
实施例二
图2是本发明实施例二所提供的一种状态切换方法的流程图。本实施例可适用于对对象进行状态切换时的情形,尤其适用于对游戏对象进行状态切换时的情形。该方法可以由逻辑状态切换装置执行,该逻辑状态切换装置可以采用软件和/或硬件的方式实现,例如,该逻辑状态切换装置可配置于逻辑状态切换设备中。如图1所示,所述方法包括:
S110、逻辑状态切换模块从逻辑状态队列中获取待切换逻辑状态。
在本实施例中,使用队列代替现有技术中的单个状态机,相对于现有技术来说,有更好的扩展性。逻辑状态切换模块从状态池中获取下一个逻辑对象状态,并将逻辑对象状态放入逻辑状态队列中,等待这个对象排到队首。
一个实施例中,所述逻辑状态切换模块从逻辑状态队列中获取待切换逻辑状态,包括:所述逻辑状态切换模块将所述逻辑状态队列中队首的逻辑状态作为所述待切换逻辑状态。示例性的,若逻辑状态队列中队首的逻辑状态为“attack”,则将“attack”作为当前待切换逻辑状态。
S120、逻辑状态切换模块通过衔接模块触发动画模块进行动画切换,并接收所述衔接模块返回的动画切换完成状态。
在本实施例中,在队首的对象执行Start,通过衔接模块触发最下层的动画模块进行动画切换。
一个实施例中,所述逻辑状态切换模块通过衔接模块触发动画模块进行动画切换,并接收所述衔接模块返回的动画切换完成状态,包括:在检测到逻辑切换指令时,所述衔接模块触发所述动画模块进行动画切换;所述动画模块执行动画切换操作,并在动画切换完成后,向所述衔接模块发送动画切换完成状态;所述衔接模块将接收到的动画切换完成状态发送至所述逻辑状态切换模块。
参考图1b,在队首的对象执行Start,通过AnimationController触发最下层MonoAnimationSMB的动画切换,并在MonoAnimationSMB中的Animator动画切换完成时通过事件Event的方式通知逻辑状态切换模块,逻辑状态切换模块开始执行真正的开始逻辑LogicRealStart。
S130、逻辑状态切换模块将当前逻辑状态更新为所述待切换逻辑状态,完成状态的切换。
逻辑状态切换模块将逻辑状态更新为待切换逻辑状态后,结束当前动画,完成状态的切换。
一个实施例中,所述逻辑状态切换模块将当前逻辑状态更新为所述待切换逻辑状态,完成逻辑状态的切换,包括:所述逻辑状态切换模块将当前逻辑状态更新为所述待切换逻辑状态,调用所述衔接模块发送动画结束指令;所述动画模块根据接收到的动画结束指令结束当前动画,并在当前动画结束过渡完成后向所述衔接模块发送动画过渡完成状态;所述衔接模块根据将接收到的所述动画过渡完成状态发送至所述逻辑状态切换模块,结束当前逻辑状态。
参考图1b,当前状态结束时LogicEnd,调用FinishHandler,如果Handler有触发器Trigger,就通过触发器结束Animator的当前动画,当前动画的结束过渡完成后通过StateExit事件通知上层,如果没有触发器Trigger则直接通知上层LogicState当前逻辑状态结束。
在上述方案的基础上,在完成逻辑状态的切换之后,还包括:将所述切换的逻辑状态放入状态池中。可选的,当前的逻辑状态执行完成后,从队列中出去来回收放入池中,等待下次使用。
本发明实施例通过逻辑状态切换模块从逻辑状态队列中获取待切换逻辑状态;逻辑状态切换模块通过衔接模块触发动画模块进行动画切换,并接收所述衔接模块返回的动画切换完成状态;逻辑状态切换模块将当前逻辑状态更新为所述待切换逻辑状态,完成状态的切换,通过使用衔接模块转发逻辑状态模块和/或动画模块的事件,实现了将逻辑状态切换模块和动画模块解耦,简化了逻辑状态切换层的代码开发复杂度及执行逻辑。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (4)

1.一种用于对象的状态切换系统,其特征在于,包括逻辑状态切换模块、衔接模块和动画模块,其中:
所述逻辑状态切换模块,用于获取待切换逻辑状态,以及根据所述待切换逻辑状态进行逻辑状态的切换;
所述衔接模块,封装有所述动画模块中的执行接口,用于转发所述逻辑状态切换模块和/或所述动画模块的事件;
所述动画模块,用于进行动画切换;
所述逻辑状态切换模块具体用于:获取逻辑状态队列中队首的逻辑状态作为待切换逻辑状态;
所述衔接模块具体用于:
在检测到逻辑切换指令时,触发所述动画模块进行动画切换,并接收所述动画模块返回的切换完成状态;
将接收到的动画切换完成状态发送至所述逻辑状态切换模块;
在当前逻辑状态更新为所述待切换逻辑状态后,向所述动画模块发送动画结束指令,并接收所述动画模块发送的动画过渡完成状态;
将所述动画过渡完成状态发送至所述逻辑状态切换模块,以结束当前逻辑状态。
2.一种状态切换方法,由权利要求1所述的状态切换系统执行,其特征在于,包括:
逻辑状态切换模块从逻辑状态队列中获取待切换逻辑状态;
逻辑状态切换模块通过衔接模块触发动画模块进行动画切换,并接收所述衔接模块返回的动画切换完成状态;
逻辑状态切换模块将当前逻辑状态更新为所述待切换逻辑状态,完成状态的切换;
所述逻辑状态切换模块从逻辑状态队列中获取待切换逻辑状态,包括:所述逻辑状态切换模块将所述逻辑状态队列中队首的逻辑状态作为所述待切换逻辑状态;
所述逻辑状态切换模块通过衔接模块触发动画模块进行动画切换,并接收所述衔接模块返回的动画切换完成状态,包括:
在检测到逻辑切换指令时,所述衔接模块触发所述动画模块进行动画切换;
所述动画模块执行动画切换操作,并在动画切换完成后,向所述衔接模块发送动画切换完成状态;
所述衔接模块将接收到的动画切换完成状态发送至所述逻辑状态切换模块;
所述逻辑状态切换模块将当前逻辑状态更新为所述待切换逻辑状态,完成逻辑状态的切换,包括:
所述逻辑状态切换模块将当前逻辑状态更新为所述待切换逻辑状态,调用所述衔接模块发送动画结束指令;
所述动画模块根据接收到的动画结束指令结束当前动画,并在当前动画结束过渡完成后向所述衔接模块发送动画过渡完成状态;
所述衔接模块根据将接收到的所述动画过渡完成状态发送至所述逻辑状态切换模块,结束当前逻辑状态。
3.根据权利要求2所述的方法,其特征在于,在完成逻辑状态的切换之后,还包括:
将所述切换的逻辑状态放入状态池中。
4.根据权利要求2所述的方法,其特征在于,还包括:
所述逻辑状态切换模块从状态池中获取下一个逻辑状态,并将所述逻辑状态放入所述逻辑状态队列中。
CN202010279763.XA 2020-04-10 2020-04-10 一种用于对象的状态切换系统和方法 Active CN111399813B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010279763.XA CN111399813B (zh) 2020-04-10 2020-04-10 一种用于对象的状态切换系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010279763.XA CN111399813B (zh) 2020-04-10 2020-04-10 一种用于对象的状态切换系统和方法

Publications (2)

Publication Number Publication Date
CN111399813A CN111399813A (zh) 2020-07-10
CN111399813B true CN111399813B (zh) 2023-08-29

Family

ID=71433186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010279763.XA Active CN111399813B (zh) 2020-04-10 2020-04-10 一种用于对象的状态切换系统和方法

Country Status (1)

Country Link
CN (1) CN111399813B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113750537A (zh) * 2021-09-08 2021-12-07 福建天晴在线互动科技有限公司 一种编辑游戏状态迁移的方法及其系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021953A (zh) * 2007-02-15 2007-08-22 北京航空航天大学 基于高层状态机的三维动画的生成方法
CN103019725A (zh) * 2012-12-19 2013-04-03 四川长虹电器股份有限公司 基于3d模型的界面逻辑控制方法
CN106887029A (zh) * 2016-06-14 2017-06-23 阿里巴巴集团控股有限公司 动画控制方法、装置及终端
CN107357592A (zh) * 2017-07-27 2017-11-17 郑州云海信息技术有限公司 一种基于状态机机制的事件处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021953A (zh) * 2007-02-15 2007-08-22 北京航空航天大学 基于高层状态机的三维动画的生成方法
CN103019725A (zh) * 2012-12-19 2013-04-03 四川长虹电器股份有限公司 基于3d模型的界面逻辑控制方法
CN106887029A (zh) * 2016-06-14 2017-06-23 阿里巴巴集团控股有限公司 动画控制方法、装置及终端
CN107357592A (zh) * 2017-07-27 2017-11-17 郑州云海信息技术有限公司 一种基于状态机机制的事件处理方法及装置

Also Published As

Publication number Publication date
CN111399813A (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
US10776147B2 (en) Orchestration engine for migrating application data and application services using migration steps in migration component
US7545381B2 (en) Interruptible GPU and method for context saving and restoring
Black et al. SystemC: From the ground up
US7673181B1 (en) Detecting race conditions in computer programs
US7583268B2 (en) Graphics pipeline precise interrupt method and apparatus
US8239838B2 (en) Kernel-aware debugging system, medium, and method
JPH07225693A (ja) 異なるアドレス空間にわたってスレッド事象を処理する方法
WO2009146612A1 (zh) 嵌入式c语言环境下异常处理方法及装置
EP3662372B1 (en) Tentative execution of code in a debugger
TW201234175A (en) Controlling generation of debug exceptions
CN109731334B (zh) 状态的切换方法和装置、存储介质、电子装置
CN105074656B (zh) 管理并发谓词表达式的方法和装置
CN110955598B (zh) 一种内核态程序的断点处理方法及装置
CN111399813B (zh) 一种用于对象的状态切换系统和方法
CN110892384B (zh) 对处理器未定义行为依赖的重放时间行程跟踪
CN111309294B (zh) 一种业务处理方法、装置及电子设备和存储介质
JP2000215070A (ja) ロバスト且つ回復可能なプロセス間ロック
CA2904253A1 (en) Computer system using in-service software upgrade
CN114979029B (zh) 一种虚拟机器人的控制方法、装置、设备及存储介质
CN110175019A (zh) 一种基于中断序列图的中断驱动系统验证方法
CN107783854B (zh) 处理进程的方法及其装置
JP2013513143A (ja) 照会リネージの自動生成のための方法、システム、およびコンピュータ・プログラム
GB2522483A (en) Method and system for entering information
US8896610B2 (en) Error recovery operations for a hardware accelerator
US20240176456A1 (en) Interaction method and apparatus, and storage medium

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