JPS63276139A - 複数プロセスシステムにおけるプロセスのデバッグ方法 - Google Patents

複数プロセスシステムにおけるプロセスのデバッグ方法

Info

Publication number
JPS63276139A
JPS63276139A JP62111032A JP11103287A JPS63276139A JP S63276139 A JPS63276139 A JP S63276139A JP 62111032 A JP62111032 A JP 62111032A JP 11103287 A JP11103287 A JP 11103287A JP S63276139 A JPS63276139 A JP S63276139A
Authority
JP
Japan
Prior art keywords
debugger
debugged
identifier
debug
control information
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
JP62111032A
Other languages
English (en)
Inventor
Koji Sugishita
杉下 幸司
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP62111032A priority Critical patent/JPS63276139A/ja
Publication of JPS63276139A publication Critical patent/JPS63276139A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、複数のプロセスが存在するシステムでプロセ
スのデバッグを行うデバッグ方法に関するものである。
従来の技術 システム内に複数のプロセスが存在し、プロセスのデバ
ッグを行う場合に、デバッグ対象プロセスをデバッグす
るデバッガ−プロセスが存在する機構を有するデバッグ
方法がある。デバッガ−プロセスがデバッグ対象プロセ
スをプロセスの生成命令で生成し、デバッガ−プロセス
の管理の下にデバッグ対象プロセスの実行を制御し、デ
バッグを行っている。デバッガ−プロセスによってデバ
ッグ対象プロセスの実行が停止した場合、プロセスを制
御する情報を保持するプロセス制御情報中に、当該プロ
セスを生成したプロセスを識別する為のプロセス識別子
が含まれるので、デバッグ対象プロセスを生成したプロ
セスすなわちデバッガ−プロセスのプロセス識別子がわ
かり、デバッガ−プロセスを宛先としてプロセス間通信
手段を介してデバッガ−プロセスにデバッグ対象プロセ
スが停止した旨を通知する。
発明が解決しようとする問題点 しかしながら上記の方法では、デバッグ対象である第1
のプロセスがプロセスの生成命令を発して第2のプロセ
スを生成した場合、第2のプロセスのプロセス制御情報
中には、第2のプロセスを生成した第1のプロセスを識
別するためのプロセス識別子はあるが、第1のプロセス
をデバッグしているデバッガ−プロセスのプロセス識別
子は含まれていないため、第2のプロセスの実行が前記
デバッガ−プロセスによって停止された場合、第2のプ
ロセスからデバッガ−プロセスにプロセス間通信手段を
介して第2のプロセスが停止した旨を通知する術がない
。デバッグ対象である第1のプロセスがプロセスの生成
命令を発した際に、生成される第2のプロセスのプロセ
ス制御情報中の、第2のプロセスを生成したプロセスの
プロセス識別子をデバッガ−プロセスのプロセス識別子
にシステム側で設定する方法も考えられるが、この方法
では第2のプロセスと第1のプロセスとの生成・被生成
の関係を全く壊してしまう。また、前述した2つの方法
では、生成された第2のプロセスにとって、第2のプロ
セスを生成した第1のプロセスが同時に存在して、第1
のプロセスと第2のプロセスが何らかのやりとりを行っ
ている場合に、第2のプロセスをデバッグするのは不可
能であった。また、システム中にプロセスの生成・被生
成の関係を全て記憶しておく方法も考えられるが、効率
の低下が著しい。
本発明はかかる点に鑑み、システム内の各プロセスを制
御する情報を保持するプロセス制御情報にプロセスが被
デバッグ中である場合、被デバッグ中状態を示すデバッ
グフラグとプロセスのデバッグを行っているデバッガ−
プロセスの識別ヲ行う為のデバッガ−識別子を含ませる
ことにより、デバッグ対象である第1のプロセスがプロ
セスの生成命令を発して第2のプロセスを生成した場合
も第1のプロセスと第2のプロセスを同時にデバッグす
る方法を提供することを目的とする。
問題点を解決するための手段 システム内の各プロセスを制御する情報を保持するプロ
セス制御情報にプロセスが被デバッグ中である場合、被
デバッグ中状態を示すデバッグフラグとプロセスのデバ
ッグを行っているデバッガ−プロセスの識別を行う為の
デバッガ−識別子を含むことと、デバッグ対象である第
1のプロセスがプロセスの生成命令を発して第2のプロ
セスを生成した場合に第1のプロセスのプロセス制御情
報中のデバッガ−識別子と同じ値を第2のプロセスのプ
ロセス制御情報中のデバッガ−識別子に設定するプロセ
ス生成手段を設けることによシ、第1のプロセスと第2
のプロセスを同時にデバッグすることを可能にする。
作用 本発明は前記した構成により、デバッグ対象である第1
のプロセスがプロセスの生成命令を発して第2のプロセ
スを生成した場合も、第1のプロセスと第2のプロセス
を同時にデバッグすることが可能である。
実施例 本実施例におけるデバッガ−プロセスとデバッグ対象プ
ロセスの動作について説明する。
システムはプロセス間通信手段を有する。各プロセスは
前記プロセス間通信手段を介して通信を行う。各プロセ
スは各プロセスを制御する情報を保持するプロセス制御
情報を持ち、プロセス制御情報には、プロセスの識別を
行うためのプロセス識別子、当該プロセスを生成したプ
ロセスのプロセス識別子、プロセスが被デバッグ中か否
かを示すデバッグフラグ、デバッグを行っているデバッ
ガ−プロセスの識別を行うためのデバッガ−識別子、プ
ロセスレジスタ群保存域、プロセス使用メモリー領域指
示子が含まれる。プロセスが実行中状態から実行待ち状
態に切り換わったとき、実行中に使用していたレジスタ
群の値をプロセス制御情報中のプロセスレジスタ群保存
域に保持し、再び実行中状態になったときプロセス制御
情報中のプロセスレジスタ群保存域よりレジスタ群に格
納することにより、実行を継続できる。又、プロセス使
用メモリー領域指示子が、各プロセス固有の命令部、変
数格納域、データ格納域を指すことにより、各プロセス
間のメモリーの保護が行える。
デバッガ−プロセスによるデバッグ対象プロセスのデバ
ッグの流れについて説明する。
(1)  デバッガ−プロセスを生成する。
(2)デバッグ対象プロセスをデバッグモードのプロセ
ス生成命令により生成する。デバッグモードのプロセス
生成命令が発せられると、デバッグ対象プロセスはプロ
セスとして通常に生成され、更に前記デバッグ対象プロ
セスのプロセス制御情報中の被デバッグ中状態を示すデ
バッグフラグがセットされ、デバッガ−識別子に前記デ
バッガ−プロセスのプロセス識別子を設定され、前記デ
バッグ対象プロセスはデバッガ−プロセスの指令待ちの
状態になる。デバッグ対象プロセスをデバッグモードで
生成する方法については後述する。
(31デバッグ対象プロセスは生成されるとデバッガ−
プロセスの管理の下で動作する。デバッガ−7”ロセス
ハ、デバッグ対象プロセスのプロセス制御情報中のプロ
セス使用メモリー領域指示子を手掛かりに、デバッグ対
象プロセスの命令部、変数格納域、データ格納域を読み
書きできる。従って、デバッガ−プロセスはデバッグ対
象プロセスの命令部を一時停止命令に置き換えることに
より、任意の地点でデバッグ対象プロセスの実行を停止
させることができる。プロセスの実行の一時停止は、一
時停止命令を実行することによりソフトウェア割り込み
が生じることによって起る。デバッグ対象プロセスが一
時停止命令を実行すると、ソフトウェア割り込みが発生
する。前記ソフトウェア割り込みの処理は第2図のアル
ゴリズムに従って以下の処理を行う。
(2)1)  一時停止命令を発したプロセスのプロセ
ス制御情報中のデバッガ−識別子を調べる二(2o2)
  前項(201)で得られたデバッガ−識別子を宛先
