JPH0895821A - マルチタスクのプログラムデバッグ方法とその装置 - Google Patents

マルチタスクのプログラムデバッグ方法とその装置

Info

Publication number
JPH0895821A
JPH0895821A JP6229310A JP22931094A JPH0895821A JP H0895821 A JPH0895821 A JP H0895821A JP 6229310 A JP6229310 A JP 6229310A JP 22931094 A JP22931094 A JP 22931094A JP H0895821 A JPH0895821 A JP H0895821A
Authority
JP
Japan
Prior art keywords
task
system call
debugger
command
program
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
JP6229310A
Other languages
English (en)
Other versions
JP2692609B2 (ja
Inventor
Takashi Nakajima
中島  隆
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP6229310A priority Critical patent/JP2692609B2/ja
Priority to US08/527,587 priority patent/US5805892A/en
Priority to DE69515958T priority patent/DE69515958T2/de
Priority to EP95114917A priority patent/EP0709777B1/en
Publication of JPH0895821A publication Critical patent/JPH0895821A/ja
Application granted granted Critical
Publication of JP2692609B2 publication Critical patent/JP2692609B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

Landscapes

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

Abstract

(57)【要約】 【目的】 デバッガを介して任意のデバッグ対象タスク
にシステムコールを発行させて待ち状態とし、マルチタ
スクのプログラムデバッグを柔軟にする。 【構成】 入力されたコマンドを解釈する入力コマンド
解釈部322と、コマンドにより指定されるデバッグ対
象タスクからシステムコールを発行させるシステムコー
ル発行手段が格納されるシステムコール発行コード部3
20と、デバッグ対象タスクの実行環境情報224の次
の実行アドレスをシステムコール発行コード部のアドレ
スに変換するアドレス変換手段とデバッグ対象のタスク
の実行環境情報の変換前の次実行アドレスとコマンドの
データとを含む情報を一時退避する実行環境情報退避手
段とからなる発行準備部325を有し、デバッガモニタ
からデバッグ対象のタスクを起こし、かつ、デバッガモ
ニタ自身を待ち状態とするシステムコールを発行するデ
バッガタスクのシステムコール発行部324とを有す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、デバッグ方法およびそ
の装置に関し、特にリアルタイムオペレーティングシス
テム(以下OSという)の管理下でデバッガモニタのプ
ログラムを含む複数のプログラムを複数のタスクとして
イベントドリブン的に並行して実行するマルチタスクの
プログラムデバッグ方法とその装置に関する。
【0002】
【従来の技術】一般に、コーディングされたユーザアプ
リケーションのプログラムをデバッグする場合は、その
プログラムをメイク、すなわち、コンパイル、アセンブ
ル、およびリンクしてターゲット部にダウンロードし、
デバッガの機能を駆使してデバッグを行うという手順で
作業が進められる。プログラムが期待どおりに動作しな
いときは、実行中のタスクプログラムを随時停止してそ
のときのタスクのステータスやコンテキストを調べ、コ
ーディングを手直しし、改めて手直ししたプログラムを
メイク、すなわちリメイクし、デバッグするという手順
を期待どおりの結果が得られるまで繰り返す。
【0003】OSの管理下で複数のタスクが動作するマ
ルチタスクのアプリケーションプログラムをデバッグす
るデバッガは、シングルタスクのプログラムのデバッグ
機能の外にリアルタイムOSに対応したデバッグ機能が
必要で、その1つは、ユーザの要求に応じてOSのシス
テムサービスを要求するシステムコールをデバッガから
発行する機能である。
【0004】図7は、デバッガをマルチタスクの1つと
して使用する従来のシステムの構成例、および、そのデ
バッガの基本構成の1例である。
【0005】OS200は、待ち行列管理部210によ
り、各タスクプログラム320’,422〜42nの実
行環境情報220,222〜22nを管理して待ち行列
から実行可能なタスクを選択する。OS200の管理下
に動作する各タスクプログラムのうち、デバッガタスク
プログラム320’は、ユーザのコマンド入力を解釈す
るコマンド解釈部322と、入力されたコマンドがシス
テムコール発行のときそれを実行するシステムコール発
行処理部324’とを有する。その他のタスクA〜nの
プログラム422〜42nは、ユーザアプリケーション
400のプログラムである。
【0006】このシステムは、ユーザのコマンドが入力
されるホスト部01と入力されたコマンドを実行するタ
ーゲット部02とによって構成され、ターゲット部02
は、n個のタスクプログラム422〜42nからなるユ
ーザアプリケーション400、デバッガモニタ30
0’、およびこれらの動作を管理するOS200を有す
る。ホスト部01は、入力されたユーザのコマンドによ
りデバッガモニタ300’にコマンドデータを送るコマ
ンド入力処理部100を有し、ターゲット部02のデバ
ッガモニタ300’は、ホスト部01との間の通信処理
を行なう通信割り込み処理部310と、OS200によ
り管理されるタスクプログラム中の最高の優先度で動作
するデバッガタスクプログラム320’とを有する。ま
た、OS200は、デバッガタスクプログラム320’
とユーザアプリケーション400の各タスクプログラム
のそれぞれの実行環境情報220〜22nを保持し、各
タスクの待ち行列の中から実行可能なタスクを選択する
優先度付き待ち行列管理部210を有し、タスク間の同
期および通信機構を制御する。
【0007】デバッガからシステムコールを発行させよ
うとするときは、まず、ユーザがシステムコール発行コ
マンドをホスト部01に入力する。ホスト部01のコマ
ンド入力処理部100は、このコマンドを処理してター
ゲット部02に送る。ターゲット部02では、通信割り
込み処理部310が、送信されたコマンドによりデバッ
ガタスクプログラム320’を起こすシステムコールを
発行し、OS200が、デバッガタスクプログラム32
0’の実行環境情報220を優先度付き待ち行列管理部
210の最高優先度の待ち行列に入れる。
【0008】その後、OS200は、デバッガタスクプ
ログラム320’を選択して実行する。デバッガタスク
プログラム320’は、起動されると、ホスト部01か
ら送られたコマンドデータを解析してシステムコール発
行コマンドと解釈して、OS200に対して指定された
システムコールを発行する。OS200は、そのシステ
ムコール処理を行なって、引き続き最高優先度のデバッ
ガタスクプログラム320’を選択して実行する。
【0009】デバッガタスクプログラム320’は、ユ
ーザから要求されたシステムコール発行処理を終了する
と、速やかに自タスクを待ち状態にするシステムコール
を発行する。すると、OS200は、優先度付き待ち行
列管理部210の待ち行列からデバッガタスクプログラ
ム320’の実行環境情報220を外してデバッガタス
クプログラム320’を待ち状態にする。その後、OS
200は、優先度付き待ち行列管理部210からユーザ
アプリケーション400の各タスク実行環境情報222
〜22nを待ち行列順に選択して、元のように各タスク
プログラムを実行する。
【0010】また、図8に示すように、デバッグ対象プ
ログラムのみの実行を制御する管理手段を設け、デバッ
グ対象プログラムに対して起動要求が入力されたとき、
対応する環境情報を待ち行列に登録し、指定された停止
条件とデバッグ対象プログラムの実行状態との一致を検
出したとき、デバッグ対象プログラムに対応する環境情
報を待ち行列から抹消登録して、プロセッサの使用効率
を低下させることなく、対象とするプログラムの実行状
態を制御可能とする「マルチタスクデバッグ方式」が特
開平4−291425号公報に開示されている。
【0011】また、図9に示すように、デバッグ対象の
タスク群の1つにデバッガタスク自身が含まれ、タスク
本来の動きが完全にはデバッグできないという問題を解
決するため、デバッガプログラムをOS下のタスク状態
遷移規則とは独立した規則で遷移するタスクとし、リア
ルタイム核にそのタスクを駆動する部分を備えてタスク
本来の動きをデバッグできるようにした「リアルタイム
オペレーティングシステム、(OS)」が特開平3−2
7451号公報に開示されされている。
【0012】
【発明が解決しようとする課題】しかし、従来のマルチ
タスクデバッガのシステムコール発行処理は、タスク間
の同期および通信を行なうために自タスクが待ち状態に
なるようなシステムコールの発行要求がなされたとき、
デバッガタスクプログラム自身が同期および通信の対象
となるので、ユーザの要求するデバッグ対象タスク自身
がタスク間の同期および通信を行なうシステムコールを
発行できず、ユーザの要求を満たすことができないとい
う問題点があった。
【0013】また、デバッガタスクがOSを介さずにタ
スクの実行環境情報の内容を変更するので、OSの内部
処理で矛盾を生じて誤動作を招くという問題点があっ
た。
【0014】すなわち、従来のマルチタスクデバッガ
は、例えば、特開平3−27451号公報に開示された
システムは、デバッガタスクの駆動に関するものであ
り、また、特開平4−291425号公報に開示された
方式は、デバッグ対象タスクの実行制御に関するもので
あって、いずれも、デバッグ対象のタスクに、タスク間
の同期、通信を行なうための自タスクが待ち状態になる
システムコールを発行させることはできなかった。
【0015】本発明の目的は、デバッガを介して任意の
デバッグ対象タスクにそのタスク自身を待ち状態とする
システムコールを発行させることができるマルチタスク
デバッグの方法と装置を提供することにある。
【0016】
【課題を解決するための手段】本発明のマルチタスクの
プログラムデバッグの方法は、システムコールをデバッ
グ対象のタスクから発行させるためのコマンドを入力す
る手順と、デバッガにより入力されたコマンドの情報を
デバッグ対象のタスクのスタックに格納する手順と、デ
バッグ対象のタスクの次の実行アドレスを所定の領域に
格納する手順と、デバッガからデバッグ対象のタスクを
起こすシステムコールを発行する手順と、OSがデバッ
グ対象のタスクを待ち行列に加える手順と、デバッガか
ら自タスクを待ち状態にするシステムコールを発行する
手順と、デバッグ対象のタスクが起こされたとき、スタ
ックに格納されたコマンドの情報によりデバッグ対象の
タスクから自タスクを待ち状態にするシステムコールを
発行する手順とを有する。
【0017】また、本発明のマルチタスクのプログラム
デバッグの装置は、ホスト部からデバッグ対象のタスク
を指定してデバッガモニタ宛に入力されるコマンドを解
釈する入力コマンド解釈手段と、コマンドにより指定さ
れるデバッグ対象のタスクからシステムコールを発行さ
せるシステムコール発行手段が格納されるシステムコー
ル発行コード部と、コマンドにより指定されるタスクの
実行環境情報の次の実行アドレスをシステムコール発行
コード部のアドレスに変換するアドレス変換手段と、指
定されるデバッグ対象のタスクの実行環境情報の変換前
の次実行アドレスとコマンドのデータとを含む情報を一
時退避する実行環境情報退避手段と、コマンド解釈手段
の解釈したコマンドにより、デバッガモニタからデバッ
グ対象のタスクを起こし、かつ、デバッガモニタ自身を
待ち状態とするシステムコールを発行するデバッガタス
クのシステムコール発行手段とを有する。
【0018】
【作用】入力されたコマンドの情報をデバッグ対象のタ
スクのスタックに格納し、デバッグ対象のタスクの次の
実行アドレスを所定の領域に格納し、デバッガからデバ
ッグ対象のタスクを起こすシステムコールを発行して、
OSがデバッグ対象のタスクを待ち行列に加え、デバッ
ガから自タスクを待ち状態にするシステムコールを発行
し、デバッグ対象のタスクが起こされたとき、スタック
に格納されたコマンドの情報によりデバッグ対象のタス
クから自タスクを待ち状態にするシステムコールを発行
することにより、OSからみると、デバッガから発行さ
れたシステムコールをデバッグ対象のタスクから発行さ
れたものとして、デバッガとは独立して処理することが
できる。
【0019】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
【0020】図1は本発明のマルチタスクデバッガの1
実施例のシステム構成図、図2はそのタスク遷移のタイ
ミング図、図3,4は図2の各タイミングのシステム状
態を表わすタスク遷移図である。
【0021】図1において、このマルチタスクデバッガ
システムは、従来のデバッガモニタ内に発行準備部32
5とシステムコール発行コード部330とを有し、OS
200の待ち行列管理部210が、デバッガタスクプロ
グラム320を含む各タスクプログラム422〜42n
の実行環境情報220〜22nを管理して待ち行列から
実行可能タスクを選択してデバッグを行なうもので、デ
バッガタスクプログラム320のシステムコール発行処
理部324は、システムコール発行準備部325によ
り、指定された任意のタスクの実行環境情報222〜2
2nを処理してそのタスクがシステムコールを発行可能
とする環境を用意する。ユーザが任意のタスクを指定し
てシステムコール発行のコマンドを入力すると、システ
ムコール発行部324がそのシステムコールコマンドを
処理し、指定された任意のタスクの実行環境情報222
〜22nを発行準備部325により処理してそのタスク
からシステムコールが発行可能となるように環境を用意
した後、デバッガタスク220,320が待ち状態とな
り、OS200の待ち行列管理部210が指定のタスク
を選択し、そのタスクがシステムコール発行コード部3
30と先に用意された環境により、システムコールを発
行する。
【0022】次に、この実施例の動作を説明する。
【0023】この例は、図3(A)に示すように、ユー
ザアプリケーション400のn個のタスクA〜nプログ
ラム422〜42nがデバッガタスクプログラム320
とともにOS200の管理下で動作中のとき、待ち状態
にあるタスクBプログラム424をデバッグ対象に指定
する場合の動作例である。
【0024】まず、デバッグ対象のタスクとしてユーザ
がタスクBプログラム424を指定してコマンド入力部
100にシステムコール発行コマンドを入力すると、コ
マンド入力部100はこのコマンドをターゲット部02
に送る。
【0025】ターゲット部02は、通信割り込み処理部
310により、優先度最高のデバッガタスクプログラム
320を起こすシステムコールを発行する(図2のタイ
ミング1002)。このシステムコールを受けたOS2
00は、デバッガタスクプログラム320を選択して実
行し、デバッガタスクプログラム320の実行環境情報
220を待ち行列管理部210の最高優先度の待ち行列
に格納する(タイミング1003、図3(B))。
【0026】デバッガタスクプログラム320が起きる
と、コマンド解釈部322によりホスト部01から送ら
れたコマンドを解析し、発行準備部325によりタスク
Bプログラム224の次の実行アドレスをデバッガモニ
タ300のシステムコール発行コード部330に変更す
る。さらに、タスクBの元の次実行アドレスと、発行す
るシステムコールの種類およびパラメータをタスクBの
スタック領域に格納して退避させ、タスクBプログラム
424を起こすシステムコールを発行する(タイミング
1004、図3(C))。
【0027】OS200は、タスクBの実行環境情報2
24を待ち行列管理部210の待ち行列に加えてタスク
Bを実行可能状態とする(タイミング1005、図4
(A))。デバッガタスクプログラム320は、自タス
クを待ち状態にするシステムコールを発行する(タイミ
ング1006)。次に、OS200は、デバッガタスク
の実行環境情報220を待ち行列管理部210から外し
てデバッガタスクを待ち状態にし(タイミング100
7)、その後、待ち行列管理部210の待ち行列に繋が
れている実行可能なユーザアプリケーションタスクの実
行環境情報を選択して優先度順に実行する(タイミング
1008)。
【0028】タスクBの実行環境情報224が選択され
ると、タスクBの実行環境情報224の次実行アドレス
がシステムコール発行コード部330となっているの
で、システムコール発行コード部330が実行され、タ
スクBプログラム424は実行されない(図4(B)お
よびタイミング1009〜1010参照)。システムコ
ール発行コード部330は、デバッガタスクプログラム
320のシステムコール発行準備部325によって用意
されたシステムコールの種類およびパラメータを参照し
て、ユーザが要求したシステムコールを発行する。OS
200は、タイミング1011において、システムコー
ル発行コード部330がタスクBの実行環境情報224
を利用して実行されているので、タスクBがシステムコ
ールを発行したものと解釈する。
【0029】このシステムコールが自タスクを同期およ
び通信待ち状態にするシステムコールの場合は、タスク
Bの実行環境情報224が待ち行列管理部210の待ち
行列から外されることにより、同期および通信待ち状態
になり、同期および通信待ち状態が解除されてOS20
0がタスクBの実行環境情報224を選択するまでは
(タイミング1012)、他のタスクが選択され、実行
される。
【0030】その後に同期および通信待ち状態が解除さ
れる(タイミング1013およびタイミング1014)
と、OS200は、待ち行列管理部210の待ち行列に
タスクBの実行環境情報224を繋いで実行する。図4
(B)に示すように、タスクBプログラム424は、シ
ステムコール発行コード部330の処理に続いて、自タ
スクを待ち状態にするシステムコールを発行する。
【0031】タイミング1015で、OS200が待ち
行列管理部210の待ち行列からタスクBの実行環境情
報224を外すことにより、タスクBが待ち状態にな
り、タイミング1016でシステムコール発行コマンド
による発行タスク指定の要求前の状態に戻る。ただし、
この場合は、タスクBの実行環境情報224の次実行ア
ドレスがまだシステムコール発行コード部330内にあ
る(図4(C)参照)。
【0032】その後、タイミング1017で、タスクB
の待ち状態が解除され、OS200がタスクBの実行環
境情報224を選択し、実行する場合は、システムコー
ル発行コード部330が、発行準備部325の退避して
おいたアドレスをタスクBプログラム424に戻す処理
を行い、タスクBプログラム424の続きが実行され
る。
【0033】次に、第2の実施例について図5および図
6により説明する。
【0034】第2の実施例は、第1の実施例におけるO
S200がデバッガタスクの実行環境情報220を選択
して実行する処理以降を次のように変更するものであ
る。
【0035】デバッガタスクプログラム320が起きる
と、そのコマンド解釈部322がコマンドを解析して発
行タスク指定のシステムコール発行コマンドであること
を検出し、次に、指定されたタスクであるタスクBプロ
グラム424の実行環境情報224の次実行アドレスを
デバッガモニタ300のシステムコール発行コード部3
30に変更する(図3(C)参照)。さらに、タスクB
プログラム424の元の次実行アドレス、発行するシス
テムコールの種類およびパラメータ等をデバッグ対象の
タスクBのスタック領域等に退避させる。
【0036】次に、デバッガタスクプログラム320
は、タイミング1604,タスクBプログラム424に
対する優先度を上げるように、OS200に対してシス
テムコールを発行する。OS200は、タイミング16
05で、このシステムコールに応じてタスクBの実行環
境情報224の優先度を上げる。
【0037】OS200は、デバッガタスクプログラム
320がタイミング1606で発行したタスクBプログ
ラム424を起こすシステムコールを受けると、タイミ
ング1607でタスクBの実行環境情報224を待ち行
列に繋ぎ、タスクBプログラム424を実行可能状態に
する。
【0038】次に、デバッガタスクプログラム320が
タイミング1608で、自タスクを待ち状態にするシス
テムコールを発行し、OS200がタイミング1609
で待ち行列管理部210の待ち行列からデバッガタスク
の実行環境情報220を外し、高優先度となったタスク
Bの実行環境情報224を選択する。しかし、このとき
は、次実行アドレスがデバッガモニタ320のシステム
コール発行コード部330となっているので、タスクB
ではなく、システムコール発行コード部330が実行さ
れる(図6(A)参照)。
【0039】タイミング1610でシステムコール発行
コード部330が実行されると、システムコールの種類
とパラメータを参照してユーザが要求したシステムコー
ルが発行される。次に、タイミング1611でOS20
0は、システムコール発行コード部330がタスクBの
実行環境情報224によって実行されているので、タス
クBプログラム424がシステムコールを発行している
ものと解釈する。このシステムコールが自タスクを同期
および通信待ち状態にするものの場合は、タイミング1
612でタスクBの実行環境情報224が待ち行列から
外され、同期および通信待ち状態となる(図6(B)参
照)。
【0040】その後、タイミング1613で同期および
通信待ち状態が解除されると、OS200は、待ち行列
管理部210の高優先度の待ち行列にタスクBの実行環
境情報224を繋げてシステムコール発行コード部33
0の処理を実行する(図6(C)参照)。
【0041】システムコール発行コード部330の処理
中、タイミング1614で発行される優先順位を元に戻
すためのシステムコールを受けて、OS200は、タイ
ミング1615でタスクBの実行環境情報224を待ち
行列管理部210の高優先度の待ち行列から外して元の
優先度の待ち行列に繋ぎ直す。さらに、システムコール
発行コード部330がタイミング1616で自タスクを
待ち状態にするシステムコールを発行すると、OS20
0は、タイミング1617でタスクBの実行環境情報2
24を待ち行列管理部210の待ち行列から外してタス
クBプログラム424を待ち状態にする。
【0042】タスクBは、タイミング1618でシステ
ムコール発行コマンドが発行される前の状態に戻る。た
だし、その実行環境情報224の次実行アドレスは、ま
だシステムコール発行コード部330内にある。
【0043】その後、タイミング1619でタスクBの
待ち状態が解除され、OS200がタスクBの実行環境
情報224を選択して実行するとき、システムコール発
行コード部330は、発行準備部325が退避しておい
たアドレスを元のタスクBプログラム424に戻す。こ
れによって、タスクBのプログラム424が継続して実
行される。
【0044】
【発明の効果】上述のように本発明は、デバッガモニタ
にシステムコールの発行準備部とシステムコール発行コ
ード部とを設けることにより、コマンドを入力して任意
のユーザアプリケーションのタスクプログラムから自タ
スクを指定して同期、通信待ち状態とするシステムコー
ルをデバッガを介して発行させることが可能となり、プ
ログラムのリメイクが省略されるので、デバッグのター
ンアラウンドタイムを短縮できる効果がある。
【0045】また、コマンドの入力により、随時プログ
ラムを止めてシステムコールを発行することが可能なの
で、リアルタイムシステムにおける特定の時点のシステ
ム状態を再現する必要がなくなり、デバッグを効率よく
柔軟に行なうことができる効果がある。
【図面の簡単な説明】
【図1】本発明のマルチタスクデバッガの1実施例の基
本構成図である。
【図2】図1の実施例のタスク遷移のタイミング図であ
る。
【図3】タスク遷移の各タイミングのシステム状態を表
わす図(その1)である。
【図4】タスク遷移の各タイミングのシステム状態を表
わす図(その2)である。
【図5】第2の実施例のタスク遷移のタイミング図であ
る。
【図6】第2の実施例の各タイミングのシステム状態を
表わす図である。
【図7】従来のマルチタスクデバッガの1実施例の基本
構成図である。
【図8】従来のマルチタスクデバッガの他の実施例の基
本構成図である。
【図9】従来のマルチタスクデバッガの第3の実施例を
示す図である。
【符号の説明】
01 ホスト部 02 ターゲット部 100 コマンド入力部 200 リアルタイムオペレーティングシステム、O
S 210 優先度付き待ち行列管理部 220〜228 実行環境情報 300,300’ デバッガモニタ 310 通信割込処理部 320,320’ デバッガタスクプログラム 322 コマンド解釈部 324,324’ システムコール発行処理部 325 発行環境準備部 330 システムコール発行コード部 400 ユーザアプリケーション 422〜428 アプリケーションタスクプログラム

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 デバッガのプログラムと複数のユーザア
    プリケーションのプログラムを複数のタスクの待ち行列
    としてリアルタイムオペレーティングシステムの管理下
    でイベントドリブン的に並行して実行するマルチタスク
    のプログラムデバッグ方法において、 システムコールをデバッグ対象のタスクから発行させる
    ためのコマンドを入力する手順と、 前記デバッガにより前記入力されたコマンドの情報を前
    記デバッグ対象のタスクのスタックに格納する手順と、 前記デバッグ対象のタスクの次の実行アドレスを所定の
    領域に格納する手順と、 前記デバッガから前記デバッグ対象のタスクを起こすシ
    ステムコールを発行する手順と、 前記リアルタイムオペレーティングシステムが前記デバ
    ッグ対象のタスクを前記待ち行列に加える手順と、 前記デバッガから自タスクを待ち状態にするシステムコ
    ールを発行する手順と、 前記デバッグ対象のタスクが起こされたとき、前記スタ
    ックに格納されたコマンドの情報により前記デバッグ対
    象のタスクから自タスクを待ち状態にするシステムコー
    ルを発行する手順とを有することを特徴とするマルチタ
    スクのプログラムデバッグ方法。
  2. 【請求項2】 前記入力されたコマンドの情報は、前記
    システムコールの種類とパラメータとシステムコールを
    発行させるタスクの標識とを含む請求項1に記載のマル
    チタスクのプログラムデバッグ方法。
  3. 【請求項3】 デバッグ対象のタスクプログラムの待ち
    行列中の優先度を他のユーザアプリケーションのタスク
    プログラムより高い優先度とする請求項1に記載のマル
    チタスクのプログラムデバッグ方法。
  4. 【請求項4】 複数のユーザアプリケーションのプログ
    ラムと、デバッガモニタと、前記ユーザアプリケーショ
    ンのプログラムとデバッガモニタとを複数のタスクとし
    て、各タスクをその実行環境情報によりイベントドリブ
    ン的に並行して実行する優先度付き待ち行列管理手段を
    有するリアルタイムオペレーティングシステムとを含む
    ターゲット部と、デバッグを含む各種のユーザのコマン
    ドが入力されるホスト部とからなるマルチタスクのプロ
    グラムデバッグ装置において、 前記ホスト部からデバッグ対象のタスクを指定して前記
    デバッガモニタ宛に入力されるコマンドを解釈する入力
    コマンド解釈手段と、 前記コマンドにより指定されるデバッグ対象のタスクか
    らシステムコールを発行させるシステムコール発行手段
    が格納されるシステムコール発行コード部と、 前記コマンドにより指定されるタスクの実行環境情報の
    次の実行アドレスを前記システムコール発行コード部の
    アドレスに変換するアドレス変換手段と、 前記指定されるデバッグ対象のタスクの実行環境情報の
    変換前の次実行アドレスと前記コマンドのデータとを含
    む情報を一時退避する実行環境情報退避手段と、 前記コマンド解釈手段の解釈したコマンドにより、前記
    デバッガモニタから前記デバッグ対象のタスクを起こ
    し、かつ、デバッガモニタ自身を待ち状態とするシステ
    ムコールを発行するデバッガタスクのシステムコール発
    行手段とを有することを特徴とするマルチタスクのプロ
    グラムデバッグ装置。
  5. 【請求項5】 前記実行環境情報の次実行アドレスの変
    換されたタスクの待ち行列管理手段における優先度をデ
    バッガタスクと同程度に高める優先度変更手段を有する
    請求項4に記載のマルチタスクのプログラムデバッグ装
    置。
JP6229310A 1994-09-26 1994-09-26 マルチタスクのプログラムデバッグ方法とその装置 Expired - Fee Related JP2692609B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP6229310A JP2692609B2 (ja) 1994-09-26 1994-09-26 マルチタスクのプログラムデバッグ方法とその装置
US08/527,587 US5805892A (en) 1994-09-26 1995-09-13 Method of and apparatus for debugging multitask programs
DE69515958T DE69515958T2 (de) 1994-09-26 1995-09-21 Verfahren und Einrichtung zum Beseitigen von Fehlern in Multitask-Programmen
EP95114917A EP0709777B1 (en) 1994-09-26 1995-09-21 Method of and apparatus for debugging multitask programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6229310A JP2692609B2 (ja) 1994-09-26 1994-09-26 マルチタスクのプログラムデバッグ方法とその装置

Publications (2)

Publication Number Publication Date
JPH0895821A true JPH0895821A (ja) 1996-04-12
JP2692609B2 JP2692609B2 (ja) 1997-12-17

Family

ID=16890141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6229310A Expired - Fee Related JP2692609B2 (ja) 1994-09-26 1994-09-26 マルチタスクのプログラムデバッグ方法とその装置

Country Status (4)

Country Link
US (1) US5805892A (ja)
EP (1) EP0709777B1 (ja)
JP (1) JP2692609B2 (ja)
DE (1) DE69515958T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5964890A (en) * 1997-03-27 1999-10-12 Mitsubishi Electric Semiconductor Software Co., Ltd. System call issue method and debug system
JP2008527506A (ja) * 2004-12-30 2008-07-24 インテル コーポレイション Os隔離シーケンサー上のユーザーレベルのマルチスレッド化をエミュレートする機構

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881288A (en) * 1995-09-29 1999-03-09 Matsushita Electric Industrial Co., Ltd. Debugging information generation system
US6002871A (en) * 1997-10-27 1999-12-14 Unisys Corporation Multi-user application program testing tool
JPH11194957A (ja) * 1998-01-07 1999-07-21 Matsushita Electric Ind Co Ltd デバッグ支援装置、並列実行情報生成装置、及びこれらに適用されるプログラムを記録した記録媒体
US6131186A (en) * 1998-04-20 2000-10-10 Lucent Technologies Inc. Method and apparatus for isolating portions of multi-tasking computer software
US6173440B1 (en) * 1998-05-27 2001-01-09 Mcdonnell Douglas Corporation Method and apparatus for debugging, verifying and validating computer software
US6480818B1 (en) * 1998-11-13 2002-11-12 Cray Inc. Debugging techniques in a multithreaded environment
US6862635B1 (en) * 1998-11-13 2005-03-01 Cray Inc. Synchronization techniques in a multithreaded environment
US6952827B1 (en) * 1998-11-13 2005-10-04 Cray Inc. User program and operating system interface in a multithreaded environment
US6314471B1 (en) 1998-11-13 2001-11-06 Cray Inc. Techniques for an interrupt free operating system
US6353896B1 (en) * 1998-12-15 2002-03-05 Lucent Technologies Inc. Method and apparatus for testing event driven software
US6230313B1 (en) * 1998-12-23 2001-05-08 Cray Inc. Parallelism performance analysis based on execution trace information
US6415433B1 (en) 1998-12-23 2002-07-02 Cray Inc. Method and system for identifying locations to move portions of the computer program
US6665688B1 (en) 1998-12-23 2003-12-16 Cray Inc. Method and system for automatically regenerating data on-demand
US6353829B1 (en) 1998-12-23 2002-03-05 Cray Inc. Method and system for memory allocation in a multiprocessing environment
US6321379B1 (en) 1998-12-23 2001-11-20 Cray Inc. Method and system for target register allocation
US6430676B1 (en) 1998-12-23 2002-08-06 Cray Inc. Method and system for calculating instruction lookahead
US6880126B1 (en) 1999-08-03 2005-04-12 International Business Machines Corporation Controlling presentation of a GUI, using view controllers created by an application mediator, by identifying a destination to access a target to retrieve data
US6779177B1 (en) 1999-10-28 2004-08-17 International Business Machines Corporation Mechanism for cross channel multi-server multi-protocol multi-data model thin clients
US6862686B1 (en) 1999-10-29 2005-03-01 International Business Machines Corporation Method and apparatus in a data processing system for the separation of role-based permissions specification from its corresponding implementation of its semantic behavior
US7181686B1 (en) 1999-10-29 2007-02-20 International Business Machines Corporation Selecting screens in a GUI using events generated by a set of view controllers
US6850257B1 (en) * 2000-04-06 2005-02-01 Microsoft Corporation Responsive user interface to manage a non-responsive application
US6665734B1 (en) 2000-09-21 2003-12-16 International Business Machines Corporation Blending object-oriented objects with traditional programming languages
US6668370B1 (en) 2000-09-21 2003-12-23 International Business Machines Corporation Synchronous execution of object-oriented scripts and procedural code from within an interactive test facility
US7823131B2 (en) * 2001-06-29 2010-10-26 Mentor Graphics Corporation Debugger for a hardware-implemented operating system
US6976244B2 (en) * 2002-01-09 2005-12-13 International Business Machines Corporation Method, system, and product for storage of attribute data in an object oriented environment
US7171482B2 (en) * 2002-07-12 2007-01-30 Ianywhere Solutions, Inc. System and method for managing bandwidth utilization
US20040243979A1 (en) * 2003-02-27 2004-12-02 Bea Systems, Inc. Systems utilizing a debugging proxy
US7530053B2 (en) * 2003-02-27 2009-05-05 Bea Systems, Inc. Methods utilizing a debugging proxy
US7213244B2 (en) * 2003-03-13 2007-05-01 International Business Machines Corporation Apparatus and method for distribution of work on a doubly linked list among processing threads
US20040187029A1 (en) * 2003-03-21 2004-09-23 Ting David M. T. System and method for data and request filtering
US8156476B2 (en) * 2008-06-10 2012-04-10 Microsoft Corporation Debugging support for tasks in multithreaded environments
KR20110095050A (ko) * 2010-02-18 2011-08-24 삼성전자주식회사 공유 라이브러리 디버깅 장치
CN110501511B (zh) * 2019-08-13 2023-08-08 迈克医疗电子有限公司 在线试剂调整方法、装置及分析检测系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6031648A (ja) * 1983-07-29 1985-02-18 Sharp Corp マルチ・タスク制御方法
JPH02271435A (ja) * 1989-04-13 1990-11-06 Mitsubishi Electric Corp タスクトレース装置
JPH0327451A (ja) * 1989-06-23 1991-02-05 Matsushita Electric Ind Co Ltd リアルタイムオペレーティングシステム
US5371887A (en) * 1989-09-05 1994-12-06 Matsushita Electric Industrial Co., Ltd. Time-shared multitask execution device
JPH04291425A (ja) * 1991-03-20 1992-10-15 Fujitsu Ltd マルチタスクデバッグ方式
JPH07182182A (ja) * 1993-12-21 1995-07-21 Mitsubishi Electric Corp システムコール情報採取装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5964890A (en) * 1997-03-27 1999-10-12 Mitsubishi Electric Semiconductor Software Co., Ltd. System call issue method and debug system
JP2008527506A (ja) * 2004-12-30 2008-07-24 インテル コーポレイション Os隔離シーケンサー上のユーザーレベルのマルチスレッド化をエミュレートする機構

Also Published As

Publication number Publication date
DE69515958D1 (de) 2000-05-04
US5805892A (en) 1998-09-08
EP0709777A2 (en) 1996-05-01
JP2692609B2 (ja) 1997-12-17
DE69515958T2 (de) 2000-12-21
EP0709777B1 (en) 2000-03-29
EP0709777A3 (en) 1996-10-02

Similar Documents

Publication Publication Date Title
JP2692609B2 (ja) マルチタスクのプログラムデバッグ方法とその装置
US20070168082A1 (en) Task-based robot control system for multi-tasking
JP3770366B2 (ja) 制御プログラムの開発環境装置、制御プログラムを実行する制御装置、並びに、それらを実現するプログラムの記録媒体
JP2001256062A (ja) 割込処理方法およびその方法を用いた演算処理装置
JPH01273136A (ja) オペレーティングシステムのファームウェア化方式
JPH0328933A (ja) タスク制御方法
JP2001255912A (ja) モーションプログラムの実行方法
JPH0327451A (ja) リアルタイムオペレーティングシステム
Holm Real Time Programming in a Data Acquisition and Data Analysis System
JPS6116344A (ja) 対話形式デバツグ処理方式
JPS6195452A (ja) 複数オペレ−テイングシステムにおける入出力制御方式
JPH03103926A (ja) プロローグインタプリタ・コンパイラのインタフェース方法
JPH02202635A (ja) タスク制御方法
JPS6278631A (ja) 複数オペレ−テイングシステムにおける入出力制御方式
JP2002229805A (ja) 組み込み用リアルタイムオペレーティングシステムの再構築方式および記憶媒体
JPH064306A (ja) 割り込み処理の分割方法
JPH0421892B2 (ja)
JPH01260554A (ja) ファイル転送完了通知方式
JPH0589049A (ja) コマンド実行装置
JPS6020771B2 (ja) マイクロ診断方式
JPH02118726A (ja) ジョブ実行制御方式
JPS63158632A (ja) インタプリタシステムにおけるシステムプログラム実行方式
JPH02253336A (ja) プログラム起動方式
JPH0773051A (ja) スレッド実行順序決定方法
JPH09325892A (ja) ジョブ並列実行制御方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080905

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080905

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090905

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090905

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100905

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100905

Year of fee payment: 13

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100905

Year of fee payment: 13

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 15

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130905

Year of fee payment: 16

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees