JP2019185648A - Debugger, simulation device, and program for debugging - Google Patents

Debugger, simulation device, and program for debugging Download PDF

Info

Publication number
JP2019185648A
JP2019185648A JP2018079046A JP2018079046A JP2019185648A JP 2019185648 A JP2019185648 A JP 2019185648A JP 2018079046 A JP2018079046 A JP 2018079046A JP 2018079046 A JP2018079046 A JP 2018079046A JP 2019185648 A JP2019185648 A JP 2019185648A
Authority
JP
Japan
Prior art keywords
touch
information
list
management unit
scene
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
JP2018079046A
Other languages
Japanese (ja)
Other versions
JP6567125B1 (en
Inventor
信勇 許
Xin Yong Xu
信勇 許
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.)
KLab Inc
Original Assignee
KLab Inc
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 KLab Inc filed Critical KLab Inc
Priority to JP2018079046A priority Critical patent/JP6567125B1/en
Application granted granted Critical
Publication of JP6567125B1 publication Critical patent/JP6567125B1/en
Publication of JP2019185648A publication Critical patent/JP2019185648A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

To provide debug technology for efficiently debugging automatically.SOLUTION: In a debugger, a scene object management unit 200 generates touch information pertaining to a touch object on the basis of generation source information. The touch information includes at least the position of the touch object, touch hit determination (i.e., touch range) and the type of touch event (e.g., tap, drag, pin) among the information included in the generation source information. The scene object management unit 200 forms the touch information generated this way into a list, and debugs a program on the basis of a touch list that is formed into a list.SELECTED DRAWING: Figure 1

Description

本発明は、デバッグ装置、シミュレーション装置及びデバッグ用のプログラムに関する。   The present invention relates to a debugging device, a simulation device, and a debugging program.

ソフトウェア開発において、製品を出荷する前のデバッグ作業というのは、非常に重要な工程の1つである(例えば、特許文献1参照)。特に、製品出荷後、ユーザからの指摘によってバグが発見された場合には、そのソフトだけではなく、ソフトを製造し、販売している会社の信用を毀損することにもなる。   In software development, debugging work before shipping a product is one of very important steps (for example, see Patent Document 1). In particular, when a bug is found by user's indication after product shipment, not only the software but also the trust of the company that manufactures and sells the software is damaged.

特開平8−137713号公報JP-A-8-137713

しかしながら、コンシューマゲームなどのソフトウェアにおいては、近年、益々高度複雑化しており、プログラムが肥大化する傾向にある。このため、発売までに十分なチェックができず、ユーザからの指摘によってバグが発見される可能性が高くなっているのが現状である。また、現状のデバッグ作業は、人手で対応する人海戦術であり、膨大なコストがかかるという問題もある。   However, software such as consumer games has become increasingly complex in recent years, and programs tend to be enlarged. For this reason, the current situation is that sufficient checks cannot be made before release, and there is a high possibility that bugs will be found by user's indication. In addition, the current debugging work is a human naval tactic that is handled manually, and there is also a problem that it takes enormous costs.

本発明は、以上説明した事情を鑑みてなされたものであり、効率よく自動デバッグするためのデバッグ技術を提供することを目的とする。   The present invention has been made in view of the above-described circumstances, and an object thereof is to provide a debugging technique for efficient automatic debugging.

本発明の一態様に係るデバッグ装置は、デバッグ対象となるプログラムに基づき、オブジェクトを作成する作成部と、作成されたオブジェクトがタッチオブジェクトである場合には、タッチオブジェクトを特定するためのタッチ情報を生成する第1情報生成部と、生成されたタッチ情報をリスト化したタッチリストを生成する第1リスト生成部と、タッチリストに基づいてプログラムのデバッグを行うデバッグ実行部とを具備することを要旨とする。   A debugging device according to an aspect of the present invention includes a creation unit that creates an object based on a program to be debugged, and touch information for specifying the touch object when the created object is a touch object. A first information generation unit that generates, a first list generation unit that generates a touch list that lists the generated touch information, and a debug execution unit that debugs a program based on the touch list And

本発明によれば、効率よく自動デバッグすることが可能となる。   According to the present invention, automatic debugging can be efficiently performed.

デバッグ装置の機能概要を示すブロック図である。It is a block diagram which shows the function outline | summary of a debugging apparatus. オブジェクトの初期化処理を示すフローチャートである。It is a flowchart which shows the initialization process of an object. オブジェクトの削除処理を示すフローチャートである。It is a flowchart which shows the deletion process of an object. タッチ情報の生成処理を示すフローチャートである。It is a flowchart which shows the production | generation process of touch information. タッチオブジェクトのスキップ条件の生成処理を示すフローチャートである。It is a flowchart which shows the production | generation process of the skip condition of a touch object. 擬似的タッチオブジェクト用のタッチ情報の生成処理を示すフローチャートである。It is a flowchart which shows the production | generation process of the touch information for pseudo touch objects. モーダルリストが作成されてから削除されるまでのプロセスを模式的に示した図である。It is the figure which showed typically the process from a modal list being created until it is deleted.

