JPH1145193A - Method and device for supporting software development, and recording medium - Google Patents

Method and device for supporting software development, and recording medium

Info

Publication number
JPH1145193A
JPH1145193A JP9201543A JP20154397A JPH1145193A JP H1145193 A JPH1145193 A JP H1145193A JP 9201543 A JP9201543 A JP 9201543A JP 20154397 A JP20154397 A JP 20154397A JP H1145193 A JPH1145193 A JP H1145193A
Authority
JP
Japan
Prior art keywords
task
state
software
execution
break
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.)
Pending
Application number
JP9201543A
Other languages
Japanese (ja)
Inventor
Ikuya Odawara
育也 小田原
Katsuhiko Ueki
克彦 植木
Shingo Igarashi
真悟 五十嵐
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP9201543A priority Critical patent/JPH1145193A/en
Publication of JPH1145193A publication Critical patent/JPH1145193A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce the burden of debugging operation by indicating the interruption of the execution of software when detecting the task forbidden operation of the software based on the state of a task shifted according to an event and a generated pattern. SOLUTION: The software development support device 3 is unable to execute tasks B and C at the same time. A task C, on the other hand, a two break patterns set so that a semaphore P is not accessed. Then the support device 3 interrupts the execution of user application 1 by controlling multitask OS 2 when restriction conditions that the user sets in the device 3 in advance are not met during single execution of the user application, namely, when a break state (operation inhibition of the user application) is detected. Consequently, an execution interruption (break) point of software executed on the system can easily be set and a malfunction point can easily be detected.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、OSの下で実行さ
れるユーザアプリケーションのデバッグに用いるソフト
ウエア開発支援装置に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a software development support apparatus used for debugging a user application executed under an OS.

【0002】[0002]

【従来の技術】OS(オペレーティングシステム)の下
で実行するユーザアプリケーションのデバッグ作業で
は、OSの管理する複数のイベントの発生パターンを考
慮したデバッグ作業を行う必要がある。さらに、マルチ
タスクOSに至っては、各タスク状態遷移も考慮したデ
バッグ作業を行わなければならない。ここでいうデバッ
グ作業とは、プログラムのコンパイル時のエラーを修正
することではなく、コンパイルエラーは発生しないが実
行時の動作が異常である場合の不具合の修正作業につい
てである。通常は、ユーザがブレークポイントを定め、
ユーザアプリケーションの実行を中断し、その時点での
OS内部状態などを参照し、プログラムを修正するとい
う作業を繰り返す。
2. Description of the Related Art In a debugging operation of a user application executed under an OS (operating system), it is necessary to perform a debugging operation in consideration of an occurrence pattern of a plurality of events managed by the OS. Further, in the case of a multitask OS, it is necessary to perform a debugging operation in consideration of each task state transition. The debugging work here is not about correcting an error at the time of compiling a program, but about a work of correcting a defect when a compile error does not occur but the operation at the time of execution is abnormal. Usually, the user sets a breakpoint,
The operation of interrupting the execution of the user application, referring to the internal state of the OS at that time, and modifying the program is repeated.

【0003】すなわち、従来、OSの下で実行するユー
ザアプリケーションのデバッグ作業では、ユーザが、不
具合の解決に有効であると判断した実行命令に、ブレー
クポイントを予め設定しておき、デバッガがその実行命
令の格納されている実行アドレスにブレーク命令を設定
した上で、ユーザアプリケーションの実行を行う。そし
て、ブレーク命令によるユーザアプリケーションの実行
中断時に、そのときのメモリや使用変数等、OS内部状
態を参照し、ユーザアプリケーションの具体的な誤動作
の原因の検証を行っている。つまり、どのようなイベン
トがどのような順序で発生したことが不具合の原因であ
るかといったことを、ユーザ自身が分析するようになっ
ていた。
That is, conventionally, in a debug operation of a user application executed under the OS, a user sets a breakpoint in advance at an execution instruction determined to be effective for solving a defect, and the debugger executes the execution instruction. After setting a break instruction at the execution address where the instruction is stored, the user application is executed. Then, when the execution of the user application is interrupted by the break instruction, the internal state of the OS such as the memory and the used variables at that time is referred to verify the specific cause of the malfunction of the user application. In other words, the user himself / herself analyzes what kind of event occurred in what order and what caused the failure.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、上記の
ような従来のデバッガでは、ユーザーが予め誤動作の原
因と考えられる特定の実行命令を推測した上で、ブレー
クポイントを設定し、ユーザアプリケーションの実行中
断時に、ユーザ自身が具体的な誤動作の原因を検証しな
ければならないという欠点がある。すなわち、ユーザ自
身による誤動作原因の推測と検証という試行錯誤的な作
業が必要となるため、デバッグ作業が円滑に行われず、
ユーザアプリケーション全体としての生産性が低下して
しまう恐れがある。
However, in the conventional debugger described above, the user presumes a specific execution instruction which is considered to be a cause of a malfunction, sets a breakpoint, and interrupts the execution of the user application. There is a disadvantage that the user sometimes has to verify the specific cause of the malfunction. In other words, since a trial and error operation of estimating and verifying the cause of the malfunction by the user himself is required, the debugging work is not performed smoothly,
There is a possibility that the productivity of the entire user application may be reduced.

【0005】そこで、本発明は、上記問題点に鑑みてな
されたもので、ユーザアプリケーションの実行中断(ブ
レーク)ポイントの設定および誤動作ポイントの検出、
さらに誤動作検出時のOS内部状態の参照が容易に行
え、デバッグ作業の負担が軽減できるソフトウエア開発
支援方法およびそれを用いたソフトウエア開発支援装置
を提供することを目的とする。
In view of the above, the present invention has been made in view of the above-described problems, and has been made in view of the setting of a break point of execution of a user application, detection of a malfunction point, and the like.
It is still another object of the present invention to provide a software development support method and a software development support device using the method, which can easily refer to the internal state of the OS at the time of detecting a malfunction and reduce the burden of debugging work.

【0006】[0006]

【課題を解決するための手段】本発明のソフトウエア開
発支援方法は、システムで実行されるソフトウエアのタ
スクの状態遷移に基づく前記タスクの禁止動作のパター
ンを生成し、前記ソフトウエアの実行の際に前記ソフト
ウエア実行に基づき発生するイベントに従って遷移させ
たタスクの状態と前記生成されたパターンとに基づい
て、前記ソフトウエアのタスクの禁止動作を検出したと
き、前記ソフトウエアの実行の中断を指示することによ
り、システム上で実行されるソフトウエアの実行中断
(ブレーク)ポイントの設定および誤動作ポイントの検
出が容易に行え、デバッグ作業の負担が軽減できる。
A software development supporting method according to the present invention generates a pattern of a task inhibition operation based on a state transition of a software task executed in a system, and executes the execution of the software. Interrupting the execution of the software when detecting a task prohibition operation of the software task based on the state of the task transited according to the event generated based on the software execution and the generated pattern. By giving the instruction, it is possible to easily set the execution interruption (break) point of the software executed on the system and detect the malfunctioning point, and reduce the load of the debugging work.

【0007】また、本発明のソフトウエア開発支援装置
は、システムで実行されるソフトウエアのタスクの状態
遷移に基づく前記タスクの禁止動作の条件を入力する入
力手段と、この入力手段で入力された条件に基づき前記
ソフトウエアのタスクの状態遷移に基づく前記タスクの
禁止動作のパターンを生成する生成手段と、前記ソフト
ウエアの実行の際に前記ソフトウエア実行に基づき発生
するイベントに従って遷移させたタスクの状態と前記生
成されたパターンとに基づいて、前記ソフトウエアのタ
スクの禁止動作を検出する検出手段と、この検出手段で
禁止動作が検出されたとき、前記ソフトウエアの実行の
中断を指示する指示手段と、を具備したことにより、シ
ステム上で実行されるソフトウエアの実行中断(ブレー
ク)ポイントの設定および誤動作ポイントの検出が容易
に行え、デバッグ作業の負担が軽減できる。
Further, the software development support apparatus of the present invention has an input means for inputting a condition of a prohibited operation of the task based on a state transition of a software task executed in the system, and an input means for inputting the condition. Generating means for generating a pattern of a prohibited operation of the task based on a state transition of the task of the software based on a condition; and Detecting means for detecting a prohibited operation of the task of the software based on a state and the generated pattern; and instructing interruption of the execution of the software when the detecting means detects the prohibited operation. Means for setting a break point for execution of software executed on the system. And easy to malfunction point of detection, the burden of debugging work can be reduced.

【0008】[0008]

【発明の実施の形態】以下に、本発明の実施形態につい
て図面を参照して説明する。図1は、本実施形態に係る
ソフトウエア開発支援装置の構成例と、そのソフトウエ
ア開発支援装置を用いて、OS(マルチタスクOS)上
で実行されるユーザアプリケーションのデバッグを行う
場合の全体の構成を概略的に示したものである。以下、
図1のマルチタスクOS2、ユーザアプリケーション
1、ソフトウエア開発支援装置3のそれぞれについて説
明する。 (a)マルチタスクOS 図1に示したように、マルチタスクOS2のソフトウエ
ア開発支援装置3の動作に関わる主な構成部は、タスク
実行スケジューリング部4、OS内部イベント発生部
5、タスク実行制御部6の3つの処理部と、内部記憶で
あるOS内部状態記憶部7から構成される。なお、図1
のマルチタスクOSの構成は、本実施例を説明する上で
必要な部分以外は削除し、簡略化したものである。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 shows an example of the configuration of a software development support apparatus according to the present embodiment, and the entirety of debugging a user application executed on an OS (multitask OS) using the software development support apparatus. 1 schematically shows the configuration. Less than,
Each of the multitask OS 2, the user application 1, and the software development support device 3 in FIG. 1 will be described. (A) Multitask OS As shown in FIG. 1, the main components related to the operation of the software development support device 3 of the multitask OS 2 are a task execution scheduling unit 4, an OS internal event generation unit 5, a task execution control. The processing unit 6 includes three processing units and an OS internal state storage unit 7 as internal storage. FIG.
The configuration of the multitask OS is simplified by removing portions other than those necessary for describing the present embodiment.