として、プロセス間通信手段を介しテテバッガープロセ
スにデバッグ対象プロセスが一時停止した旨を通知する
(203)  デバッグ対象プロセスをデバッガ−プロ
セスの指令待ち状態とする。
又、プロセス制御情報中のプロセスレジスタ群保存域は
次の実行命令の格納されたアドレスを保持するレジスタ
の値を含む。デバッガ−プロセスはデバッグ対象プロセ
スのプロセス制御情報中のプロセスレジスタ群保存域を
変更することにより、デバッグ対象プロセスを任意の地
点から実行させることができる。以上説明したようにデ
バッガ−プロセスはデバッグ対象プロセスを任意の地点
から任意の地点まで実行させることが可能である。
4)デバッガ−プロセスは実行開始点と実行停止点を指
示して、デバッグ対象プロセスに実行指令を出す。デバ
ッグ対象プロセスは前記デバッガ−プロセスより指定さ
れた実行開始点から実行を開始し、前記デバッガ−プロ
セスより指定された停止点で実行を停止し、前項(3で
述べた第2図のアルゴリズムに従い、停止した旨をデバ
ッガ−プロセスにプロセス間通信手段を介して通知する
+a  デバッグ対象プロセスがデバッガ−プロセスの
指令待ち状態の場合、デバッガ−プロセスはデバッグ対
象プロセスのプロセス制御情報中のプロセスレジスタ群
保存域、メモリー領域指示子を手掛かりにデバッグ対象
プロセスのレジスタ群、命令部、変数格納域、データ格
納域の読み書きを行う。
+41 、 (5)をデバッグ終了まで繰り返すことに
より、デバッグ対象プロセスの実行を制御し、必要な個
所でデバッグ対象プロセスのレジスタ群、命令部、変数
、データなどのデバッグに必要な情報の読み書きを行う
ことが可能である。
次にデバッグ対象プロセスをデバッグモードで生成する
方法について説明する。
(デバッグ対象プロセス生成例の1) デバッガ−プロセスが直接、デバッグ対象プロセスをデ
バッグモードで生成する。
この方法は従来例で述べた生成方法だが、本実施例にお
いても実施できる。
(デバッグ対象プロセス生成例の2) デバッガ−プロセスはある特定のプロセスに対して、デ
バッグ対象プロセスの生成要求をデバッガ−プロセスの
プロセス識別子を付して、プロセス間通信手段を介して
通知する。デバッグ対象プロセスの生成要求を受けた前
記プロセスは、デバッグ対象プロセスをデバッグモード
で生成し、デバッグ対象プロセスのプロセス識別子をデ
バッガ−プロセスにプロセス間通信手段を介して通知す
る。
この方法により、デバッグ対象プロセスを生成すべき特
定のプロセスが必要な場合もデバッグすることが可能で
ある。
最後に第1図のプロセスの生成命令のアルゴリズムを説
明する。
(101)  プロセスを生成する。(102)へ行く
(102)  プロセスの生成命令を発したプロセスの
プロセス制御情報中のデバッグフラグを調べる。
被デバッグ中状態ならば(1o3)へ行く。そうでなけ
れば(1oe)へ行く。
(103)  プロセスの生成命令を発したプロセスの
プロセス制御情報中のデバッガ−識別子を得る。
(104)へ行く。
(104)  生成されたプロセスのプロセス制御情報
中のデバッガ−識別子に、(103)で得られたデバッ
ガ−識別子を設定する。(105)へ行く。
(1oe)  生成されたプロセスのプロセス制御情報
中のデバッグフラグを被デバッグ中状態にセットする。
(106)へ行く。
(1oe)  生成されたプロセスのプロセス識別子を
プロセス間通信手段を介して前記デバッガ−識別子の示
すデバッガ−プロセスに通知する。
(107)へ行く。
(1oe)  プロセスの生成命令を発したプロセスと
生成されたプロセスを、前記プロセスの生成命令を発し
たプロセスのプロセス制御情報中のデバッガ−識別子の
示すデバッガ−プロセスの指令待ちの状態にする。(1
08)へ行く。
(1Oa)  生成されたプロセスのプロセス識別子を
戻り値として終了する。
以上のアルゴリズムにより、デバッグ対象である第1の
プロセスがプロセスの生成命令を発して第2のプロセス
を生成する場合、第2のプロセスも第1のプロセスをデ
バッグしているデバッガ−プロセスの管理の下にデバッ
グを行うことが可能である。
以上、述べたように本実施例によれば、各プロセスを制
御する情報を保持するプロセス制御情報に、プロセスが
被デバッグ中である場合、被デバッグ中状態を示すデバ
ッグフラグとプロセスのデバッグを行っているデバッガ
−プロセスの識別ヲ行う為のデバッガ−識別子を含ませ
ることによシ、デバッグ対象である第1のプロセスがプ
ロセスの生成命令を発して第2のプロセスを生成した場
合も、第1のプロセスと第2のプロセスを同時にデバッ
グすることが可能である。
発明の詳細 な説明したように、本発明によれば、デバッグ対象であ
る第1のプロセスがプロセスの生成命令を発して第2の
プロセスを生成した場合にも、第1のプロセスと第2の
プロセスを同時にデバッグでき、その実用的効果は大き
い。
【図面の簡単な説明】
第1図はプロセスの生成命令のアルゴリズムのフローチ
ャート、第2図は一時停止命令が実行されたときに発生
するソフトウェア割り込みの処理のアルゴリズムのフロ
ーチャートである。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名第1
図 第2図

Claims (1)

    【特許請求の範囲】
  1. システム内に複数のプロセスが存在し、プロセスのデバ
    ッグを行う場合に対象プロセスをデバッグするデバッガ
    ープロセスが存在する機構を有し、システム内の各プロ
    セスを制御する情報を保持するプロセス制御情報にプロ
    セスが被デバッグ中である場合、被デバッグ中状態を示
    すデバッグフラグとプロセスのデバッグを行っているデ
    バッガープロセスの識別を行うためのデバッガー識別子
    が含まれ、前記のデバッグ対象である第1のプロセスが
    プロセスの生成命令を発する際に、生成される第2のプ
    ロセスのプロセス制御情報内のデバッグフラグを被デバ
    ッグ中状態に設定し、デバッガー識別子を前記第1のプ
    ロセスのデバッガー識別子と同じ値に設定するプロセス
    生成手段を備えたことを特徴とする複数プロセスシステ
    ムにおけるプロセスのデバッグ方法。
JP62111032A 1987-05-07 1987-05-07 複数プロセスシステムにおけるプロセスのデバッグ方法 Pending JPS63276139A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62111032A JPS63276139A (ja) 1987-05-07 1987-05-07 複数プロセスシステムにおけるプロセスのデバッグ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62111032A JPS63276139A (ja) 1987-05-07 1987-05-07 複数プロセスシステムにおけるプロセスのデバッグ方法

Publications (1)

Publication Number Publication Date
JPS63276139A true JPS63276139A (ja) 1988-11-14

Family

ID=14550673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62111032A Pending JPS63276139A (ja) 1987-05-07 1987-05-07 複数プロセスシステムにおけるプロセスのデバッグ方法

Country Status (1)

Country Link
JP (1) JPS63276139A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200347A (ja) * 1993-12-28 1995-08-04 Nec Corp プロセス対応型デバッグ方式
JPH07225693A (ja) * 1994-02-07 1995-08-22 Internatl Business Mach Corp <Ibm> 異なるアドレス空間にわたってスレッド事象を処理する方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6079440A (ja) * 1983-10-07 1985-05-07 Fujitsu Ltd マルチ・タスクからのメツセ−ジ出力制御方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6079440A (ja) * 1983-10-07 1985-05-07 Fujitsu Ltd マルチ・タスクからのメツセ−ジ出力制御方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200347A (ja) * 1993-12-28 1995-08-04 Nec Corp プロセス対応型デバッグ方式
JPH07225693A (ja) * 1994-02-07 1995-08-22 Internatl Business Mach Corp <Ibm> 異なるアドレス空間にわたってスレッド事象を処理する方法

Similar Documents

Publication Publication Date Title
JP2692609B2 (ja) マルチタスクのプログラムデバッグ方法とその装置
JPH07225693A (ja) 異なるアドレス空間にわたってスレッド事象を処理する方法
JPS61272833A (ja) デ−タ処理装置
US5761407A (en) Message based exception handler
JP2000066904A (ja) マルチタスク制御方法及び記憶媒体
JPS63276139A (ja) 複数プロセスシステムにおけるプロセスのデバッグ方法
JPS63177231A (ja) 並列プログラムデバグ方式
JPH0328933A (ja) タスク制御方法
JPS62137627A (ja) メモリダンプ方式
JPS61251944A (ja) バツフア領域制御方式
JP2658699B2 (ja) 入出力装置用テストプログラムの被試験装置の管理方法
JPH0227436A (ja) オペレーティングシステムのプロセス制御方式
JP2551075B2 (ja) オーバレイ構造プログラム実行方式
JP2755012B2 (ja) デバッグ情報出力制御方式
JP2800577B2 (ja) デバッグ装置
JPH02110744A (ja) 情報処理装置
JPS62290942A (ja) デバツガ起動方式
JPH02127732A (ja) ジョブ管理方式
JPH0764802A (ja) リアルタイムシステムのシミュレーション装置
JPS5968067A (ja) 走行ステツプ数指定処理方式
JPS59180755A (ja) トレ−ス方式
JPS6020771B2 (ja) マイクロ診断方式
JPH0259828A (ja) マイクロコンピュータ開発支援装置
JP2001147830A (ja) リアルタイムosの状態変更方法
JPH03288941A (ja) デバッグ装置