添付図面を参照して、本発明の好適な実施形態について説明する。なお、実施形態の各機能は、所定のソフトウェアがコンピュータ及び周辺機器を制御することで実現される。なお、本明細書では、各機能や各処理に対応するブロック(「〜部」など)を想定して説明するため、各ブロックに対して、各ハードウェアやソフトウェア要素は1対1には対応しない。   A preferred embodiment of the present invention will be described with reference to the accompanying drawings. Note that each function of the embodiment is realized by predetermined software controlling the computer and peripheral devices. Note that in this specification, description is made assuming a block corresponding to each function and each process (such as “˜unit”), and therefore each hardware and software element corresponds to each block in a one-to-one correspondence. do not do.

本実施形態を実現するためのコンピュータには、プログラムをデバッグするするためにデバッグ用のプログラムがインストールされている。コンピュータは、CPU、ROM、RAM等のほか、キーボードやマウスなどの入力装置、ハードディスク装置などの外部記憶装置、液晶パネルなどの出力装置、必要な入出力制御回路なども含むが、これに限定する趣旨ではない。   A computer for realizing the present embodiment is installed with a debugging program for debugging the program. In addition to the CPU, ROM, RAM, etc., the computer includes, but is not limited to, an input device such as a keyboard and a mouse, an external storage device such as a hard disk device, an output device such as a liquid crystal panel, and a necessary input / output control circuit. Not the purpose.

また、実施形態を実現するソフトウェアの形式は、典型的には、OS上の応用ソフトウェアが考えられるが、本発明が実施できる限り、OSを用いない、ソフトウェアをインタプリタで実行するなど自由に変更し得る。   In addition, the form of software that implements the embodiment is typically application software on the OS. However, as long as the present invention can be implemented, the OS is not used, and the software can be freely changed by executing the software on an interpreter. obtain.

また、本明細書において「入力」とは、外部からの入力のほか、ファイルなどからの入力も含む。同様に、「出力」とは、外部への出力のほか、ファイルなどへの出力も含む。   In this specification, “input” includes not only external input but also input from a file or the like. Similarly, “output” includes not only output to the outside but also output to a file or the like.

A.本実施形態
図1は、本実施形態に係るデバッグ装置100の機能概要を示すブロック図である。
デバッグ装置100は、デバッグ対象となるプログラムのオブジェクト(以下、単に「オブジェクト」という。)に関して、シーンオブジェクト管理部200と制御オブジェクト管理部300とを備える。
A. First Embodiment FIG. 1 is a block diagram showing an outline of functions of a debugging device 100 according to the present embodiment.
The debugging apparatus 100 includes a scene object management unit 200 and a control object management unit 300 for an object of a program to be debugged (hereinafter simply referred to as “object”).