【0009】(a−1)タスク実行スケジューリング部 タスク実行スケジューリング部4は、ユーザアプリケー
ション1からのシステムコールや外部機器などからの割
込みなどのイベントを受けて、タスク実行優先度を考慮
したタスク実行スケジューリングを行う。スケジューリ
ングの結果、次に実行すべきタスクをタスク実行制御部
6に伝える。このスケジューリングの過程で発生するタ
スクの状態遷移やセマフォの状態変更などのOS内部状
態の変化は、OS内部状態記憶部7に逐次記憶される。
図2にOS内部状態の記憶例を示す。OS内部状態は、
マルチタスクOS2が、システムコールやタスク実行ス
ケジューリングなどのサービスを提供するために用いる
情報であり、ユーザアプリケーション1で定義された全
てのオブジェクトに関する情報がオブジェクトごとに格
納されている。図2では、タスクA、タスクB、タスク
C、セマフォPの4つのオブジェクトの状態を格納した
場合の例を示してある。これら各情報の詳細について
は、後述する。
(A-1) Task Execution Scheduling Unit The task execution scheduling unit 4 receives an event such as a system call from the user application 1 or an interrupt from an external device or the like, and performs task execution scheduling in consideration of task execution priority. I do. As a result of the scheduling, the task to be executed next is transmitted to the task execution control unit 6. Changes in the OS internal state, such as task state transitions and semaphore state changes, that occur during the scheduling process are sequentially stored in the OS internal state storage unit 7.
FIG. 2 shows a storage example of the OS internal state. The OS internal state is
The multitask OS 2 is information used for providing services such as system calls and task execution scheduling, and information on all objects defined by the user application 1 is stored for each object. FIG. 2 shows an example in which the states of four objects, task A, task B, task C, and semaphore P, are stored. Details of these pieces of information will be described later.

【0010】また、タスク実行スケジューリング部4
は、システムコール発行イベント、タスク状態遷移イベ
ント、セマフォ状態変更イベントの他、外部機器からの
割込みなど、タスク実行スケジューリングに影響を及ぼ
す全てのイベントをOS内部イベントとしてOS内部イ
ベント発生部5に対して発行する。システムコール発行
イベントは、ユーザアプリケーション1からシステムコ
ールが発行された時に発生するイベントである。タスク
状態遷移イベントは、タスク実行スケジューリングの結
果、タスクの状態が変化した場合に発生するイベントで
ある。セマフォ状態変更イベントは、セマフォの状態が
変更された場合に発生するイベントである。
The task execution scheduling section 4
In the OS internal event generation unit 5, all events that affect task execution scheduling, such as system call issuance events, task state transition events, semaphore state change events, and interrupts from external devices, are regarded as OS internal events. Issue. The system call issuance event is an event that occurs when a user application 1 issues a system call. A task state transition event is an event that occurs when the state of a task changes as a result of task execution scheduling. The semaphore state change event is an event that occurs when the state of the semaphore is changed.

【0011】(a−2)タスク実行制御部 タスク実行制御部6は、タスク実行スケジューリング部
4、ソフトウエア開発支援装置3などマルチタスクOS
2外部からの要求によって、指定タスクに対して実行開
始、実行中断、実行停止などの実行制御を行う。
(A-2) Task Execution Control Unit The task execution control unit 6 is a multi-task OS such as the task execution scheduling unit 4 and the software development support device 3.
(2) In response to a request from the outside, execution control such as execution start, execution interruption, and execution stop is performed on the designated task.

【0012】(a−3)OS内部イベント発生部 OS内部イベント発生部5は、タスク実行スケジューリ
ング部4から発行されたOS内部イベントを、ソフトウ
エア開発支援装置3などのマルチタスクOS2外部のア
プリケーションから読み出すためのインタフェースを提
供する。
(A-3) OS Internal Event Generating Unit The OS internal event generating unit 5 sends the OS internal event issued from the task execution scheduling unit 4 from an application outside the multitask OS 2 such as the software development support device 3. Provides an interface for reading.

【0013】マルチタスクOS2がユーザアプリケーシ
ョン1に対して提供するオブジェクトには、タスクや割
込みハンドラ、セマフォ、メールボックスなどがある。
このうち、本実施形態で用いるタスクとセマフォの2種
類のオブジェクトについて、その仕組やOS内部状態の
詳細について説明する。
The objects provided by the multitask OS 2 to the user application 1 include tasks, interrupt handlers, semaphores, and mailboxes.
Of these, two types of objects, a task and a semaphore, used in the present embodiment will be described in detail with respect to the mechanism and OS internal state.

【0014】タスクは、プログラムの実行単位であり、
マルチタスクOS2は、タスク実行スケジューリングに
より、タスクを切り替えながら、ユーザアプリケーショ
ン1を実行する。
A task is a unit of execution of a program.
The multitask OS 2 executes the user application 1 while switching tasks according to task execution scheduling.

【0015】セマフォは、同時に複数のタスクからのア
クセスが制限されるような共有資源へのアクセス権をタ
スクが獲得するための排他制御機能を提供する。OS内
部状態は、ユーザアプリケーション1の実行中に、マル
チタスクOS2によって随時更新され、タスク制御ブロ
ックやセマフォ制御テーブルといったユーザアプリケー
ションで定義された全てのオブジェクトの状態を保持し
ている。
The semaphore provides an exclusive control function for a task to acquire an access right to a shared resource such that access from a plurality of tasks is restricted at the same time. The OS internal state is updated as needed by the multitask OS 2 during execution of the user application 1, and holds the state of all objects defined by the user application, such as the task control block and the semaphore control table.

【0016】タスク制御ブロックは、図3に示すよう
に、タスクID、タスク状態、タスク優先度などの属性
を持っている。タスクIDは、タスクを識別するための
識別子である。タスク状態は、タスクの現在の状態を示
す。タスク状態には、実行状態(RUN)、実行可能状
態(READY)、待ち状態(WAIT)などの種類が
ある。タスク優先度は、タスクの実行優先度を示してい
る。例えば、マルチタスクOS2が提供するタスク実行
スケジューリング機能において、2つ以上のタスクが同
時に実行可能状態となった場合、マルチタスクOS2
は、同時に実行可能となったタスクのタスク優先度を参
照し、優先度が最も高いタスクを実行状態とする。
As shown in FIG. 3, the task control block has attributes such as a task ID, a task status, and a task priority. The task ID is an identifier for identifying a task. The task state indicates the current state of the task. The task states include types such as an execution state (RUN), an executable state (READY), and a waiting state (WAIT). The task priority indicates the task execution priority. For example, in a task execution scheduling function provided by the multitask OS 2, when two or more tasks are simultaneously executable, the multitask OS 2
Refers to the task priorities of tasks that can be executed at the same time, and sets the task with the highest priority to the execution state.

【0017】セマフォ制御テーブルは、図4に示すよう
に、セマフォID、セマフォカウンタ値などの属性を持
っている。セマフォIDは、セマフォを識別するための
識別子である。セマフォカウンタ値は、現在のセマフォ
カウンタの値を示している。本実施形態では、セマフォ
の仕組を簡略化し、セマフォカウンタ値は、「0」と
「1」の2つの値のみをとるものとする。この場合、セ
マフォカウンタ値が「1」のときは、セマフォを獲得す
ることにより、どのタスクも共有資源へのアクセスが可
能であり、何れかのタスクがセマフォを取得するとセマ
フォカウンタ値が「0」となる。セマフォカウンタ値が
「0」のときは、どのタスクもセマフォを獲得できず、
現在セマフォを取得しているタスクがセマフォを開放す
るまでは、セマフォを要求したタスクはセマフォ待ちの
状態になる。そして、セマフォを獲得しているタスクが
セマフォを開放すると、セマフォ待ちのタスクがセマフ
ォを獲得し、共有資源へのアクセスが可能となる。 (b)ユーザアプリケーション ユーザアプリケーション1は、ユーザが作成したマルチ
タスク・アプリケーションである。図5は本実施形態に
おいてデバッグの対象とするユーザアプリケーションの
構成を概念的に示したものである。図6は図5のユーザ
アプリケーション実行中の単位時間ごとの各オブジェク
トの状態変化、及び発生したOS内部イベントを示した
タイミングチャートである。
As shown in FIG. 4, the semaphore control table has attributes such as a semaphore ID and a semaphore counter value. The semaphore ID is an identifier for identifying the semaphore. The semaphore counter value indicates the current value of the semaphore counter. In the present embodiment, the semaphore mechanism is simplified, and the semaphore counter value takes only two values, “0” and “1”. In this case, when the semaphore counter value is “1”, any task can access the shared resource by acquiring the semaphore, and when any task acquires the semaphore, the semaphore counter value becomes “0”. Becomes When the semaphore counter value is "0", no task can acquire the semaphore,
Until the task that is currently acquiring the semaphore releases the semaphore, the task that requested the semaphore waits for the semaphore. Then, when the task acquiring the semaphore releases the semaphore, the task waiting for the semaphore acquires the semaphore and can access the shared resource. (B) User Application The user application 1 is a multitask application created by the user. FIG. 5 conceptually shows the configuration of a user application to be debugged in the present embodiment. FIG. 6 is a timing chart showing a state change of each object for each unit time during execution of the user application of FIG. 5, and an OS internal event that has occurred.

【0018】図5に示すように、ユーザアプリケーショ
ン1は、タスクA、タスクB、タスクC、タスクDの4
つのタスクと、セマフォPの合わせて5つのオブジェク
トによって構成される。共有資源は、同時に2つのタス
クからアクセスできないものとし、セマフォPはこのた
めの排他制御に用いる。
As shown in FIG. 5, the user application 1 has four tasks A, B, C, and D.
One task and the semaphore P are composed of five objects. The shared resource cannot be accessed from two tasks at the same time, and the semaphore P is used for exclusive control for this purpose.