シーンオブジェクト管理部200は、デバッグ対象となるプログラムの基本画面(いわゆる「シーン」)を管理するものであり、シーンの初期化フェーズ、シーンの実行フェーズ、シーンの終了フェーズにおいて、それぞれ後述する処理を実行する。なお、シーンを遷移する際には、次に表示すべきシーンが初期化されるとともに、現在表示されているシーンが破棄される。
シーンには、様々な種類のオブジェクトが存在し、その一部にはタッチオブジェクト(すなわち、ユーザのタッチ操作に応じて次のシーン等に遷移するオブジェクト)が含まれる。タッチオブジェクトの例としては、ボタンやバナーなどが挙げられるが、これに限る趣旨ではない。
The scene object management unit 200 manages a basic screen (so-called “scene”) of a program to be debugged, and performs processes described later in a scene initialization phase, a scene execution phase, and a scene end phase, respectively. Execute. When a scene is changed, the scene to be displayed next is initialized and the currently displayed scene is discarded.
There are various types of objects in the scene, and some of them include touch objects (that is, objects that transition to the next scene or the like in response to a user's touch operation). Examples of touch objects include buttons and banners, but are not limited to this.

[シーンオブジェクト管理部200]
[シーンの初期化フェーズからシーンの実行フェーズ]
図2は、シーンオブジェクト管理部200によって実行されるオブジェクトの初期化処理を示すフローチャートである。
[Scene Object Manager 200]
[From scene initialization phase to scene execution phase]
FIG. 2 is a flowchart showing object initialization processing executed by the scene object management unit 200.

シーンオブジェクト管理部200は、まず、モーダル状態であるか否かを判断する(ステップS1)。ここで、モーダル状態とは、操作対象アプリケーション(ここでは、デバッグ対象となるプログラム)が、限定的な入力だけを受け付けるモードに一時的に遷移している状態を意味し、例えば操作対象アプリケーションがモーダルウインドウやモーダルダイアログを開いている状態等が該当する。   The scene object management unit 200 first determines whether or not it is in a modal state (step S1). Here, the modal state means a state in which the operation target application (in this case, the program to be debugged) is temporarily transiting to a mode that accepts only limited input. For example, the operation target application is modal. For example, a window or modal dialog is open.

シーンオブジェクト管理部200は、モーダル状態であると判断すると(ステップS1;YES)、制御オブジェクト管理部300に対してモーダル開始通知を行い(ステップS2)、ステップS3に進み、モーダルウインドウ等のオブジェクトを作成する。なお、モーダル開始通知が行われた後の処理については、後述の説明においてその詳細を明らかにする。   When the scene object management unit 200 determines that the state is a modal state (step S1; YES), the scene object management unit 200 notifies the control object management unit 300 of a modal start (step S2), proceeds to step S3, and selects an object such as a modal window. create. Note that details of the processing after the modal start notification is made will be made clear in the following description.

一方、シーンオブジェクト管理部(作成部)200は、モーダル状態でないと判断すると(ステップS1;NO)、当該シーンのオブジェクトを作成する(ステップS3)。ここで、シーンオブジェクト管理部200は、作成するオブジェクトがタッチオブジェクトである場合には、タッチオブジェクトを作成する旨を制御オブジェクト管理部300に通知する(タッチオブジェクトの作成通知)。   On the other hand, when the scene object management unit (creating unit) 200 determines that it is not in a modal state (step S1; NO), it creates an object of the scene (step S3). Here, when the object to be created is a touch object, the scene object management unit 200 notifies the control object management unit 300 that the touch object is to be created (touch object creation notification).

シーンオブジェクト管理部200は、当該シーンのオブジェクトを作成すると、当該シーンのオブジェクトを全て作成したか否かを判断する(ステップS4)。シーンオブジェクト管理部200は、当該シーンにおいて未だ作成されていないオブジェクト(すなわち、次のオブジェクト)があると判断すると(ステップS4;NO)、ステップS3に戻り、当該シーンのオブジェクトの作成を継続する。シーンオブジェクト管理部200は、ステップS3及びステップS4を繰り返し実行する間に、当該シーンおいて全てのオブジェクトを作成したと判断すると(ステップS4;YES)、制御オブジェクト管理部300に対してオブジェクトの初期化処理の完了通知を行い(ステップS5)、終了する。   When the scene object management unit 200 creates the object of the scene, the scene object management unit 200 determines whether all the objects of the scene have been created (step S4). When the scene object management unit 200 determines that there is an object that has not yet been created in the scene (that is, the next object) (step S4; NO), the scene object management unit 200 returns to step S3 and continues creating the object of the scene. If the scene object management unit 200 determines that all objects have been created in the scene during the repeated execution of steps S3 and S4 (step S4; YES), the scene object management unit 200 initializes the objects to the control object management unit 300. Notification is made (step S5), and the process ends.

[シーンの実行フェーズからシーンの終了フェーズ]
図3は、シーンオブジェクト管理部200によって実行されるオブジェクトの削除処理を示すフローチャートである。
[Scene execution phase to scene end phase]
FIG. 3 is a flowchart showing object deletion processing executed by the scene object management unit 200.

シーンオブジェクト管理部200は、例えばシーンの遷移タイミングが到来すると、当該シーンにおいて作成したオブジェクトの削除を開始する(ステップS1A)。ここで、シーンオブジェクト管理部200は、削除したオブジェクトがタッチオブジェクトである場合には、タッチオブジェクトを削除する旨を制御オブジェクト管理部300に通知する(タッチオブジェクトの削除通知)。   For example, when the scene transition timing comes, the scene object management unit 200 starts deleting an object created in the scene (step S1A). Here, when the deleted object is a touch object, the scene object management unit 200 notifies the control object management unit 300 that the touch object is deleted (touch object deletion notification).

シーンオブジェクト管理部200は、当該シーンのオブジェクトを削除すると、当該シーンのオブジェクトを全て削除したか否かを判断する(ステップS2A)。シーンオブジェクト管理部200は、当該シーンにおいて未だ削除していないオブジェクト(すなわち、次のオブジェクト)があると判断すると(ステップS2A;NO)、ステップS1Aに戻り、当該シーンのオブジェクトの削除を継続する。シーンオブジェクト管理部200は、ステップS1A及びステップS2Aを繰り返し実行する間に、当該シーンおいて全てのオブジェクトを削除したと判断すると(ステップS2A;YES)、現時点においてモーダル状態であるか否かを判断する(ステップS3A)。   When the scene object management unit 200 deletes the object of the scene, the scene object management unit 200 determines whether all the objects of the scene have been deleted (step S2A). When the scene object management unit 200 determines that there is an object that has not yet been deleted in the scene (that is, the next object) (step S2A; NO), the scene object management unit 200 returns to step S1A and continues to delete the object of the scene. If the scene object management unit 200 determines that all objects have been deleted in the scene while repeatedly executing step S1A and step S2A (step S2A; YES), the scene object management unit 200 determines whether the current state is a modal state. (Step S3A).

シーンオブジェクト管理部200は、現時点においてモーダル状態であると判断すると(ステップS3A;YES)、制御オブジェクト管理部300に対してモーダル終了通知を行う(ステップS4A)。   When the scene object management unit 200 determines that the current state is a modal state (step S3A; YES), the scene object management unit 200 notifies the control object management unit 300 of a modal end (step S4A).

一方、シーンオブジェクト管理部200は、現時点においてモーダル状態でないと判断すると(ステップS3A;NO)、制御オブジェクト管理部300に対して当該シーンの終了通知を通知し(ステップS5A)、終了する。   On the other hand, when the scene object management unit 200 determines that the current state is not a modal state (step S3A; NO), the scene object management unit 200 notifies the control object management unit 300 of the end notification of the scene (step S5A) and ends.

[制御オブジェクト管理部300]
図4は、制御オブジェクト管理部300によって実行されるタッチ情報の生成処理を示すフローチャートである。
制御オブジェクト管理部300は、シーンオブジェクト管理部200からの当該シーンのタッチオブジェクトの作成通知を受け取ると、作成されたタッチオブジェクトから、タッチ情報の生成に必要な情報を取得する(ステップS1B)。詳述すると、制御オブジェクト管理部300は、タッチオブジェクトの位置、大きさ、タッチのあたり判定(すなわちタッチ範囲)、タッチイベントの種類(例えば、タップ、ドラッグ、ピンなど)、タッチイベントの内容(例えば、課金に関する情報提示や、キャラクタのアイテム変更など)をあらわす情報(以下、「生成元情報」という。)を、タッチオブジェクトから取得する。
[Control Object Management Unit 300]
FIG. 4 is a flowchart showing touch information generation processing executed by the control object management unit 300.
When the control object management unit 300 receives the touch object creation notification of the scene from the scene object management unit 200, the control object management unit 300 acquires information necessary for generating touch information from the created touch object (step S1B). More specifically, the control object management unit 300 determines the position and size of the touch object, the touch hit determination (that is, the touch range), the type of touch event (for example, tap, drag, pin, etc.), and the content of the touch event (for example, , Information representing billing information change, character item change, and the like (hereinafter referred to as “generation source information”) is acquired from the touch object.

制御オブジェクト管理部300は、生成元情報に基づき、当該タッチオブジェクトが、タッチオブジェクトのスキップ条件に合致するか否かを判断する(ステップS2B)。なお、「タッチオブジェクトのスキップ条件」とは、そのタッチオブジェクトを実行しない(すなわち、スキップする)と判断するための条件であり、詳細は後述する。   Based on the generation source information, the control object management unit 300 determines whether or not the touch object matches the touch object skip condition (step S2B). The “touch object skip condition” is a condition for determining that the touch object is not executed (that is, skipped), and will be described in detail later.

シーンオブジェクト管理部200は、生成元情報に基づき、当該タッチオブジェクトが、タッチオブジェクトのスキップ条件に合致すると判断すると(ステップS2B;YES)、以下に示すステップを実行することなく、タッチ情報の生成処理を終了する。   If the scene object management unit 200 determines that the touch object meets the skip condition of the touch object based on the generation source information (step S2B; YES), the touch object generation process does not execute the following steps. Exit.

一方、シーンオブジェクト管理部(第1情報生成部)200は、生成元情報に基づき、当該タッチオブジェクトがタッチオブジェクトのスキップ条件に合致しないと判断すると(ステップS2B;NO)、当該タッチオブジェクトのタッチ情報を生成する(ステップS3B)。タッチ情報には、上記生成元情報に含まれる情報のうち、少なくともタッチオブジェクトの位置、タッチのあたり判定(すなわちタッチ範囲)、タッチイベントの種類(例えば、タップ、ドラッグ、ピンなど)が含まれる。もっとも、タッチ情報は拡張可能であり、その他の情報を含めることでより複雑な制御が可能となる。   On the other hand, when the scene object management unit (first information generation unit) 200 determines that the touch object does not match the skip condition of the touch object based on the generation source information (step S2B; NO), the touch information of the touch object Is generated (step S3B). The touch information includes at least the position of the touch object, the touch determination (that is, the touch range), and the type of touch event (for example, tap, drag, pin, etc.) among the information included in the generation information. However, touch information can be expanded, and more complicated control is possible by including other information.

シーンオブジェクト管理部(第1リスト生成部)200は、タッチ情報を生成すると、生成したタッチ情報をリスト化したタッチリストを生成(登録)し(ステップS4B)、処理を終了する。   When the scene object management unit (first list generation unit) 200 generates touch information, the scene object management unit (first list generation unit) 200 generates (registers) a touch list in which the generated touch information is listed (step S4B), and ends the process.

図5は、制御オブジェクト管理部300によって実行されるタッチオブジェクトのスキップ条件の生成処理を示すフローチャートである。
制御オブジェクト管理部300は、デバッグ用のプログラムの定義ファイルから、スキップすべきタッチオブジェクトのレコード(以下、「スキップタッチオブジェクト・レコード」という。)を読み込む(ステップS1C)。スキップタッチオブジェクト・レコードとして、例えばスキップ条件の名称と、スキップ条件の内容(タッチオブジェクトの名前や、タッチオブジェクトの位置など)とが対応づけて登録される場合を想定するが、これに限定する趣旨ではない。
FIG. 5 is a flowchart showing a touch object skip condition generation process executed by the control object management unit 300.
The control object management unit 300 reads a record of the touch object to be skipped (hereinafter referred to as “skip touch object record”) from the definition file of the debugging program (step S1C). As the skip touch object record, for example, it is assumed that the name of the skip condition and the contents of the skip condition (the touch object name, the touch object position, etc.) are registered in association with each other. is not.

制御オブジェクト管理部(設定部)300は、スキップタッチオブジェクト・レコードを分析し、スキップ条件が「タッチオブジェクトの名前」で規定されたものであるか否かを判断する(ステップS2C)。制御オブジェクト管理部300は、スキップ条件がタッチオブジェクトの名前(例えば、第1キャラクタオブジェクトなど)で規定されている場合には(ステップS2C;YES)、このタッチオブジェクトの名前を、スキップすべきタッチオブジェクトを特定するためのスキップリストに登録(追加)し(ステップS3C)、次のスキップタッチオブジェクト・レコードがあるか否かを判断する(ステップS7C)。制御オブジェクト管理部300は、次のスキップタッチオブジェクト・レコードがある場合には(ステップS7C;YES)、ステップS2Cに戻り、上述した処理を実行する一方、次のスキップタッチオブジェクト・レコードがない場合には(ステップS7C;NO)、処理を終了する。   The control object management unit (setting unit) 300 analyzes the skip touch object record and determines whether or not the skip condition is specified by “name of touch object” (step S2C). When the skip condition is defined by the name of the touch object (for example, the first character object) (step S2C; YES), the control object management unit 300 uses the touch object name to be skipped as a touch object. Is registered (added) to the skip list for specifying (step S3C), and it is determined whether or not there is a next skip touch object record (step S7C). If there is a next skip touch object record (step S7C; YES), the control object management unit 300 returns to step S2C and executes the above-described process, but does not have a next skip touch object record. (Step S7C; NO), the process ends.

ここで、制御オブジェクト管理部(設定部)300は、スキップ条件が「タッチオブジェクトの名前」で規定されたものでない場合には(ステップS2C;NO)、スキップ条件が「タッチオブジェクトの位置」で規定されたものであるか否かを判断する(ステップS4C)。制御オブジェクト管理部300は、スキップ条件がタッチオブジェクトの位置(例えば、ウインドウの右端の所定エリアなど)で規定されている場合には(ステップS4C;YES)、このタッチオブジェクトのエリアを、上述したスキップリストに追加し(ステップS5C)、次のスキップタッチオブジェクト・レコードがあるか否かを判断する(ステップS7C)。制御オブジェクト管理部300は、次のスキップタッチオブジェクト・レコードがある場合には(ステップS7C;YES)、ステップS2Cに戻り、上述した処理を実行する一方、次のスキップタッチオブジェクト・レコードがない場合には(ステップS7C;NO)、処理を終了する。   Here, if the skip condition is not defined by “name of touch object” (step S2C; NO), the control object management unit (setting unit) 300 defines the skip condition by “position of touch object”. It is determined whether it has been done (step S4C). When the skip condition is defined by the position of the touch object (for example, a predetermined area at the right end of the window) (step S4C; YES), the control object management unit 300 skips the touch object area as described above. It is added to the list (step S5C), and it is determined whether or not there is a next skip touch object record (step S7C). If there is a next skip touch object record (step S7C; YES), the control object management unit 300 returns to step S2C and executes the above-described process, but does not have a next skip touch object record. (Step S7C; NO), the process ends.

ここで、制御オブジェクト管理部300は、スキップ条件が「タッチオブジェクトの名前」でも「タッチオブジェクトの位置」でもない場合には、定義ファイルのスキップタッチオブジェクト・レコード等に誤りが生じていると判断し、エラーが発生している旨の報告を行う(ステップS2C→ステップS4C→ステップS6C)。そして、制御オブジェクト管理部300は、次のスキップタッチオブジェクト・レコードがあるか否かを判断する(ステップS7C)。制御オブジェクト管理部300は、次のスキップタッチオブジェクト・レコードがある場合には(ステップS7C;YES)、ステップS2Cに戻り、上述した処理を実行する一方、次のスキップタッチオブジェクト・レコードがない場合には(ステップS7C;NO)、処理を終了する。   Here, if the skip condition is neither “name of touch object” nor “position of touch object”, the control object management unit 300 determines that an error has occurred in the skip touch object record of the definition file. And reporting that an error has occurred (step S2C → step S4C → step S6C). The control object management unit 300 determines whether there is a next skip touch object record (step S7C). If there is a next skip touch object record (step S7C; YES), the control object management unit 300 returns to step S2C and executes the above-described process, but does not have a next skip touch object record. (Step S7C; NO), the process ends.

図6は、制御オブジェクト管理部300によって実行される擬似的タッチオブジェクト用のタッチ情報の生成処理を示すフローチャートである。
制御オブジェクト管理部300は、デバッグ用の定義ファイルから、擬似的タッチオブジェクトのレコード(以下、「擬似的タッチオブジェクト・レコード」という。)を読み込む(ステップS1D)。ここで、擬似的タッチオブジェクトとは、デバッグ対象となるプログラム内には含まれない、擬似的なタッチオブジェクトを意味する。なお、本実施形態では、擬似的タッチオブジェクト・レコードとして、例えば擬似的タッチオブジェクトの名称、振る舞いなどが対応づけて登録されている。
FIG. 6 is a flowchart showing a process for generating touch information for a pseudo touch object executed by the control object management unit 300.
The control object management unit 300 reads a record of the pseudo touch object (hereinafter referred to as “pseudo touch object record”) from the definition file for debugging (step S1D). Here, the pseudo touch object means a pseudo touch object that is not included in the program to be debugged. In the present embodiment, as the pseudo touch object record, for example, the name and behavior of the pseudo touch object are registered in association with each other.

制御オブジェクト管理部(第3情報生成部)300は、擬似的タッチオブジェクト・レコードを分析することで(ステップS2D)、擬似的タッチオブジェクト用のタッチ情報を生成する(ステップS3D)。擬似的タッチオブジェクト用のタッチ情報には、例えば擬似的タッチオブジェクトの名称、振る舞いが含まれるが、その他の情報が含まれてもよい。制御オブジェクト管理部(第3リスト生成部)300は、タッチ情報を生成すると、生成したタッチ情報をリスト化した擬似的タッチリストを生成(登録)する(ステップS4D)。   The control object management unit (third information generation unit) 300 analyzes the pseudo touch object record (step S2D), and generates touch information for the pseudo touch object (step S3D). The touch information for the pseudo touch object includes, for example, the name and behavior of the pseudo touch object, but may include other information. When the control object management unit (third list generation unit) 300 generates touch information, the control object management unit (third list generation unit) 300 generates (registers) a pseudo touch list in which the generated touch information is listed (step S4D).

そして、制御オブジェクト管理部300は、次の擬似的タッチオブジェクト・レコードがあるか否かを判断する(ステップS5D)。制御オブジェクト管理部300は、次の擬似的タッチオブジェクト・レコードがある場合には(ステップS5D;YES)、ステップS2Dに戻り、上述した処理を実行する一方、次の擬似的タッチオブジェクト・レコードがない場合には(ステップS5D;NO)、処理を終了する。   Then, the control object management unit 300 determines whether or not there is a next pseudo touch object record (step S5D). If there is a next pseudo touch object record (step S5D; YES), the control object management unit 300 returns to step S2D and executes the above-described processing, while there is no next pseudo touch object record. In that case (step S5D; NO), the process is terminated.

なお、擬似的タッチリストを生成する際には、同一の擬似的タッチオブジェクトを、擬似的タッチリストに繰り返し登録し、擬似的タッチオブジェクトのヒット率を上げる(別言すれば、ウェイト値を上げる)ようにしてもよい。また、擬似的タッチリストとタッチリストを統合し、1つのリストにまとめてもよい。   When generating the pseudo touch list, the same pseudo touch object is repeatedly registered in the pseudo touch list to increase the hit rate of the pseudo touch object (in other words, increase the weight value). You may do it. Further, the pseudo touch list and the touch list may be integrated into a single list.

[モーダル状態の場合]
制御オブジェクト管理部300は、シーンオブジェクト管理部200からモーダル開始通知を受け取ると、以下に示す処理を実行する。
[In the modal state]
When receiving a modal start notification from the scene object management unit 200, the control object management unit 300 performs the following processing.

モーダル状態においては、モーダルウインドウ等において求められた操作が完了するまで、他の操作は一切許されない。このため、デバッグ装置100は、モーダル開始後、これまでに説明したシーンごとに生成する通常のタッチリストとは別に、通常のタッチリストよりも優先度の高い独立したリスト(以下、「モーダルリスト」という。)を作成する。   In the modal state, no other operation is allowed until the operation requested in the modal window or the like is completed. For this reason, the debug device 100, after starting modal, separates the normal touch list generated for each scene described so far and has an independent list (hereinafter referred to as “modal list”) having higher priority than the normal touch list. Create).

図7は、モーダルリストが作成されてから削除されるまでのプロセスを模式的に示した図である。
モーダル状態にない場合(すなわち、モーダル開始前の非モーダル状態)、制御オブジェクト管理部300は、各シーンのタッチオブジェクトを作成すると、これらタッチオブジェクトについてタッチ情報を順次生成し、タッチリストに登録(追加)する(図7に示すA1参照)。
FIG. 7 is a diagram schematically showing a process from creation of a modal list to deletion of the modal list.
When not in a modal state (that is, in a non-modal state before modal start), when the control object management unit 300 creates touch objects for each scene, the control object management unit 300 sequentially generates touch information for these touch objects and registers (adds to the touch list). (See A1 shown in FIG. 7).

一方、モーダル開始後においては、制御オブジェクト管理部(第2情報生成部、第2リスト生成部)300は、各モーダルウインドウ等に関わるタッチオブジェクト(以下、モーダルタッチオブジェクト)を作成すると、これらモーダルタッチオブジェクトについてタッチ情報を順次作成し、モーダルリストに(登録)追加する(図7に示すA2からA5参照)。   On the other hand, after the modal start, the control object management unit (second information generation unit, second list generation unit) 300 creates a touch object (hereinafter referred to as a modal touch object) related to each modal window or the like. Touch information is sequentially created for the object, and (registered) is added to the modal list (see A2 to A5 shown in FIG. 7).

その後、制御オブジェクト管理部300は、シーンオブジェクト管理部200からモーダル終了通知を受け取ると、モーダルリストを順次削除することで、モーダル状態から非モーダル状態へと速やかに移行させ、処理を終了する(図7に示すA6及びA7参照)。   After that, when receiving the modal end notification from the scene object management unit 200, the control object management unit 300 deletes the modal list in order, thereby promptly shifting from the modal state to the non-modal state and ending the processing (FIG. A6 and A7 shown in Fig. 7).

デバッグ装置(100は、上記のごとく作成されたタッチリスト(モーダルリストを含む)等に基づいて、プログラムのデバッグを行う。   A debugging apparatus (100 debugs a program based on a touch list (including a modal list) created as described above.

以上説明したように、本実施形態によれば、タッチオブジェクトごとにタッチ情報を生成し、これをリスト化したタッチリストに基づき、プログラムのデバッグを行う。これにより、効率的なデバッグ作業を実現することが可能となる。また、タッチオブジェクトのうち、タッチ情報を生成すべきでないタッチオブジェクト(例えば、「戻るボタン」などのデバッグ作業を妨げるタッチオブジェクト)については、スキップリストに登録する。スキップリストに登録されたタッチオブジェクトについては、タッチ情報が生成されない(すなわち、タッチリストに登録されない)ため、デバッグ作業に不要なタッチオブジェクトが選択されることはなくなり、より効率的にデバッグ作業を進めることが可能となる。   As described above, according to the present embodiment, touch information is generated for each touch object, and the program is debugged based on the touch list in which the touch information is listed. This makes it possible to realize efficient debugging work. Among touch objects, touch objects for which touch information should not be generated (for example, touch objects that hinder debugging work such as a “back button”) are registered in the skip list. For touch objects registered in the skip list, touch information is not generated (that is, not registered in the touch list), so touch objects unnecessary for debugging work are not selected, and debugging work proceeds more efficiently. It becomes possible.

B.その他
本発明は、上述した本実施形態及び変形例に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。例えば、上述した各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更し、または並列に実行することができる。
B. Others The present invention is not limited to the above-described embodiments and modifications, and can be implemented in various other forms without departing from the gist of the present invention. For example, the above-described processing steps can be arbitrarily changed in order as long as the processing contents do not contradict each other, or can be executed in parallel.

また、本明細書において、「部」とは、単に物理的構成を意味するものではなく、その「部」が実行する処理をソフトウェアによって実現する場合も含む。また、1つの「部」が実行する処理を2つ以上の物理的構成や装置により実現されても、2つ以上の「部」が実行する処理を1つの物理的手段や装置により実現されてもよい。
また、本実施形態では、デバッグ対象となるプログラムを例に説明したが、デバッグすを目的としないプログラム(例えば、何らかの予測結果を求めるシミュレーションプログラムなど)にも適用することができる。
Further, in this specification, “unit” does not simply mean a physical configuration, but also includes a case where processing executed by the “unit” is realized by software. In addition, even if a process executed by one “unit” is realized by two or more physical configurations or devices, a process executed by two or more “units” is realized by one physical means or device. Also good.
In this embodiment, the program to be debugged has been described as an example. However, the present invention can also be applied to a program not intended for debugging (for example, a simulation program for obtaining some prediction result).

また、本明細書において説明した各処理を実施するプログラムは、記録媒体に記憶させてもよい。この記録媒体を用いれば、デバッグ装置100を構成するコンピュータに、上記プログラムをインストールすることができる。ここで、上記プログラムを記憶した記録媒体は、非一過性の記録媒体であっても良い。非一過性の記録媒体は特に限定されないが、例えば、CD−ROM等の記録媒体であっても良い。   In addition, a program for performing each process described in this specification may be stored in a recording medium. If this recording medium is used, the above program can be installed in the computer constituting the debugging device 100. Here, the recording medium storing the program may be a non-transitory recording medium. The non-transitory recording medium is not particularly limited, but may be a recording medium such as a CD-ROM.

100…デバッグ装置、200…シーオブジェクト管理部、300…制御オブジェクト管理部。 DESCRIPTION OF SYMBOLS 100 ... Debugging device, 200 ... Sea object management part, 300 ... Control object management part.

Claims (6)

デバッグ対象となるプログラムに基づき、オブジェクトを作成する作成部と、
作成された前記オブジェクトがタッチオブジェクトである場合には、当該タッチオブジェクトを特定するためのタッチ情報を生成する第1情報生成部と、
生成されたタッチ情報をリスト化したタッチリストを生成する第1リスト生成部と、
前記タッチリストに基づいて前記プログラムのデバッグを行うデバッグ実行部と
を具備するデバッグ装置。
Based on the program to be debugged, a creation unit that creates objects,
When the created object is a touch object, a first information generation unit that generates touch information for specifying the touch object;
A first list generation unit that generates a touch list in which the generated touch information is listed;
A debug device comprising: a debug execution unit that debugs the program based on the touch list.
前記タッチオブジェクトのうち、前記タッチ情報を生成すべきでないタッチオブジェクトを特定するためのスキップ条件を設定する設定部をさらに備え、
前記第1情報生成部は、前記タッチオブジェクトのうち、前記スキップ条件に合致しないタッチオブジェクトについて、前記タッチ情報を生成する、請求項1に記載のデバッグ装置。
A setting unit for setting a skip condition for identifying a touch object that should not generate the touch information among the touch objects;
The debugging device according to claim 1, wherein the first information generation unit generates the touch information for a touch object that does not match the skip condition among the touch objects.
作成される前記オブジェクトには、モーダルウインドウに係るモーダルオブジェクトが含まれ、
前記モーダルオブジェクトがタッチオブジェクトである場合には、当該タッチオブジェクトを特定するためのモーダル用のタッチ情報を生成する第2情報生成部と、
生成された前記モーダル用のタッチ情報をリスト化したモーダル用のタッチリストを生成する第2リスト生成部と
をさらに具備する、請求項1または2に記載のデバッグ装置。
The created objects include modal objects related to modal windows,
When the modal object is a touch object, a second information generation unit that generates modal touch information for specifying the touch object;
The debug device according to claim 1, further comprising: a second list generation unit configured to generate a modal touch list in which the generated modal touch information is listed.
前記デバッグ対象となる前記プログラム内には含まれない、擬似的なタッチオブジェクトのタッチ情報を生成する第3情報生成部と、
生成された前記擬似的なタッチオブジェクトのタッチ情報をリスト化した擬似的タッチリストを生成する第3リスト生成部と
をさらに具備する、請求項1から3のいずれか一項に記載のデバッグ装置。
A third information generation unit that generates touch information of a pseudo touch object that is not included in the program to be debugged;
The debugging device according to any one of claims 1 to 3, further comprising: a third list generation unit that generates a pseudo touch list in which touch information of the generated pseudo touch object is listed.
プログラムに基づき、オブジェクトを作成する作成部と、
作成された前記オブジェクトがタッチオブジェクトである場合には、当該タッチオブジェクトを特定するためのタッチ情報を生成する第1情報生成部と、
生成されたタッチ情報をリスト化したタッチリストを生成する第1リスト生成部と、
前記タッチリストに基づいて前記プログラムのシミュレーションを行うシミュレーション実行部と
を具備するシミュレーション装置。
A creation section for creating an object based on a program;
When the created object is a touch object, a first information generation unit that generates touch information for specifying the touch object;
A first list generation unit that generates a touch list in which the generated touch information is listed;
A simulation apparatus comprising: a simulation execution unit that simulates the program based on the touch list.
コンピュータを、
デバッグ対象となるプログラムに基づき、オブジェクトを作成する作成部と、
作成された前記オブジェクトがタッチオブジェクトである場合には、当該タッチオブジェクトを特定するためのタッチ情報を生成する第1情報生成部と、
生成されたタッチ情報をリスト化したタッチリストを生成する第1リスト生成部と、
前記タッチリストに基づいて前記プログラムのデバッグを行うデバッグ実行部として機能させるためのデバッグ用のプログラム。
Computer
Based on the program to be debugged, a creation unit that creates objects,
When the created object is a touch object, a first information generation unit that generates touch information for specifying the touch object;
A first list generation unit that generates a touch list in which the generated touch information is listed;
A debugging program for functioning as a debug execution unit that debugs the program based on the touch list.
JP2018079046A 2018-04-17 2018-04-17 Debugging device, simulation device and debugging program Active JP6567125B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018079046A JP6567125B1 (en) 2018-04-17 2018-04-17 Debugging device, simulation device and debugging program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018079046A JP6567125B1 (en) 2018-04-17 2018-04-17 Debugging device, simulation device and debugging program

Publications (2)

Publication Number Publication Date
JP6567125B1 JP6567125B1 (en) 2019-08-28
JP2019185648A true JP2019185648A (en) 2019-10-24

Family

ID=67766652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018079046A Active JP6567125B1 (en) 2018-04-17 2018-04-17 Debugging device, simulation device and debugging program

Country Status (1)

Country Link
JP (1) JP6567125B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198586A (en) * 1997-01-08 1998-07-31 Nec Corp Automatic gui system operating device and operation macro-executing device
JP2006244195A (en) * 2005-03-04 2006-09-14 Nec Corp Program test support device, and its method
JP2009169828A (en) * 2008-01-18 2009-07-30 Denso Corp Test case creation device and creation program
JP2010102620A (en) * 2008-10-27 2010-05-06 Nec Corp User operation scenario generating device, method and program
JP2014191830A (en) * 2013-03-27 2014-10-06 Fujitsu Ltd Method of automatic feature-driven testing and quality checking of applications, system, and product

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198586A (en) * 1997-01-08 1998-07-31 Nec Corp Automatic gui system operating device and operation macro-executing device
JP2006244195A (en) * 2005-03-04 2006-09-14 Nec Corp Program test support device, and its method
JP2009169828A (en) * 2008-01-18 2009-07-30 Denso Corp Test case creation device and creation program
JP2010102620A (en) * 2008-10-27 2010-05-06 Nec Corp User operation scenario generating device, method and program
JP2014191830A (en) * 2013-03-27 2014-10-06 Fujitsu Ltd Method of automatic feature-driven testing and quality checking of applications, system, and product

Also Published As

Publication number Publication date
JP6567125B1 (en) 2019-08-28

Similar Documents

Publication Publication Date Title
US9519495B2 (en) Timed API rules for runtime verification
US20140372985A1 (en) API Rules Verification Platform
US20160283353A1 (en) Automated software testing
US9898396B2 (en) Automated software testing and validation via graphical user interface
US20170031800A1 (en) Determining code complexity scores
US10146672B2 (en) Method and system for automated user interface (UI) testing through model driven techniques
US20070074168A1 (en) Automated step type determination
JP6258159B2 (en) Program information generation system, method, and program
US8527254B2 (en) Simulator engine development system and simulator engine development method
US20140082582A1 (en) Resource Tracker
JP6567125B1 (en) Debugging device, simulation device and debugging program
US8930905B2 (en) System and method for providing a guideline for optimizing platform
JP2020123175A (en) Code management system and code management method
US10176015B2 (en) Progress visualization of computational job
CN114356299A (en) Event arrangement method and device in page building process
JP6161546B2 (en) A method, apparatus, and program for generating and displaying a specific area.
JP7096103B2 (en) Model checking script conversion program, model checking program, model checking script conversion device and model checking device
KR101550652B1 (en) Method and apparatus for providing program development environment
KR20200022254A (en) Apparatus and method for configuration of os based on self-defined definition
US11372743B2 (en) Computer devices and computer implemented methods
JP5746300B2 (en) User operation automation device
JP2007219893A (en) Firmware evaluation system and firmware evaluation method
US11487564B1 (en) Terminal shell switching
JP7323755B2 (en) Information processing system, its control method and program
US20110209122A1 (en) Filtered presentation of structured data at debug time

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180417

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190306

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190410

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190531

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190730

R150 Certificate of patent or registration of utility model

Ref document number: 6567125

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150