【0019】なお、ここで、タスクとは、ある機能を実
現するための一単位のプログラム、あるいはモジュール
である。各タスクのタスクID、タスク優先度、タスク
状態の初期値は、図5中に示した通りである。タスク優
先度は「1」以上の整数値で、「1」が最高の実行優先
度を示すものとする。例えば、タスクAのタスクIDは
「#1」であり、タスク優先度は「1」で最高の実行優
先度であり、タスク状態は、RUN状態であることを示
している。他のタスクについても同様に示してある。
Here, a task is a unit of program or module for realizing a certain function. The initial values of the task ID, task priority, and task state of each task are as shown in FIG. The task priority is an integer value equal to or greater than "1", and "1" indicates the highest execution priority. For example, the task ID of task A is “# 1”, the task priority is “1”, which is the highest execution priority, and the task state indicates that it is in the RUN state. Other tasks are similarly shown.

【0020】セマフォPのセマフォID、セマフォカウ
ンタ値の初期値は、図5に示した通りである。セマフォ
IDは「#99」であり、セマフォカウンタ値の初期値
は「0」である。
The initial values of the semaphore ID of the semaphore P and the semaphore counter value are as shown in FIG. The semaphore ID is “# 99”, and the initial value of the semaphore counter value is “0”.

【0021】図6に示したタイミングチャートは、縦軸
にユーザアプリケーションで定義したオブジェクトを、
横軸に時刻000m秒〜時刻900m秒を100m秒刻
みでとり、100m秒単位で各時刻における各タスクの
タスク状態や各タスクから発行されたシステムコールの
種類、およびセマフォの状態を示している。タスク状態
は、実線がRUN状態、波線がWAIT状態、破線がR
EADY状態でそれぞれ示してある。また、システムコ
ールの発行は、発行システムコールの種類とともに、発
行元タスクの発行時刻への矢印で示している。例えば、
時刻000m秒における各タスクのタスク状態は、タス
クAがRUN状態、タスクBがWAIT状態、タスクC
がWAIT状態、タスクDがREADY状態であり、セ
マフォPのセマフォカウンタ値は「0」で、この状態か
ら時刻100m秒にタクスAがシステムコールsig
sem(#99)を発行したことにより、タスクBの状
態がWAIT状態からREADY状態に遷移したことを
読み取ることができる。この様にして、タスクA、タス
クB、タスクC、タスクDの4つのタスクは、マルチタ
スクOS2が提供するシステムコールを用いて、実行タ
スクの切り替えや、セマフォを用いた共有資源へのアク
セス行う。
In the timing chart shown in FIG. 6, the vertical axis represents the object defined by the user application,
The horizontal axis indicates the time from 000 ms to 900 ms in 100 ms increments, and indicates the task status of each task, the type of system call issued from each task, and the semaphore status at each time in units of 100 ms. As for the task status, the solid line is the RUN status, the wavy line is the WAIT status, and the broken line is the R status.
Each is shown in the EADY state. Issuance of the system call is indicated by an arrow to the issue time of the issue source task together with the type of the issue system call. For example,
The task state of each task at the time of 000 msec is as follows: task A is in the RUN state, task B is in the WAIT state, task C
Is in the WAIT state, the task D is in the READY state, and the semaphore counter value of the semaphore P is “0”.
By issuing sem (# 99), it can be read that the state of task B has transitioned from the WAIT state to the READY state. In this manner, the four tasks of task A, task B, task C, and task D use the system call provided by the multitask OS 2 to switch the execution task and access a shared resource using a semaphore. .

【0022】次に、図6のタイミングチャートに基づ
く、ユーザアプリケーション1の振舞いについて説明す
る。 時刻000m秒:初期状態であり、タスクAがセマフォ
P取得中でRUN状態、タスクBがセマフォP取得待ち
でWAIT状態、タスクCがWAIT状態、タスクDが
READY状態である。セマフォPのセマフォカウンタ
値は、タスクAがセマフォPを取得中であるため、
「0」である。
Next, the behavior of the user application 1 based on the timing chart of FIG. 6 will be described. Time 000 ms: Initial state, task A is in the RUN state while semaphore P is being acquired, task B is in the WAIT state waiting for semaphore P acquisition, task C is in the WAIT state, and task D is in the READY state. Since the semaphore counter value of semaphore P is that task A is acquiring semaphore P,
It is "0".

【0023】時刻100m秒:タスクAがシステムコー
ルsig_sem(#99)を発行し、セマフォPが開
放され、セマフォP待ち状態であったタスクBがREA
DY状態となる。しかし、タスクAの方が実行優先度が
高いため、タスクの切り替えは発生しない。
Time 100 ms: Task A issues a system call sig_sem (# 99), semaphore P is released, and task B waiting for semaphore P is REA
The state becomes the DY state. However, since task A has a higher execution priority, task switching does not occur.

【0024】時刻200m秒:タスクAがシステムコー
ルwup tsk(#3)を発行し、タスクCを起床
し、タスクCはREADY状態となる。 時刻300m秒:タスクAがシステムコールslp
sk()を発行し、タスクAがWAIT状態となり、タ
スクA以外のタスクでREADY状態であるタスクのう
ち、実行優先度が最も高いタスク、すなわちタスクBが
RUN状態となる。
Time 200 ms: Task A executes system call wup Tsk (# 3) is issued to wake up task C, and task C enters the READY state. Time 300 ms: Task A executes system call slp t
sk () is issued, task A enters the WAIT state, and among tasks other than task A that are in the READY state, the task having the highest execution priority, that is, task B enters the RUN state.

【0025】時刻400m秒:タスクBがシステムコー
ルsig sem(#99)を発行し、セマフォPが開
放され、セマフォPのセマフォカウンタ値が「1」とな
る。 時刻500m秒:タスクBがシステムコールslp
sk()を発行し、タスクBがWAIT状態となり、タ
スクB以外のタスクでREADY状態であるタスクのう
ち、実行優先度が最も高いタスク、すなわちタスクCが
RUN状態となる。
Time 400 ms: Task B receives system call sig sem (# 99) is issued, the semaphore P is released, and the semaphore counter value of the semaphore P becomes “1”. Time 500 ms: Task B makes system call slp t
sk () is issued, task B enters the WAIT state, and among tasks other than task B that are in the READY state, the task having the highest execution priority, that is, task C enters the RUN state.

【0026】時刻600m秒:タスクCがシステムコー
ルwai sem(#99)を発行し、セマフォPを取
得しようとするが、セマフォPのセマフォカウンタ値が
「1」であるため、タスクCはセマフォ待ちとはなら
ず、タスクCがセマフォPを取得する。この結果、セマ
フォPのセマフォカウンタ値は「0」となる。
Time 600 ms: Task C receives system call wai sem (# 99) is issued, and an attempt is made to acquire the semaphore P. However, since the semaphore counter value of the semaphore P is “1”, the task C does not wait for the semaphore, and the task C acquires the semaphore P. . As a result, the semaphore counter value of the semaphore P becomes “0”.

【0027】時刻700m秒:タスクCがシステムコー
ルslp tsk()を発行し、タスクCがWAIT状
態となり、タスクA以外のタスクでREADY状態であ
るタスクのうち、実行優先度が最も高いタスク、すなわ
ちタスクDがRUN状態となる。
Time 700 ms: Task C executes system call slp Issuing tsk (), task C enters the WAIT state, and among tasks other than task A that are in the READY state, the task with the highest execution priority, that is, task D, enters the RUN state.

【0028】時刻800m秒:タスクDがシステムコー
ルwup tsk(#1)を発行し、タスクAが実行可
能となるが、タスクAはタスクDよりも実行優先度が高
いため、タスクDがREADY状態となり、タスクAが
RUN状態となる。
Time 800 ms: Task D makes system call wup By issuing tsk (# 1), task A becomes executable. However, since task A has a higher execution priority than task D, task D is in the READY state and task A is in the RUN state.

【0029】時刻900m秒:ユーザアプリケーション
の実行終了である。結果として、各オブジェクトの状態
は、タスクAがRUN状態、タスクBがWAIT状態、
タスクCがセマフォPを取得中でWAIT状態、タスク
DがREADY状態となる。セマフォPのセマフォカウ
ンタ値は「0」であり、タスクCがセマフォPを取得中
である。
Time 900 ms: End of execution of the user application. As a result, the state of each object is as follows: task A is in the RUN state, task B is in the WAIT state,
Task C is acquiring semaphore P and is in the WAIT state, and task D is in the READY state. The semaphore counter value of the semaphore P is “0”, and the task C is acquiring the semaphore P.

【0030】次に、以上説明したようなユーザアプリケ
ーション1を、図1に示した構成のソフトウエア開発支
援装置3を用いて具体的にデバッグを行う場合の動作手
順を説明する。なお、本実施形態では、ソフトウエア開
発支援装置3に次の2つのブレークパターンを設定す
る。
Next, an operation procedure for specifically debugging the above-described user application 1 using the software development support device 3 having the configuration shown in FIG. 1 will be described. In this embodiment, the following two break patterns are set in the software development support device 3.

【0031】・ 第1のブレークパターン(第1の制約
条件):タスクBとタスクCは、同時に実行可能となら
ない。 ・ 第2のブレークパターン(第2の制約条件):タス
クCは、セマフォPをアクセスしない。
First break pattern (first constraint condition): Task B and task C cannot be executed simultaneously. Second break pattern (second constraint): Task C does not access semaphore P.

【0032】ソフトウエア開発支援装置3は、ユーザア
プリケーション1の実行中に、これらのブレークパター
ンのうち、どちらか1つが不成立となった場合に、ユー
ザアプリケーション1の実行を中断するように振舞う。 (c)ソフトウエア開発支援装置 図1に示すように、ソフトウエア開発支援装置3は、ブ
レークパターン入力部8、ブレークパターン生成部1
2、OS制御部17、ブレーク情報出力部20、OS内
部状態読取部13、イベント読取部14、トレース情報
出力部18の7つの処理部と、ブレークパターンライブ
ラリ記憶部10、ブレークパターン情報記憶部11、ア
プリケーション情報記憶部9、イベント履歴情報記憶部
19、の4つの外部記憶と、内部記憶であるOS状態テ
ーブル記憶部19から構成される。
The software development support device 3 behaves so as to interrupt the execution of the user application 1 when any one of these break patterns is not satisfied during the execution of the user application 1. (C) Software Development Support Device As shown in FIG. 1, the software development support device 3 includes a break pattern input unit 8, a break pattern generation unit 1
2, OS control unit 17, break information output unit 20, OS internal state read unit 13, event read unit 14, trace information output unit 18, seven processing units, break pattern library storage unit 10, break pattern information storage unit 11 , An application information storage unit 9, and an event history information storage unit 19, and an OS state table storage unit 19 as an internal storage.

【0033】ソフトウエア開発支援装置3は、ユーザが
あらかじめソフトウエア開発支援装置3に設定した制約
条件(ユーザアプリケーションの禁止動作の条件)が、
ユーザアプリケーション1実行中に不成立となった場
合、すなわち、ブレーク状態を検出した場合(ユーザア
プリケーションの禁止動作を検出した場合)に、マルチ
タスクOS2を制御し、ユーザアプリケーション1の実
行を一時中断するように構成されている。
The software development support device 3 is configured such that the constraint conditions (conditions of the prohibited operation of the user application) set in advance by the user in the software development support device 3 are as follows.
When the condition is not satisfied during execution of the user application 1, that is, when a break state is detected (when a prohibited operation of the user application is detected), the multitask OS 2 is controlled to temporarily suspend the execution of the user application 1. Is configured.

【0034】次に、ソフトウエア開発支援装置3の各部
の処理動作を図7に示す全体の処理の流れに沿って説明
する。 (c−1)ブレークパターン入力部 ブレークパターン入力部8は、記憶部9に記憶されてい
るアプリケーション情報を参照し、ユーザに、記憶部1
0に記憶されているブレークパターンライブラリ、記憶
部11に記憶されているブレークパターン情報の作成・
追加・修正・削除などの編集機能やそのためのユーザイ
ンタフェースを提供する。
Next, the processing operation of each unit of the software development support apparatus 3 will be described with reference to the overall processing flow shown in FIG. (C-1) Break Pattern Input Unit The break pattern input unit 8 refers to the application information stored in the storage unit 9 and provides the user with the storage unit 1
0 of the break pattern library stored in the storage unit 11 and the break pattern information stored in the storage unit 11.
Provides editing functions such as addition, modification, and deletion, and a user interface therefor.

【0035】記憶部10に記憶されているブレークパタ
ーンライブラリは、システムコール発行、タスク状態遷
移、セマフォ状態変更などのOS内部イベントの発生と
その発生時刻におけるOS内部状態などを入力イベント
とした状態遷移図で表されるブレークパターンの雛形の
セットである。例えば、図8や図9の形式でブレークパ
ターンの雛形が定義されている。
The break pattern library stored in the storage unit 10 is a state transition in which an OS internal event such as a system call issuance, a task state transition, a semaphore state change, and the like, and an OS internal state at the occurrence time are input events. It is a set of break pattern templates represented in the figure. For example, a template of a break pattern is defined in the format of FIG. 8 or FIG.

【0036】例えば、制約条件が「特定の2つのタスク
が同時に実行可能とならない」であるときのブレークパ
ターンの雛形は、図8のように表すことができる。図8
において「同時に実行可能とならない(タスク、タス
ク)」が制約条件の表記方法であり、これに対応するブ
レークパターンの定義がその下に示した状態遷移図であ
る。状態遷移図では、S0 は初期状態、SE は終了状
態、その他のSn はS0 からSE への遷移の途中過程の
状態である。図8のイベントとして示した表記の1つで
ある「タスク状態遷移:(%1)→実行可能」の表記
は、タスク状態遷移イベントが発生し、その内容は、第
1引数のタスク%1が実行可能となったことによるイベ
ントであることを表している。
For example, a template of a break pattern when the constraint condition is “two specific tasks cannot be executed simultaneously” can be represented as shown in FIG. FIG.
In FIG. 7, "not executable at the same time (task, task)" is the notation method of the constraint condition, and the corresponding break pattern definition is the state transition diagram shown below. In the state transition diagram, S 0 is the initial state, the S E end state, the other S n is the state in the middle course of the transition to S E from S 0. The notation “task state transition: (% 1) → executable”, which is one of the notations shown as the event in FIG. 8, indicates that a task state transition event has occurred, and the content of the event is that the task% 1 of the first argument is Indicates that the event has been made executable.

【0037】同様に、制約条件が「特定のタスクが特定
のセマフォをアクセスしない」であるときのブレークパ
ターンの雛形は、図9のように表すことができる。図9
において、イベント表記「システムコール発行:sig
sem(%1、%2)」は、システムコール発行イベ
ントが発生し、その内容が、sig sem(%1、%
2)であることによるイベントであることを表してい
る。ここで、%1はタスクID、%2はセマフォIDを
表している。
Similarly, a template of a break pattern when the constraint condition is “a specific task does not access a specific semaphore” can be represented as shown in FIG. FIG.
In the event notation "issue system call: sig
"sem (% 1,% 2)" indicates that a system call issuance event has occurred and its content is sig sem (% 1,%
2) represents an event. Here,% 1 represents a task ID, and% 2 represents a semaphore ID.

【0038】記憶部11に記憶されているブレークパタ
ーン情報は、図10に示すように、図8や図9の制約条
件の表記の引数部分に、具体的なタスクID、セマフォ
IDなどのオブジェクトIDを設定するためのものであ
る。
As shown in FIG. 10, the break pattern information stored in the storage unit 11 includes object IDs such as specific task IDs and semaphore IDs in the arguments of the constraint conditions shown in FIGS. It is for setting.

【0039】例えは、図10の「同時に実行可能となら
ない(#2、#3)」という表記は、タスクBとタスク
Cが同時に実行可能とならないという第1の制約条件を
表しており、「アクセスしない(#3、#99)」とい
う表記は、タスクCがセマフォPをアクセスしないとい
う第2の制約条件を表している。
For example, the notation “not simultaneously executable (# 2, # 3)” in FIG. 10 represents the first constraint condition that task B and task C cannot be simultaneously executed. The notation "do not access (# 3, # 99)" represents the second constraint condition that task C does not access semaphore P.

【0040】ブレークパターン入力部8のユーザインタ
フェースは、図8や図9の状態遷移図を含むブレークパ
ターンライブラリ、及び図10のブレークパターン情報
に関する、作成・追加・修正・削除などの編集機能を実
装している。
The user interface of the break pattern input unit 8 has a break pattern library including the state transition diagrams of FIGS. 8 and 9 and an editing function such as creation, addition, modification, and deletion of the break pattern information of FIG. doing.

【0041】また、ブレークパターン入力部8は、ユー
ザが設定するブレークパターンの記入誤りチェックのた
めに、記憶部9に記憶されたアプリケーション情報を利
用する。
The break pattern input unit 8 uses the application information stored in the storage unit 9 to check for an entry error in the break pattern set by the user.

【0042】アプリケーション情報は、デバッグ対象と
するユーザアプリケーション1全体に依存した情報であ
り、マルチタスクOS2に依存した情報と、ユーザアプ
リケーション1に依存した情報を含む。マルチタスクO
S2に依存した情報は、図11に示すような、マルチタ
スクOS2が提供するシステムコールの種類、オブジェ
クトの種類、タスク制御ブロックの属性、セマフォ制御
ブロックの属性などの情報である。ユーザアプリケーシ
ョン1に依存した情報は、図12及び図13に示すよう
な、ユーザがユーザアプリケーション内で定義した全て
のオブジェクト(タスク、セマフォ)のオブジェクトI
Dとオブジェクト名の情報である。
The application information is information that depends on the entire user application 1 to be debugged, and includes information that depends on the multitask OS 2 and information that depends on the user application 1. Multitask O
The information dependent on S2 is information such as the type of the system call provided by the multitask OS2, the type of the object, the attribute of the task control block, the attribute of the semaphore control block, and the like, as shown in FIG. The information depending on the user application 1 includes, as shown in FIGS. 12 and 13, the object I of all objects (tasks, semaphores) defined by the user in the user application.
D and object name information.

【0043】なお、本実施形態では触れないが、アプリ
ケーション情報は、ユーザアプリケーション1のコンパ
イル時に生成されるデバッグ情報や、これらの情報を提
供できるようなインタフェースを持ったマルチタスクO
S2から収集・作成してもよい。
Although not described in the present embodiment, the application information includes debug information generated at the time of compiling the user application 1 and a multitask O having an interface capable of providing such information.
It may be collected and created from S2.

【0044】(c−2)ブレークパターン生成部 ブレークパターン生成部12は、記憶部10、記憶部1
1にそれぞれ記憶されているブレークパターンライブラ
リとブレークパターン情報から、ブレーク状態検出部1
5に渡すためのブレークパターンを生成する。具体的な
イメージとしては、図8、図9に示した一般的なブレー
クパターンの雛形から、図10のブレークパターン情報
を用いて、ブレーク状態検出部15がデバッグのために
直接参照できる図14、図15に示したような具体的な
ブレークパターンを得ることである。
(C-2) Break Pattern Generation Unit The break pattern generation unit 12 includes the storage unit 10 and the storage unit 1.
The break state detection unit 1 uses the break pattern library and the break pattern information stored in the
5 to generate a break pattern to pass. As a specific image, the break state detecting unit 15 can refer directly to the break state detection unit 15 for debugging by using the break pattern information of FIG. 10 from the general break pattern templates shown in FIGS. The purpose is to obtain a specific break pattern as shown in FIG.

【0045】ユーザアプリケーション1を実際に実行す
る前に、まず、上述したように、ブレークパターン入力
部8を介して所望の制約条件に基づき、ユーザは、ブレ
ークパターンの雛形、ブレークパターン情報の入力(作
成・追加・修正・削除などの編集も含む)を行う(ステ
ップS1)。そして、ブレークパターン生成部12で
は、入力された一般的なブレークパターンの雛形から、
ブレークパターン情報を用いて、ブレーク状態検出部1
5がデバッグのために直接参照できるようなブレークパ
ターンを生成する(ステップS2)。
Before actually executing the user application 1, first, as described above, the user inputs the template of the break pattern and the break pattern information based on the desired constraint conditions through the break pattern input section 8 ( (Including editing such as creation / addition / modification / deletion) (step S1). Then, in the break pattern generation unit 12, from the input general break pattern model,
Using the break pattern information, the break state detection unit 1
Then, a break pattern that allows the user 5 to directly refer to it for debugging is generated (step S2).

【0046】さて、ユーザが、ソフトウエア開発支援装
置3からユーザアプリケーション1を実行状態にする際
には、まず、ユーザアプリケーション1の実行開始直後
またはユーザがあらかじめ設定したデバッグ開始ポイン
トでブレークするように従来技術によるブレークポイン
トを設定してから、ユーザアプリケーション1を実行状
態にする。この結果、ユーザアプリケーション1は実行
開始直後またはあらかじめ設定したデバッグ開始ポイン
トで実行を中断する。
When the user puts the user application 1 in the execution state from the software development support device 3, the user first sets a break immediately after the execution of the user application 1 or at a debugging start point set in advance by the user. After setting a breakpoint according to the related art, the user application 1 is set to the execution state. As a result, the user application 1 suspends the execution immediately after the start of the execution or at a debugging start point set in advance.

【0047】(c−3) OS内部状態読取部 OS内部状態読取部13は、ユーザアプリケーション1
のブレーク状態が検出されると(ユーザアプリケーショ
ンが実行される前に)、マルチタスクOS2からOS内
部状態を読み出し、ソフトウエア開発支援装置3内の内
部記憶であるOS状態テーブル16の初期値として書き
込む(ステップS11)。OS状態テーブル16は、図
2のOS内部状態と同じ構造である。OS状態テーブル
16への書き込みが完了すると、OS制御部17を介し
てユーザアプリケーション1の実行を再開する(ステッ
プS12)。
(C-3) OS Internal State Reading Unit The OS internal state reading unit 13
Is detected (before the user application is executed), the OS internal state is read from the multitask OS 2 and written as the initial value of the OS state table 16 which is an internal storage in the software development support device 3. (Step S11). The OS state table 16 has the same structure as the OS internal state of FIG. When the writing to the OS state table 16 is completed, the execution of the user application 1 is restarted via the OS control unit 17 (step S12).

【0048】図5に示したユーザアプリケーション1で
は、オブジェクトの初期状態、すなわちタスクA、タス
クB、タスクC、タスクD及びセマフォPの初期状態が
読み込まれることになる。
In the user application 1 shown in FIG. 5, the initial states of the objects, that is, the initial states of the tasks A, B, C, D and semaphore P are read.

【0049】OS内部状態読取部13は、ソフトウエア
開発支援装置3内部のOS状態テーブル16へのOS内
部状態の書き込みが完了すると、OS制御部17を介し
て、ユーザアプリケーション1の実行を開始する。
When the writing of the OS internal state to the OS state table 16 inside the software development support device 3 is completed, the OS internal state reading unit 13 starts executing the user application 1 via the OS control unit 17. .

【0050】(c−4)OS制御部 OS制御部17は、OS内部状態読取部13やブレーク
状態検出部15からの要求により、マルチタスクOS2
のタスク実行制御部6を介して、ユーザアプリケーショ
ン1の全て、または一部のタスクについて、実行開始・
一時停止などの実行制御を行う。
(C-4) OS Control Unit The OS control unit 17 responds to requests from the OS internal state reading unit 13 and the break state detecting unit 15 by using the multitask OS 2
Of all or some of the tasks of the user application 1 via the task execution control unit 6
Performs execution control such as suspension.

【0051】(c−5)イベント読取部 イベント読取部14は、OS制御部17によって、ユー
ザアプリケーション1の実行が再開されると、マルチタ
スクOS2内のOS内部イベント発生部5から、OS内
部イベントの取得を開始し、取得したOS内部イベント
をブレーク状態検出部15に転送するほか、イベント履
歴情報として記憶部19に格納する(ステップS1
3)。
(C-5) Event Reading Unit When the execution of the user application 1 is resumed by the OS control unit 17, the event reading unit 14 sends an OS internal event from the OS internal event generation unit 5 in the multitask OS 2. Is started, the acquired OS internal event is transferred to the break state detection unit 15, and is stored in the storage unit 19 as event history information (step S1).
3).

【0052】図16は、図5のユーザアプリケーション
1を実行した場合に発生するOS内部イベントから生成
したイベント履歴情報の一例を示したものである。図1
6において、1つのOS内部イベントの履歴は、時刻、
イベント種別、イベント引数の3つのフィールドから構
成される。時刻フィールドは、当該イベントが発生した
時刻であり、イベント読取部14によって付加されたフ
ィールドである。イベント種別フィールドは、イベント
IDで表されており、各イベントIDの意味と、そのイ
ベントが持つイベント引数の内容は、図17に示すよう
なテーブルを参照することにより解釈できる。例えば、
イベントIDが「1」のOS内部イベントは、システム
コール発行イベントを意味しており、イベント引数とし
て、発行元タスクID、システムコール名、システムコ
ールの引数を持つ。なお、図17では、本実施形態のユ
ーザアプリケーションの実行に関わらないOS内部イベ
ントについては省略してある。図16のイベント引数フ
ィールドには、図17で示したイベント引数と対応した
内容で表記されている。例えば、図16において、時刻
「100」におけるシステムコール発行イベントのイベ
ント内容は、発行元タスクIDが「#1」であり、シス
テムコール名がsig semであり、システムコール
引数が「#99」である。ここで、システムコール発行
イベントの場合の引数の意味については、さらに図18
に示すようなテーブルを参照することにより解釈でき
る。例えば、システムコールsig semでは、引数
の数が「1」であり、その意味はセマフォIDであるこ
とが分かる。すなわち、前述の「#99」はセマフォI
Dである。
FIG. 16 shows an example of event history information generated from an OS internal event generated when the user application 1 of FIG. 5 is executed. FIG.
6, the history of one OS internal event includes time,
It consists of three fields: event type and event argument. The time field indicates the time at which the event occurred, and is a field added by the event reading unit 14. The event type field is represented by an event ID, and the meaning of each event ID and the content of the event argument of the event can be interpreted by referring to a table as shown in FIG. For example,
The OS internal event whose event ID is “1” means a system call issuance event, and has event source task ID, system call name, and system call arguments as event arguments. In FIG. 17, internal OS events not related to the execution of the user application according to the present embodiment are omitted. The event argument field in FIG. 16 is described with contents corresponding to the event argument shown in FIG. For example, in FIG. 16, the event content of the system call issuance event at time “100” is that the issuer task ID is “# 1” and the system call name is sig. sem, and the system call argument is “# 99”. The meaning of the argument in the case of the system call issuance event is further described in FIG.
Can be interpreted by referring to a table as shown in FIG. For example, the system call sig In sem, the number of arguments is “1”, which means that the meaning is a semaphore ID. That is, “# 99” is a semaphore I
D.

【0053】この他、イベント読取部14は、ブレーク
状態検出部15へのOS内部イベントの転送元を、格納
済みのイベント履歴情報記憶部19に切り替えて転送す
ることが可能であり、また、トレース情報出力部18を
介して、マルチタスクOS2内のOS内部イベント発生
部5から取得したOS内部イベントを逐次ユーザにトレ
ース情報として提供することができる。
In addition, the event reading unit 14 can switch the transfer source of the OS internal event to the break state detection unit 15 to the stored event history information storage unit 19 and transfer it. The OS internal event acquired from the OS internal event generator 5 in the multitask OS 2 can be sequentially provided to the user as trace information via the information output unit 18.

【0054】(c−6)トレース情報出力部 トレース情報出力部18は、現在、イベント読取部14
からブレーク状態検出部15に伝えられているOS内部
イベントを、例えば、図6に示すような図形的表記、ま
たは図16に示すような文字表記にて、ユーザに逐次示
す。
(C-6) Trace Information Output Unit The trace information output unit 18 is currently
For example, the OS internal event transmitted to the break state detecting unit 15 is sequentially shown to the user in a graphic notation as shown in FIG. 6 or a character notation as shown in FIG.

【0055】(c−7)ブレーク状態検出部 ブレーク状態検出部15は、イベント読取部14から伝
えられたOS内部イベントの情報に基づいて、OS状態
テーブル16の内容を更新する(ステップS14)。こ
れによって、OS状態テーブル16には、マルチタスク
OS2内のOS内部状態と同じ情報が保持され、その記
憶形式は図2と同様である。
(C-7) Break Status Detecting Unit The break status detecting unit 15 updates the contents of the OS status table 16 based on the information on the OS internal event transmitted from the event reading unit 14 (step S14). As a result, the same information as the OS internal state in the multitask OS 2 is held in the OS state table 16, and its storage format is the same as that in FIG.

【0056】例えば、図6に示したタイミングチャート
において、時刻300m秒の直前では、マルチタスクO
S2内部のタスクAのタスク状態はRUN状態である。
この状態で図16の時刻303m秒の内部イベントが発
生すると、マルチタスクOS2内のタスクAのタスク状
態はWAIT状態に遷移する。ソフトウエア開発支援装
置3内でも同じように、ブレーク状態検出部15がイベ
ント読取部14から時刻303m秒のイベント履歴情報
を受けると、OS状態テーブル16に格納されているタ
スクAのタスク状態をRUN状態からWAIT状態に遷
移させる。すなわち、ブレーク状態検出部15により、
OS状態テーブル16の内容は、常に最新のマルチタス
クOSの内部状態と同じ状態が保持されることになる。
For example, in the timing chart shown in FIG.
The task state of task A inside S2 is a RUN state.
In this state, when an internal event at time 303 ms in FIG. 16 occurs, the task state of task A in the multitask OS 2 transits to the WAIT state. Similarly, in the software development support apparatus 3, when the break state detection unit 15 receives the event history information of the time 303 ms from the event reading unit 14, the task state of the task A stored in the OS state table 16 is RUN. Transition from the state to the WAIT state. That is, the break state detection unit 15
The contents of the OS state table 16 always hold the same state as the latest internal state of the multitask OS.

【0057】ブレーク状態検出部15は、前述のOS状
態テーブル16の内容の更新を行う際に、ユーザにより
ユーザアプリケーション実行前に設定されているブレー
クパターンの照合を行う(ステップS14〜ステップS
15)。その際、ブレーク状態検出部15は、イベント
読取部14から伝えられたイベントに基づいて、現在設
定されている全てのブレークパターンの状態を遷移させ
る。
When updating the contents of the OS state table 16 described above, the break state detector 15 checks the break pattern set by the user before executing the user application (steps S14 to S14).
15). At this time, the break state detecting unit 15 changes the states of all the currently set break patterns based on the event transmitted from the event reading unit 14.

【0058】ここで、ブレーク状態検出部15のブレー
ク状態の検出処理について説明する。第1のブレークパ
ターンは図14、第2のブレークパターンは図15に示
すような2つの状態遷移図として、例えば、ブレーク状
態検出部15に格納されている。ブレーク状態検出部1
5は、ユーザアプリケーション実行開始前に、全てのブ
レークパターンの状態を初期化する。ブレークパターン
の状態を初期化すると、ブレークパターンの状態が、図
14および図15における初期状態S0 となる。
Here, the break state detection processing of the break state detection unit 15 will be described. The first break pattern is stored in the break state detection unit 15, for example, as two state transition diagrams as shown in FIG. Break state detector 1
5 initializes the state of all break patterns before starting the execution of the user application. When the state of the break pattern is initialized, the state of the break pattern becomes the initial state S 0 in FIG. 14 and FIG.

【0059】まず、図14のブレークパターンから見て
みる。このブレークパターンは、「タスクBとタスクC
が同時に実行可能とならない」というものであった。図
6のタイミングチャートにおいて、ユーザアプリケーシ
ョンが実行されて、100m秒が経過し、タスクAがシ
ステムコールsig sem(#99)を発行すると、
図16の時刻103m秒で示したタスク状態遷移イベン
ト「タスクB→READY」が、イベント読取部14か
らブレーク状態検出部15に伝えられる。ブレーク状態
検出部15では、これを受けて図14のブレークパター
ンの状態を、初期状態S0 からS1 に遷移させる。その
後、図6に示すように、時刻200m秒で、タスクAが
システムコールwup tsk(#3)を発行すると、
図16の時刻203m秒で示したタスク状態遷移イベン
ト「タスクC→READY」が発生し、ブレーク状態検
出部15は、これを受けて図14のブレークパターンの
状態を、初期状態S1 からブレーク状態SE に遷移させ
る。このとき、タスクB(#2)とタスクC(#3)が
同時に実行可能となり、ブレークパターンの状態がブレ
ーク状態となったので、OS制御部17に対して、ユー
ザアプリケーション制御のための要求(ユーザアプリケ
ーションの実行の一時停止要求)を出す(ステップS1
6〜ステップS17)。
First, look at the break pattern shown in FIG. This break pattern consists of “task B and task C
Will not be executable at the same time. " In the timing chart of FIG. 6, 100 ms has passed since the user application was executed, and the task A executed the system call sig. Issuing sem (# 99)
A task state transition event “task B → READY” indicated at 103 ms in FIG. 16 is transmitted from the event reading unit 14 to the break state detecting unit 15. In response to this, the break state detector 15 changes the state of the break pattern in FIG. 14 from the initial state S 0 to S 1 . Thereafter, as shown in FIG. 6, at time 200 ms, the task A executes the system call wup. Issuing tsk (# 3)
When the task state transition event “task C → READY” shown at time 203 ms in FIG. 16 occurs, the break state detecting unit 15 changes the state of the break pattern in FIG. 14 from the initial state S 1 to the break state to transition to S E. At this time, the task B (# 2) and the task C (# 3) can be executed at the same time, and the break pattern is in the break state. Issue a user application execution suspension request (step S1)
6 to Step S17).

【0060】次に、図15のブレークパターンを見てみ
る。このブレークパターンは、「タスクCがセマフォP
をアクセスしない」というものであった。図6のタイミ
ングチャートにおいて、ユーザアプリケーションが実行
されて、600m秒が経過し、タスクCがシステムコー
ルsig sem(#99)を発行すると、図16の時
刻600m秒で示したシステムコール発行イベント「タ
スクC→sig sem(#99)」が、ブレーク状態
検出部15に伝えられ、これを受けて図15のブレーク
パターンの状態を、初期状態S0 からブレーク状態SE
に遷移させる。このとき、タスクC(#3)がセマフォ
Pをアクセスし、ブレークパターンの状態がブレーク状
態となったので、OS制御部17に対して、ユーザアプ
リケーション制御のための要求(ユーザアプリケーショ
ンの実行の一時停止要求)を出す(ステップS15〜ス
テップS17)。
Next, look at the break pattern shown in FIG. This break pattern indicates that “task C has semaphore P
Do not access. " In the timing chart of FIG. 6, 600 msec elapses after the user application is executed, and the task C executes the system call sig. When sem (# 99) is issued, the system call issuance event “task C → sig” shown at time 600 ms in FIG. sem (# 99) "is transmitted in the break state detector 15, the state of the break pattern of Figure 15 In response to this, the break from the initial state S 0 state S E
Transition to. At this time, the task C (# 3) accesses the semaphore P, and the state of the break pattern is changed to the break state, so that the OS control unit 17 is requested to control the user application (temporary execution of the user application). A stop request is issued (step S15 to step S17).

【0061】なお、ブレークパターンは、複数同時に設
定することが可能で、この場合、イベントとOS状態テ
ーブル16の内容に応じて、全てのブレークパターンの
状態が遷移し、いずれか1つのブレークパターンの状態
がブレーク状態SE に遷移した時に、ブレーク状態検出
部15は、OS制御部17に対してユーザアプリケーシ
ョン制御のための要求を出す。 (c−8)ブレーク情報出力部 ブレーク情報出力部20は、ブレーク状態検出部15で
ブレーク状態が検出されたとき、図19に示すように、
ブレークのトリガーとなったブレークパターンやプログ
ラム中の発生箇所をブレーク時のOS状態テーブル16
の内容などの情報を出力する(ステップS18)。
A plurality of break patterns can be set at the same time. In this case, the states of all the break patterns are changed according to the event and the contents of the OS state table 16, and any one of the break patterns is changed. when the state is shifted to the break state S E, the break state detector 15 issues a request for user application control to the OS control unit 17. (C-8) Break Information Output Unit The break information output unit 20, when the break state is detected by the break state detection unit 15, as shown in FIG.
The OS status table 16 at the time of the break indicates the break pattern that triggered the break and the location where the break occurred in the program.
Then, information such as the contents of is output (step S18).

【0062】図19は、第1のブレークパターンに基づ
くブレーク状態が検出された場合のブレーク情報出力部
20を構成するユーザインタフェイスの1つであるブレ
ーク情報出力画面の一例である。図19において、画面
最上部にトリガーとなったブレークパターンとユーザア
プリケーション内のイベント発生箇所が表示されてい
る。「同時に実行可能とならない(タスクB、タスク
C)inタスクA」という表記は、タスクA内でタスク
BとタスクCが当時に実行可能となるような、OS内部
イベントが発生したことを示している。またその下に
は、ユーザアプリケーション1のプログラムのどの処理
がOS内部イベント発生のトリガーとなったかが示され
ている。網掛け部分はブレークのトリガーとなった処理
で、この場合、前述したように、図6の時刻200m秒
におけるタスクAのシステムコールwup tsk(#
3)の発行であることが読みとれる。
FIG. 19 shows an example of a break information output screen which is one of the user interfaces constituting the break information output section 20 when a break state based on the first break pattern is detected. In FIG. 19, the break pattern that has become a trigger and the event occurrence location in the user application are displayed at the top of the screen. The notation “task A and task C cannot be executed at the same time (task B, task C) in task A” indicates that an OS internal event has occurred in task A, such that task B and task C can be executed at that time. I have. Below that is shown which process of the program of the user application 1 has triggered the occurrence of an OS internal event. The shaded portion is the process that triggered the break. In this case, as described above, the system call wup of the task A at the time 200 ms in FIG. tsk (#
It can be seen that this is issue 3).

【0063】このようにして、ブレーク情報の出力が終
了すると、次に、OS内部状態読取部13は、マルチタ
スクOS2からOS内部状態を読み出し、ソフトウエア
開発支援装置3内の内部記憶であるOS状態テーブル1
6の初期値として書き込み(ステップS11)、この書
き込みが終了すると、ブレーク状態検出部15からの要
求に応じて、OS制御部17はユーザアプリケーション
1の実行の再開を要求する(ステップS12)。以下、
前述同様の処理動作が続行される。
When the output of the break information is completed in this manner, the OS internal state reading unit 13 reads the OS internal state from the multitask OS 2 and then stores the OS internal state in the software development support device 3 as the internal storage. State table 1
6 is written as an initial value (step S11). When the writing is completed, the OS control unit 17 requests restart of the execution of the user application 1 in response to a request from the break state detection unit 15 (step S12). Less than,
The same processing operation as described above is continued.

【0064】なお、ユーザアプリケーション1のプログ
ラムにおいて、デバッグ対象区間を指定することによ
り、デバッグ作業の効率化を図ることができる。 (d)他の実施形態 図20に、図7に示した本発明に係るOSの下で実行さ
れるユーザアプリケーションのデバッグに用いるソフト
ウエア開発支援方法を実現するコンピュータシステムの
構成を示す。このコンピュータシステムは、例えば、パ
ーソナルコンピュータであり、演算処理を司るCPU1
001と、キーボード、ポインティングデバイスおよび
マイクロフォンなどの入力部1002と、ディスプレイ
およびスピーカなどの出力部1003と、主記憶として
のROM1004およびRAM1005と、外部記憶装
置としてのハードディスク装置1006、フロッピーデ
ィスク装置1007および光ディスク装置1008をバ
ス1009により接続して構成されている。
By designating the section to be debugged in the program of the user application 1, the efficiency of the debugging operation can be improved. (D) Another Embodiment FIG. 20 shows a configuration of a computer system for realizing a software development support method used for debugging a user application executed under the OS shown in FIG. 7 according to the present invention. This computer system is, for example, a personal computer and has a CPU 1 for performing arithmetic processing.
001, an input unit 1002 such as a keyboard, a pointing device and a microphone, an output unit 1003 such as a display and a speaker, a ROM 1004 and a RAM 1005 as main storage, a hard disk device 1006 as an external storage device, a floppy disk device 1007 and an optical disk The apparatus 1008 is configured by connecting the apparatus 1008 via a bus 1009.

【0065】ここで、ハードディスク装置1006、フ
ロッピーディスク装置1007および光ディスク装置1
008のいずれかの記録媒体に上述した実施形態で説明
した図7に示したユーザアプリケーション1のデバッグ
処理を実行するためのプログラムが格納される。このプ
ログラムに記述された処理は、図1のソフトウエア開発
支援装置3の各部で実行される処理と同様で、本発明の
ソフトウエア開発支援方法を実現するためのプログラム
であり、その詳細は、前述したとおりである。また、デ
バッグ対象のユーザアプリケーション1もハードディス
ク装置1006、フロッピーディスク装置1007およ
び光ディスク装置1008のいずれかの記録媒体に格納
される。マルチタスクOS2は、RAM1005に格納
されている。そして、CPU10011の制御のもと、
記録媒体からデバッグ処理を実行するためのプログラム
を読み取りながら、このプログラムに従って、マルチタ
スクOS2の管理下でユーザアプリケーション1のデバ
ッグを実行することになる。このようにして、通常のパ
ーソナルコンピュータを用いて本発明のソフトウエア開
発支援方法を実施することができる。 (e)効果 以上説明したように、上記実施形態によれば、ブレーク
パターン入力部8からマルチタスクOS2上で実行され
るユーザアプリケーション1のタスクの禁止動作の条件
が入力されると、それに基づき、ブレークパターン生成
部12ではタスクの状態遷移に基づくブレークパターン
を生成する。OS内部状態読取部13は、ユーザアプリ
ケーション1の実行開始時にマルチタスクOSの内部状
態(例えば、ユーザアプリケーション1のタスク制御ブ
ロック、セマフォ制御テーブルの内容)を読み出して、
OS状態テーブル16に初期値として記録し、イベント
読取部14は、ユーザアプリケーション1実行中に発生
したタスクの状態を遷移させるイベントをマルチタスク
OS2から読み出してブレーク状態検出部15に通知
し、ブレーク状態検出部15は、その通知されたイベン
トに基づきOS状態テーブル16の内容を更新するとと
もに、その通知されたイベントとブレークパターン生成
部12で生成されたブレークパターンとに基づきユーザ
アプリケーション1ののタスクのブレーク状態を検出す
る。ブレーク状態を検出すると、OS制御部17を介し
てユーザアプリケーション1の実行の中断マルチタスク
OS2に指示し、そのときのOS内部状態テーブル16
の内容を出力する。なお、ユーザアプリケーション1の
実行を再開する際には、再び、OS内部状態読取部13
がマルチタスクOSの内部状態を読み取って、OS内部
状態テーブル16の初期値として記録する。従って、ユ
ーザアプリケーションの実行中断(ブレーク)ポイント
の設定および誤動作ポイントの検出、さらに誤動作検出
時のOS内部状態の参照が容易に行え、デバッグ作業の
負担が軽減できる。
Here, the hard disk device 1006, floppy disk device 1007 and optical disk device 1
A program for executing the debugging process of the user application 1 shown in FIG. 7 described in the above embodiment is stored in any one of the recording media 008. The processing described in this program is the same as the processing executed in each unit of the software development support device 3 in FIG. 1, and is a program for realizing the software development support method of the present invention. As described above. The user application 1 to be debugged is also stored in any one of the hard disk device 1006, floppy disk device 1007, and optical disk device 1008. The multitask OS 2 is stored in the RAM 1005. Then, under the control of the CPU 10011,
While reading the program for executing the debugging process from the recording medium, the user application 1 is debugged under the management of the multitask OS 2 according to the program. In this manner, the software development support method of the present invention can be implemented using a normal personal computer. (E) Effects As described above, according to the embodiment, when the condition of the prohibited operation of the task of the user application 1 executed on the multitask OS 2 is input from the break pattern input unit 8, based on the condition, The break pattern generation unit 12 generates a break pattern based on the task state transition. The OS internal state reading unit 13 reads the internal state of the multitask OS (for example, the contents of the task control block of the user application 1, the contents of the semaphore control table) at the start of the execution of the user application 1, and
The event reading unit 14 records the event in the OS state table 16 as an initial value, reads an event that changes the state of the task generated during the execution of the user application 1 from the multitask OS 2, notifies the break state detection unit 15, and notifies the break state detection unit 15 of the event. The detection unit 15 updates the contents of the OS state table 16 based on the notified event, and updates the task of the user application 1 based on the notified event and the break pattern generated by the break pattern generation unit 12. Detect break status. When the break state is detected, the execution of the user application 1 is instructed to the multitask OS 2 via the OS control unit 17 and the OS internal state table 16 at that time is interrupted.
Output the contents of When the execution of the user application 1 is resumed, the OS internal state reading unit 13 is restarted.
Reads the internal state of the multitask OS and records it as the initial value of the OS internal state table 16. Therefore, it is possible to easily set a break point of execution of the user application, detect a malfunction point, and refer to an internal state of the OS when a malfunction is detected, thereby reducing a load of debugging work.

【0066】また、ブレークパターンライブラリに格納
されたブレークパターンの雛形とユーザの所望のブレー
ク条件に基づき、デバック対象のユーザアプリケーショ
ンのブレーク状態を検出するためのブレークパターンを
生成することにより、ユーザアプリケーションのバグ発
生箇所が容易に検出でき、デバッグ作業の負担が軽減で
きる。
Further, a break pattern for detecting the break state of the user application to be debugged is generated based on the break pattern template stored in the break pattern library and the break condition desired by the user, thereby enabling the user application to be debugged. Bug occurrence locations can be easily detected, and the burden of debugging work can be reduced.

【0067】また、OS状態テーブル16には、OS内
部状態読取部13で読み取られたマルチタスクOS2内
にあるOS内部状態を記憶し、その記憶された内容をO
Sブレーク状態検出部15で、イベント読取手段から読
み取ったイベントに基づいて更新するようになっている
ので、OS状態テーブル16には常に最新のOS内部状
態がコピーされることになり、マルチタスクOS2内の
OS内部状態の情報が必要になった時は、OS状態テー
ブル16の情報を参照すればよく、マルチタスクOS2
とのデータの授受は、マルチタスクOS2内メモリの読
み出をする必要がなくなりデバッグ処理が高速化され
る。
The OS state table 16 stores the OS internal state in the multitask OS 2 read by the OS internal state reading unit 13 and stores the stored contents in the OS state table 16.
Since the S-break state detecting unit 15 updates based on the event read from the event reading unit, the latest OS internal state is always copied to the OS state table 16, and the multitask OS 2 When information on the OS internal state in the OS becomes necessary, the information in the OS state table 16 may be referred to, and the multitask OS 2
The need for reading the memory in the multitask OS 2 is eliminated, and the debugging process is sped up.

【0068】イベント読取部14が、マルチタスクOS
2から読み取ったOS内部イベントをイベント履歴情報
としてファイルに格納することと、イベント履歴情報か
らOS内部イベントを再生できるように構成されている
ため、実際にユーザアプリケーションを実行したときの
OS内部イベントの発生状況をデバッグ時に再現するこ
とができる。
The event reading unit 14 is a multitask OS
2 is stored in a file as event history information, and the internal events of the OS can be reproduced from the event history information, so that the internal events of the OS when the user application is actually executed are stored. The occurrence situation can be reproduced during debugging.

【0069】さらに、ブレークパターンが、状態遷移図
によって表現されるように構成されているため、他の表
現方式、例えばツリー構造などによる表現法式に比べ
て、ブレーク状態検出部15の内部構造が単純化でき、
条件判定処理のオーバーヘッドを少なくできる。
Furthermore, since the break pattern is configured to be represented by a state transition diagram, the internal structure of the break state detecting unit 15 is simpler than other expressions, for example, an expression using a tree structure. Can be
The overhead of the condition determination process can be reduced.

【0070】[0070]

【発明の効果】以上説明したように、本発明によれば、
OS上で実行されるソフトウエアの実行中断(ブレー
ク)ポイントの設定および誤動作ポイントの検出、さら
に誤動作検出時のOS内部状態の参照が容易に行え、デ
バッグ作業の負担が軽減できる。
As described above, according to the present invention,
It is possible to easily set an execution interruption (break) point of software executed on the OS, detect a malfunction point, and refer to the internal state of the OS when a malfunction is detected, thereby reducing the burden of debugging work.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施形態に係るソフトウエア開発支
援装置の構成例と、そのソフトウエア開発支援装置を用
いて、OS(マルチタスクOS)上で実行されるユーザ
アプリケーションのデバッグを行う場合の全体の構成を
概略的に示した図。
FIG. 1 illustrates a configuration example of a software development support device according to an embodiment of the present invention, and a case in which a user application executed on an OS (multitask OS) is debugged using the software development support device. The figure which showed roughly the whole structure of FIG.

【図2】OS内部状態の記憶例を示した図。FIG. 2 is a diagram showing a storage example of an OS internal state.

【図3】マルチタスクOSのタスク制御ブロックの構造
を示す図。
FIG. 3 is a diagram showing a structure of a task control block of the multitask OS.

【図4】マルチタスクOSのセマフォ制御テーブルの構
造を示す図。
FIG. 4 is a diagram showing a structure of a semaphore control table of the multitask OS.

【図5】ユーザアプリケーションの構成例を示した図。FIG. 5 is a diagram showing a configuration example of a user application.

【図6】ユーザアプリケーションの動作の一例を示した
タイミングチャート。
FIG. 6 is a timing chart showing an example of the operation of the user application.

【図7】ソフトウエア開発支援装置の動作を説明するた
めのフローチャート。
FIG. 7 is a flowchart for explaining the operation of the software development support device.

【図8】第1のブレークパターンの雛形の具体例を示し
た図。
FIG. 8 is a diagram showing a specific example of a template of a first break pattern.

【図9】第2のブレークパターンの雛形の具体例を示し
た図。
FIG. 9 is a diagram showing a specific example of a template of a second break pattern.

【図10】ブレークパターン情報の具体例を示した図。FIG. 10 is a diagram showing a specific example of break pattern information.

【図11】ユーザアプリケーション全体に関するアプリ
ケーション情報の具体例を示した図。
FIG. 11 is a diagram showing a specific example of application information on the entire user application.

【図12】タスクに関するアプリケーション情報の具体
例を示した図。
FIG. 12 is a diagram showing a specific example of application information relating to a task.

【図13】セマフォに関するアプリケーション情報の具
体例を示した図。
FIG. 13 is a diagram showing a specific example of application information regarding a semaphore.

【図14】第1の制約条件(ブレークパターン情報)と
図8のブレークパターンの雛形に基づき生成されたブレ
ークパターンの具体例を示した図。
FIG. 14 is a view showing a specific example of a break pattern generated based on a first constraint condition (break pattern information) and a template of the break pattern in FIG. 8;

【図15】第2の制約条件(ブレークパターン情報)と
図9のブレークパターンの雛形に基づき生成されたブレ
ークパターンの具体例を示した図。
FIG. 15 is a view showing a specific example of a break pattern generated based on the second constraint condition (break pattern information) and the template of the break pattern in FIG. 9;

【図16】ユーザアプリケーションを実行した際に発生
するOS内部状態の履歴の一例を示した図。
FIG. 16 is a diagram showing an example of a history of an OS internal state generated when a user application is executed.

【図17】イベントIDの意味とイベント引数を記憶す
るテーブルの一例を示した図。
FIG. 17 is a diagram showing an example of a table storing the meaning of an event ID and an event argument.

【図18】システムコール発行イベントの引数の数と内
容を記憶するテーブルの一例を示した図。
FIG. 18 is a diagram showing an example of a table for storing the number and contents of arguments of a system call issuance event.

【図19】トレース情報出力部のユーザインタフェース
の表示例を示した図。
FIG. 19 is a view showing a display example of a user interface of a trace information output unit.

【図20】図7に示した本発明に係るOSの下で実行さ
れるユーザアプリケーションのデバッグに用いるソフト
ウエア開発支援方法を実現するコンピュータシステムの
構成を示した図。
20 is a diagram showing a configuration of a computer system for realizing a software development support method used for debugging a user application executed under the OS according to the present invention shown in FIG. 7;

【符号の説明】[Explanation of symbols]

1…ユーザアプリケーション 2…マルチタスクOS 3…ソフトウエア開発支援装置 8…ブレークパターン入力部 9…アプリケーション情報記憶部 10…ブレークライブラリ記憶部 11…ブレークパターン記憶部 12…ブレークパターン生成部 13…OS内部状態読取部 14…イベント読取部 15…ブレーク状態検出部 16…OS状態テーブル記憶部 17…OS制御部 18…トレース情報出力部 19…イベント履歴情報記憶部 20…ブレーク情報出力部 DESCRIPTION OF SYMBOLS 1 ... User application 2 ... Multitask OS 3 ... Software development support apparatus 8 ... Break pattern input part 9 ... Application information storage part 10 ... Break library storage part 11 ... Break pattern storage part 12 ... Break pattern generation part 13 ... OS inside State reading unit 14 Event reading unit 15 Break state detecting unit 16 OS state table storage unit 17 OS control unit 18 Trace information output unit 19 Event history information storage unit 20 Break information output unit

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 システムで実行されるソフトウエアのタ
スクの状態遷移に基づく前記タスクの禁止動作のパター
ンを生成し、前記ソフトウエアの実行の際に前記ソフト
ウエア実行に基づき発生するイベントに従って遷移させ
たタスクの状態と前記生成されたパターンとに基づい
て、前記ソフトウエアのタスクの禁止動作を検出したと
き、前記ソフトウエアの実行の中断を指示することを特
徴とするソフトウエア開発支援方法。
1. A task prohibition operation pattern based on a state transition of a software task executed in a system is generated, and a transition is performed according to an event generated based on the software execution when the software is executed. A software execution support method for instructing to suspend execution of the software when detecting a prohibited operation of the software task based on the state of the task and the generated pattern.
【請求項2】 システムで実行されるソフトウエアのタ
スクの状態遷移に基づく前記タスクの禁止動作の条件を
入力する入力手段と、 この入力手段で入力された条件に基づき前記ソフトウエ
アのタスクの状態遷移に基づく前記タスクの禁止動作の
パターンを生成する生成手段と、 前記ソフトウエアの実行の際に前記ソフトウエア実行に
基づき発生するイベントに従って遷移させたタスクの状
態と前記生成されたパターンとに基づいて、前記ソフト
ウエアのタスクの禁止動作を検出する検出手段と、 この検出手段で禁止動作が検出されたとき、前記ソフト
ウエアの実行の中断を指示する指示手段と、 を具備したことを特徴とするソフトウエア開発支援装
置。
2. An input means for inputting a condition of a prohibited operation of the task based on a state transition of a software task executed in the system; and a state of the software task based on the condition input by the input means. Generating means for generating a pattern of a prohibited operation of the task based on a transition, based on a state of the task shifted according to an event generated based on the software execution when the software is executed, and the generated pattern Detecting means for detecting a prohibited operation of the software task; andinstructing means for instructing the execution of the software to be interrupted when the prohibited operation is detected by the detecting means. Software development support equipment.
【請求項3】 システムで実行されるソフトウエアの誤
動作を検出するためのプログラムを記録した機械読み取
り可能な記録媒体であって、 システムで実行されるソフトウエアのタスクの状態遷移
に基づく前記タスクの禁止動作のパターンを生成する生
成手段と、 前記ソフトウエアの実行の際に前記ソフトウエア実行に
基づき発生するイベントに従って遷移させたタスクの状
態と前記生成されたブレークパターンとに基づいて、前
記ソフトウエアのタスクの禁止動作を検出する検出手段
と、 この検出手段で禁止動作が検出されたとき、前記ソフト
ウエアの実行の中断を指示する指示手段と、 を実行するプログラムを記録した記録媒体。
3. A machine-readable recording medium on which a program for detecting a malfunction of software executed in a system is recorded, wherein the recording medium is a computer-readable recording medium. Generating means for generating a pattern of a prohibited operation; and executing the software based on a state of a task shifted according to an event generated based on the execution of the software during execution of the software and the generated break pattern. A recording medium for recording a program for executing: a detecting means for detecting a prohibited operation of the task; and an instructing means for instructing interruption of the execution of the software when the detecting means detects the prohibited operation.
JP9201543A 1997-07-28 1997-07-28 Method and device for supporting software development, and recording medium Pending JPH1145193A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9201543A JPH1145193A (en) 1997-07-28 1997-07-28 Method and device for supporting software development, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9201543A JPH1145193A (en) 1997-07-28 1997-07-28 Method and device for supporting software development, and recording medium

Publications (1)

Publication Number Publication Date
JPH1145193A true JPH1145193A (en) 1999-02-16

Family

ID=16442801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9201543A Pending JPH1145193A (en) 1997-07-28 1997-07-28 Method and device for supporting software development, and recording medium

Country Status (1)

Country Link
JP (1) JPH1145193A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154872A (en) * 1999-11-25 2001-06-08 Nec Ic Microcomput Syst Ltd Device and method for supporting software development and recording medium having the same program recorded thereon
JP2008004054A (en) * 2006-05-26 2008-01-10 Fujitsu Ltd Task transition chart display method and display apparatus
JP2008027172A (en) * 2006-07-20 2008-02-07 Kyocera Mita Corp Image forming apparatus
JP2015530679A (en) * 2012-10-04 2015-10-15 クゥアルコム・インコーポレイテッドQualcomm Incorporated Method and apparatus using high efficiency atomic operations

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154872A (en) * 1999-11-25 2001-06-08 Nec Ic Microcomput Syst Ltd Device and method for supporting software development and recording medium having the same program recorded thereon
JP2008004054A (en) * 2006-05-26 2008-01-10 Fujitsu Ltd Task transition chart display method and display apparatus
JP2008027172A (en) * 2006-07-20 2008-02-07 Kyocera Mita Corp Image forming apparatus
JP2015530679A (en) * 2012-10-04 2015-10-15 クゥアルコム・インコーポレイテッドQualcomm Incorporated Method and apparatus using high efficiency atomic operations

Similar Documents

Publication Publication Date Title
US6101524A (en) Deterministic replay of multithreaded applications
US7415699B2 (en) Method and apparatus for controlling execution of a child process generated by a modified parent process
US4819234A (en) Operating system debugger
US8327336B2 (en) Enhanced thread stepping
US8856742B2 (en) Distributed debugging
KR930000592B1 (en) Task searching apparatus
US6854108B1 (en) Method and apparatus for deterministic replay of java multithreaded programs on multiprocessors
EP2724235B1 (en) N-way runtime interoperative debugging
JP4709469B2 (en) Method and apparatus for bringing a thread into a consistent state without explicitly interrupting the thread
JP4731643B2 (en) Script creation system
US20140123116A1 (en) System and metod for debugging domain specific languages
JP2004086910A (en) Method, system, and software product for debugging computer program
JP4059547B2 (en) How to execute commands in a client / server medical imaging system
US20010034751A1 (en) Real-time OS simulator
KR20040111141A (en) Debugging breakpoints on pluggable components
US20080244592A1 (en) Multitask processing device and method
US20010027387A1 (en) Debugging supporting apparatus, debugging supporting method and recording medium readable by computer with its programs recorded thereon
TW200903338A (en) Transactional debugger for a transactional memory system
JP2000066904A (en) Method for controlling multitask and storage medium
JPH1145193A (en) Method and device for supporting software development, and recording medium
JPH11175369A (en) Program development supporting device, program development supporting method and medium recording program development supporting program
JP3323169B2 (en) Software development support device, software development support method, and recording medium recording the program
JP2012083804A (en) Simulation device
Schuppan et al. JVM independent replay in Java
JPH11134307A (en) Program development supporting device and method therefor and recording medium for recording program development supporting software