JPH07306800A - デバッグ方式 - Google Patents

デバッグ方式

Info

Publication number
JPH07306800A
JPH07306800A JP6100210A JP10021094A JPH07306800A JP H07306800 A JPH07306800 A JP H07306800A JP 6100210 A JP6100210 A JP 6100210A JP 10021094 A JP10021094 A JP 10021094A JP H07306800 A JPH07306800 A JP H07306800A
Authority
JP
Japan
Prior art keywords
operating system
computer
central processing
processing unit
debugger
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
JP6100210A
Other languages
English (en)
Inventor
Masashi Mihashi
正史 三橋
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP6100210A priority Critical patent/JPH07306800A/ja
Publication of JPH07306800A publication Critical patent/JPH07306800A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【目的】 オペレーティングシステムのみならずオペレ
ーティングシステムへの動的な追加モジュールに対して
もシンボリックなデバッグを可能とするデバッグ方式を
提供する。 【構成】 ホスト計算機101及びリモート計算機20
1は、オペレーティングシステム106、206を実行
する中央処理装置102、202と、各中央処理装置1
02、202とは独立に動作可能であり、各中央処理装
置102、202の動作を制御するサービスプロセッサ
105、205と、をそれぞれ有する。また、リモート
計算機201は、オペレーティングシステム206に関
するデバッグ情報を得るサーバプロセス303を有す
る。以上の構成を有する計算機システムにおいて、ホス
ト計算機101上のデバッガ302は、デバッグ情報を
得ることによりリモート計算機201におけるオペレー
ティングシステムのデバッグを行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はオペレーティングシステ
ムに対するデバッグ方式であり、特にある計算機上のオ
ペレーティングシステムのデバッグを他の計算機上で可
能にするデバッグ方式、更には複数の中央処理装置を有
する計算機上のオペレーティングシステムのデバッグを
可能にするデバッグ方式に関する。
【0002】
【従来の技術】図8は、特開平5−225090号公報
に開示された従来の遠隔デバッグ方式を説明するための
システム構成を示した図である。利用者の手元にあり直
接利用できるローカルコンピュータ10は、通信ネット
ワーク30を介してリモートコンピュータ20に接続さ
れ相互にデータ交換可能である。ローカルコンピュータ
10上のユーザインターフェース制御手段11は、利用
者とのデータ入出力を制御する手段である。デバッガ制
御手段12は、ローカル及びリモートコンピュータ1
0、20上の実行プログラム制御手段13、21からの
情報を収集し、また実行プログラム制御手段13、21
に指令を送り実行プログラムの動作を制御する。実行プ
ログラム制御手段13、21は、各コンピュータ10、
20上で動作する実行プログラム15、22を制御す
る。通信手段14、23は、デバッガ制御手段12と実
行プログラム制御手段21との間のデータ、指令及び制
御の授受を保証する。なお、本デバッガの持つ機能とし
ては、(1)動作停止箇所の指定と解除、(2)次の実
行ステップへの状態遷移、(3)データ格納領域中の値
の参照、(4)通常の実行再開、がある。
【0003】次に、まず、(1)の動作停止箇所の指定
の処理について説明する。
【0004】利用者は、デバッガに対してユーザインタ
ーフェース制御手段11を介して動作停止箇所を設定す
る指令を発行する。ユーザインターフェース制御手段1
1は、指令をデバッガ制御手段12に解釈できる内部形
式に変換した後に渡す。次に、デバッガ制御手段12
は、この指令を解釈し、ローカルコンピュータ10ある
いはリモートコンピュータ20上に存在する実行プログ
ラム制御手段13、21に設定された停止箇所で実行プ
ログラム15、22を停止させる指令を発行する。この
ときリモートコンピュータ20上の実行プログラム制御
手段21に指令を発するならば通信手段14、23を介
して送る。指令を受け取ったいずれかの実行プログラム
制御手段13、21は、もし自分の制御する実行プログ
ラム15、22中に指定箇所が含まれているならば、そ
の箇所で停止するように実行プログラム15、22にデ
ータをセットし、その停止箇所を内部データとして記憶
する。記憶した後、自己の素性と停止箇所とを設定した
旨をデバッガ制御手段12に返答する。もし、含まれて
いないならば、自分の素性と停止箇所とが設定できなか
った旨を返答する。
【0005】返答を受け取ったデバッガ制御手段12
は、停止箇所を設定できた旨を返答してきた実行プログ
ラム制御手段13、21と停止箇所とを内部データとし
て記憶する。もし、設定できた旨が一つも返ってこなけ
れば、ユーザインタフェース制御手段11にエラーが発
生したことを伝える。ユーザインタフェース制御手段1
1は、利用者にエラーを通知する。
【0006】これらと同様の処理手順によって、(2)
次の実行ステップへの状態遷移、(3)データ格納領域
中の値の参照、(4)通常の実行再開、を行うことがで
きる。
【0007】
【発明が解決しようとする課題】しかしながら、従来の
デバッグ方式では、デバッガ制御手段がオペレーティン
グシステムの動作に関連しているため、オペレーティン
グシステム本体をデバッグするような場合、被デバッグ
プログラム(オペレーティングシステム)を一旦停止さ
せるためには計算機本体を停止させる必要があり、デバ
ッグ操作を継続できないという問題があった。
【0008】また、計算機稼働中に動的にオペレーティ
ングシステム内部に追加されるモジュールに対しては、
その追加モジュールがオペレーティングシステム内部の
アドレス空間のどの領域にロードされるかがそのロード
時に動的に決定されるため、デバッガがその追加モジュ
ールのオペレーティングシステム内部のアドレスやその
追加モジュール内部で定義されているシンボルが持つア
ドレス情報を入手することができなかった。
【0009】本発明は以上のような問題を解決するため
になされたものであり、その目的は、オペレーティング
システムのみならずオペレーティングシステムへの動的
な追加モジュールに対してもシンボリックなデバッグを
可能とするデバッグ方式を提供することにある。
【0010】
【課題を解決するための手段】以上のような目的を達成
するために、請求項1記載の発明は、通信路を介して接
続された第1の計算機と第2の計算機とを有する計算機
システムにおいて、前記各計算機は、通信機能を有する
オペレーティングシステムを実行する中央処理装置と、
前記中央処理装置とは独立に動作可能であり、前記中央
処理装置の動作を制御するサービスプロセッサと、前記
通信路を介して他の計算機と通信を行う通信手段と、を
それぞれ有し、前記第1の計算機は、前記オペレーティ
ングシステム上で動作しプログラムを試験するデバッガ
を有し、前記第2の計算機は、前記オペレーティングシ
ステム上で動作しそのオペレーティングシステムに関す
るデバッグ情報を得るサーバプロセスを有し、前記第1
の計算機上のデバッガは、前記デバッグ情報に基づき前
記第2の計算機におけるオペレーティングシステムのデ
バッグを行うことを特徴とする。
【0011】請求項2記載の発明は、請求項1記載のデ
バッグ方式において、前記第1の計算機は、記憶手段に
前記デバッグ情報を予め保持することを特徴とする。
【0012】請求項3記載の発明は、請求項1記載のデ
バッグ方式において、前記第2の計算機は、前記オペレ
ーティングシステムへの追加モジュールを前記オペレー
ティングシステム内部のアドレス空間にロードしたとき
のアドレス情報を得る手段を有することを特徴とする。
【0013】請求項4記載の発明は、デバッグ対象とな
るオペレーティングシステム内部のモジュールを実行す
る1乃至複数の第1の中央処理装置群と、前記第1の中
央処理装置群で実行される以外のオペレーティングシス
テム部分を実行する第2の中央処理装置群と、前記第1
及び第2の中央処理装置群とは独立に動作可能であり、
前記第1及び第2の中央処理装置群の動作を制御するサ
ービスプロセッサと、前記オペレーティングシステム上
で動作しプログラムを試験するデバッガと、前記オペレ
ーティングシステム上で動作し前記オペレーティングシ
ステムに関するデバッグ情報を得るサーバプロセスと、
を有する計算機上で前記デバッグは前記デバッグ情報に
基づき稼働中のオペレーティングシステムのデバッグを
行うことを特徴とする。
【0014】請求項5記載の発明は、請求項4記載のデ
バッグ方式において、オペレーティングシステムへの追
加モジュールをそのオペレーティングシステム内部のア
ドレス空間にロードしたときのアドレス情報を得る手段
を有することを特徴とする。
【0015】
【作用】以上のような構成を有する請求項1記載の発明
によれば、第2の計算機上で動作するサーバプロセス
は、第2の計算機上の中央処理装置で実行されるオペレ
ーティングシステムが保持するデバッグ情報を得る。サ
ービスプロセッサは、そのデバッグ情報を通信路を経由
して第1の計算機上のデバッガに転送する。第1の計算
機上のデバッガは、転送されたデバッグ情報を保持する
ことにより、以後の第2の計算機のオペレーティングシ
ステムに対するデバッグ処理において、その第1の計算
機上に保持されているデバッグ情報を参照しながらデバ
ッグ操作を行うことができる。
【0016】また、請求項2記載の発明によれば、第2
の計算機上のオペレーティングシステムのデバッグ情報
を予め第1の計算機の記憶手段に格納しておき、その第
1の計算機上のデバッガが以後の第2の計算機のオペレ
ーティングシステムに対するデバッグ処理において、そ
の第1の計算機上に保持されているデバッグ情報を参照
しながらデバッグ操作を行うことができる。
【0017】また、請求項3記載の発明によれば、第2
の計算機上のオペレーティングシステム内部に動的にロ
ードされるそのオペレーティングシステムの追加モジュ
ールに対しても、その追加モジュールに対するデバッグ
情報を通信路を経由して第1の計算機上のデバッガに転
送する。デバッガは以後の第2の計算機上の追加モジュ
ールに対するデバッグ処理において、その第1の計算機
上に保持されているそのデバッグ情報を参照しながらシ
ンボリックなデバッグ操作を行うことができる。
【0018】また、請求項4記載の発明によれば、複数
の中央処理装置を有する計算機では、オペレーティング
システム内部のデバッグ対象となるモジュールを第1の
中央処理装置群に割り付け、そのデバッグ対象モジュー
ル以外のオペレーティングシステムの部分を第1の中央
処理装置群とは別の第2の中央処理装置群に割り付け
る。従って、サーバプロセスは、第1の中央処理装置群
で実行されるオペレーティングシステム内部のモジュー
ルが保持するデバッグ情報を得ると、デバッガにこのデ
バッグ情報を動的に転送することにより、オペレーティ
ングシステム内部のデバッグ対象モジュールのシンボリ
ックなデバッグを行うことができる。
【0019】また、請求項5記載の発明によれば、自計
算機上で稼働中のオペレーティングシステムに動的に追
加される追加モジュールに関するデバッグ情報をデバッ
ガに動的に転送することにより、シンボリックなデバッ
グ操作を行うことができる。
【0020】
【実施例】以下、図面に基づいて、本発明の好適な実施
例を説明する。
【0021】実施例1.図1は、本発明に係るデバッグ
方式の第1実施例を説明するための計算機システムの全
体構成図である。本実施例において、各計算機は離れた
場所に設置されているものとすれば、第1の計算機とす
るホスト計算機101と遠隔地に設置された第2の計算
機とするリモート計算機201とは、通信路として通信
回線301を介して接続されている。ホスト計算機10
1及びリモート計算機201は、通信機能を有するオペ
レーティングシステム106、206を実行する中央処
理装置102、202と、各中央処理装置102、20
2とは独立に動作可能であり、各中央処理装置102、
202の動作を制御するサービスプロセッサ105、2
05と、通信回線301を介して他の計算機と通信を行
う通信手段としての通信制御装置104、204と、を
それぞれ有している。制御プログラム107、207
は、各サービスプロセッサ105、205上で動作しオ
ペレーティングシステム106、206の制御を行う。
また、ホスト計算機101は、オペレーティングシステ
ム106上で動作しプログラムを試験するデバッガ30
2を有する。一方、リモート計算機201は、オペレー
ティングシステム206上で動作しそのオペレーティン
グシステム206に関するデバッグ情報を得るサーバプ
ロセス303と、オペレーティングシステム206に関
するデバッグ情報を記憶する外部記憶装置203と、を
有する。なお、オペレーティングシステム106、20
6、デバッガ302、サーバプロセス303、制御プロ
グラム107、207は、中央制御装置102、202
あるいはサービスプロセッサ105、205上で動作す
るソフトウェアである。
【0022】本実施例において特徴的なことは、リモー
ト計算機201上のオペレーティングシステム206の
デバッグ情報を通信回線301を介して得ることによ
り、ホスト計算機101上におけるデバッガ302によ
りリモート計算機201上のオペレーティングシステム
206のデバッグを行うことである。これにより、ホス
ト計算機101上のデバッガ302からリモート計算機
201におけるオペレーティングシステムのデバッグを
行うことができる。
【0023】図2は、本実施例におけるデバッグ方式の
処理を示したフローチャートであり、以下、図1、2を
用いてホスト計算機101におけるデバッガ302を用
いてリモート計算機201上のオペレーティングシステ
ム206をデバッグするときの処理について説明する。
【0024】ホスト計算機101において、まず最初に
手順1001においてデバッガ302を起動する。デバ
ッガ302は、オペレーティングシステム206のシン
ボル情報とそのアドレス情報などから成るデバッグ情報
の転送を要求する命令をオペレーティングシステム10
6、通信回線301を経由してオペレーティングシステ
ム206に送信する。
【0025】リモート計算機201において、オペレー
ティングシステム206は、この命令を受け取るとオペ
レーティングシステム206上で動作しているサーバプ
ロセス303に受け取った命令の内容を伝える(手順1
002)。サーバプロセス303は、その命令を解釈し
て、リモート計算機201に接続された外部記憶装置2
03に格納されているオペレーティングシステム206
に関するデバッグ情報を取り出し、オペレーティングシ
ステム206に転送する(手順1003)。オペレーテ
ィングシステム206は、制御プログラム207にこの
取り出されたデバッグ情報をホスト計算機101へ転送
するように依頼し、リモート計算機201の制御を制御
プログラム207に移行する(手順1004)。制御プ
ログラム207は、リモート計算機201の中央処理装
置202を停止させてオペレーティングシステム206
の処理を中断させる。リモート計算機201のサービス
プロセッサ205は、中央処理装置202とは独立に動
作可能なので、制御プログラム207はこのデバッグ情
報を通信回線301を経由してデバッガ302に転送す
る(手順1005)。
【0026】ホスト計算機101において、デバッガ3
02は、リモート計算機201の制御プログラム207
から送られたこのデバッグ情報を読み込んで保持し、コ
マンド入力待ち状態になる(手順1006)。これ以降
は、通常と同様なデバッグ操作が可能な状態になる。
【0027】ホスト計算機101においてリモート計算
機201上のオペレーティングシステム206にブレー
クポイントを設定するときは、デバッガ302にブレー
クポイントを設定したいソースプログラム上の行番号や
関数名などの位置情報を入力すると、デバッガ302は
手順1006で入手し保持しているデバッグ情報からそ
のソースファイル位置に対応するアドレスを見つけ出し
(手順1007)、ブレークポイントを設定する命令と
そのアドレスをオペレーティングシステム106、通信
回線301経由でリモート計算機201の制御プログラ
ム207に伝える(手順1008)。
【0028】リモート計算機201において、ブレーク
ポイントを設定する命令を受け取った制御プログラム2
07は、リモート計算機201上の指定されたアドレス
にブレークポイントを設定し、設定が完了したことをホ
スト計算機101上のデバッガ302に伝える(手順1
009)。
【0029】ホスト計算機101において、デバッガ3
02は、ブレークポイントの設定が完了した通知をリモ
ート計算機201から受け取ると、コマンド入力待ち状
態になる(手順1010)。
【0030】ホスト計算機101においてリモート計算
機201の処理を再開し設定したブレークポイントまで
処理を進めさせるときは、デバッガ302が実行再開命
令をオペレーティングシステム106、通信回線301
経由でリモート計算機201上の制御プログラム207
に送る(手順1011)。
【0031】リモート計算機201において、制御プロ
グラム207がこの実行再開命令を受け取ると、リモー
ト計算機201の中央処理装置202の動作を再開させ
オペレーティングシステム206の処理を再開させる
(手順1012)。オペレーティングシステム206が
その処理の実行中に手順1009で設定したブレークポ
イントに到達すると、オペレーティングシステム206
は制御を制御プログラム207に移す(手順101
3)。制御プログラム207は、リモート計算機201
の中央処理装置202を停止させ、ブレークポイントに
到達した通知を通信回線301、オペレーティングシス
テム106経由でホスト計算機101上のデバッガ30
2に伝える(手順1014)。その後、ホスト計算機1
01のデバッガ302はコマンド入力待ち状態になる。
【0032】ホスト計算機101においてリモート計算
機201上のオペレーティングシステム206内部の変
数の内容を参照するときは、デバッガ302に変数を参
照するコマンドを入力すると、デバッガ302は手順1
007と同様の方法でその変数のリモート計算機201
上のアドレス及びメモリ領域の大きさを算出し(手順1
015)、主記憶装置参照命令とその変数の参照したい
アドレス及びメモリ領域の大きさをオペレーティングシ
ステム106、通信回線301経由で制御プログラム2
07に送る(手順1016)。主記憶装置参照命令を受
け取った制御プログラム207は、リモート計算機20
1の主記憶装置上の指定されたアドレスにあるデータを
読み取り、通信回線301経由でホスト計算機101上
のデバッガ302に送り返す(手順1017)。
【0033】同様の手順で、リモート計算機201上の
主記憶装置の内容の変更や中央処理装置202のレジス
タの内容の参照・変更を行うことができる。
【0034】以上のようにして、ホスト計算機101上
のデバッガ302からリモート計算機201におけるオ
ペレーティングシステムのデバッグを行うことができ
る。
【0035】実施例2.次に、本発明に係るデバッグ方
式の第2実施例を説明する。なお、本実施例を説明する
ための計算機システムは、上記実施例と同様に図1を用
いる。
【0036】本実施例において特徴的なことは、上記第
1実施例におけるサーバプロセス303を不要とするか
わりに、ホスト計算機101の記憶手段である外部記憶
装置103にリモート計算機201からのデバッグ情報
を予め保持するようにしたことである。これにより、ホ
スト計算機101上のデバッガ302からリモート計算
機201におけるオペレーティングシステムのデバッグ
を行うことができる。
【0037】図3は、本実施例におけるデバッグ方式の
処理を示したフローチャートであり、以下、図1、3を
用いてホスト計算機101におけるデバッガ302を用
いてリモート計算機201上のオペレーティングシステ
ム206をデバッグするときの処理について説明する。
【0038】ホスト計算機101において、まず外部記
憶装置103上にリモート計算機201上で動作してい
るオペレーティングシステム206のシンボル情報やそ
のシンボルのアドレス情報などのデバッグ情報を予め用
意する。ホスト計算機101上でデバッガ302を起動
し、ホスト計算機101上にあるオペレーティングシス
テム206のデバッグ情報を読み込む(手順200
1)。デバッガ302は、リモート計算機201の制御
プログラム207に中央処理装置202を停止する命令
をオペレーティングシステム106及び通信回線301
経由で送る(手順2002)。
【0039】リモート計算機201において、サービス
プロセッサ205は中央処理装置202の動作とは独立
に動作可能なので、リモート計算機201の制御プログ
ラム207は、この命令を受け取ると中央処理装置20
2を停止させて、通信回線301、オペレーティングシ
ステム106経由でホスト計算機101のデバッガ30
2にリモート計算機201が停止した旨を通知する(手
順2003)。
【0040】ホスト計算機101において、デバッガ3
02は、リモート計算機201の制御プログラム207
から中央処理装置202が停止した通知を受け取ると、
コマンド入力待ち状態になる(手順2004)。これ以
降は、実施例1で説明したデバッグ操作と同様の操作が
可能になる。従って、本実施例によれば、ホスト計算機
101上のデバッガ302からリモート計算機201に
おけるオペレーティングシステムのデバッグを行うこと
ができる。
【0041】実施例3.次に、本発明に係るデバッグ方
式の第3実施例を説明する。なお、本実施例を説明する
ための計算機システムは、上記実施例と同様に図1を用
いる。但し、図1のリモート計算機201における追加
モジュール304は、オペレーティングシステム206
に追加されるモジュールであり、従って、中央処理装置
202で動作するソフトウェアである。
【0042】本実施例において特徴的なことは、リモー
ト計算機201に追加モジュール304をオペレーティ
ングシステム206内部のアドレス空間にロードしたと
きのアドレス情報を得る手段を設けたことである。本実
施例における当該手段は、アドレス情報を得るオペレー
ティングシステム206を実行する中央処理装置202
に相当する。これにより、稼働中のリモート計算機20
1に動的に追加されるモジュールに対してもシンボリッ
クなデバッグ作業を行うことができる。
【0043】図4は、本実施例におけるデバッグ方式の
処理を示したフローチャートであり、以下、図1、4を
用いてホスト計算機101におけるデバッガ302を用
いてリモート計算機201上のオペレーティングシステ
ム206への追加モジュール304をデバッグするとき
の処理について説明する。
【0044】ホスト計算機101において、まず最初に
デバッガ302とリモート計算機201との間の通信経
路を確立する。これは、上記第1実施例における手順1
001から手順1006までと同様の手順で行うことが
できる。その後は、手順1011、1012と同様の手
順によって、リモート計算機201の処理を継続させ
る。
【0045】リモート計算機201において、追加モジ
ュール304をオペレーティングシステム206内部に
ロードするときは、その処理を行うサーバプロセス30
3が追加モジュール304のコード、データ及びデバッ
グ情報を読み込み、オペレーティングシステム206に
転送する(手順3001)。サーバプロセス303から
追加モジュール304のコード及びデータを受け取った
オペレーティングシステム206は、デバッグ情報等を
受け取ると、オペレーティングシステム206内部のア
ドレス空間にロードする領域を見つけ出して確保する。
そして、未定だった追加モジュール304のアドレスを
計算して、その確保された領域に追加モジュール304
のコードとデータをロードする(手順3002)。同時
にオペレーティングシステム206は、手順3002で
算出されたアドレス情報を、手順3001でサーバプロ
セス303から受け取ったデバッグ情報に反映させる。
その後、手順1004と同様の方法によって、ホスト計
算機101上のデバッガ302に転送する(手順300
3)。
【0046】ホスト計算機101において、デバッガ3
02は、リモート計算機201から追加モジュール30
4が動的に追加された旨の通知を受け取ると、送られて
きたアドレス情報が付加されたデバッグ情報を入手して
保持し、コマンド入力待ち状態になる(手順300
4)。それ以後、手順3004で入手したシンボル情報
を利用して、第1実施例で説明したデバッグ操作と同様
の操作が可能になる。
【0047】以上のようにして、稼働中のリモート計算
機201に動的に追加されるモジュールに対してもシン
ボリックなデバッグ作業を行うことができる。
【0048】なお、上記第1、2、3実施例では、リモ
ート計算機201上の中央処理装置202が1個の場合
を例にして説明したが、この中央処理装置は複数台あっ
てもよく、リモート計算機201のサービスプロセッサ
205及び制御プログラム207がこれらの複数の中央
処理装置を制御できるとき、上記各実施例と同様の操作
が可能になる。
【0049】また、リモート計算機201から受け取っ
たオペレーティングシステム206のデバッグ情報は、
ホスト計算機101上の主記憶装置または外部記憶装置
のどちらに保持していてもよく、ホスト計算機101の
システム資源の規模によって柔軟に対応できる。
【0050】実施例4.図5は、本発明に係るデバッグ
方式の第4実施例を説明するためのホスト計算機の全体
構成図である。本実施例におけるホスト計算機401
は、デバッグ対象となるオペレーティングシステム10
6内部のモジュールを実行する1乃至複数の第1の中央
処理装置群と、第1の中央処理装置群で実行される以外
のオペレーティングシステム106部分を実行する第2
の中央処理装置群と、の複数の中央処理装置群で構成さ
れる。本実施例においては、各中央処理装置群1個ずつ
の中央処理装置109、108で構成されるものとす
る。従って、上記各実施例と同様のサービスプロセッサ
105は、各中央処理装置108、109とは独立して
動作可能であり、その動作を制御する。また、図1のリ
モート計算機201上で動作したサーバプロセス303
がホスト計算機401上で動作するものとする。その他
の上記各実施例と同様の要素に関しては、同じ符号を付
け説明を省略する。
【0051】上記実施例における計算機システムが疎結
合マルチプロセッサシステムであるとするならば、本実
施例における計算機システムは、密結合マルチプロセッ
サシステムということができる。
【0052】本実施例において特徴的なことは、デバッ
グ対象となるオペレーティングシステム106内部のモ
ジュールとその他の既存部分のオペレーティングシステ
ム106とを別々の中央処理装置109、108で処理
することである。これにより、計算機を再立ち上げする
必要もなく稼働中のオペレーティングシステム106の
シンボリックなデバッグ作業を行うことができる。
【0053】図6は、本実施例におけるデバッグ方式の
処理を示したフローチャートであり、以下、図5、6を
用いてホスト計算機401上のオペレーティングシステ
ム206の内部のモジュールをデバッグするときの処理
について説明する。
【0054】ホスト計算機401において、オペレーテ
ィングシステム106内部の一部のモジュールをデバッ
グするときは、ホスト計算機101上でデバッガ302
を起動し、サーバプロセス303によりオペレーティン
グシステム106のデバッグ情報を入手する(手順40
01)。その後、デバッガ302からデバッグ対象とな
るオペレーティングシステム106の内部モジュール名
とそのモジュールの処理を実行する中央処理装置番号を
指定する(手順4002)。本実施例では、中央処理装
置109の番号と仮定する。この手順4002によっ
て、デバッガ302は、オペレーティングシステム10
6に対して指定されたデバッグ対象のモジュールを含む
オペレーティングシステム106内部のサブシステムと
その他のオペレーティングシステム106の部分とのイ
ンタフェイス部分にその指定された中央処理装置番号を
設定する(手順4003)。同時に、制御プログラム1
07に対して中央処理装置108の実行を再開するとき
は、オペレーティングシステム106に制御を戻すよう
に設定する(手順4004)。
【0055】その後、現在のオペレーティングシステム
106の処理を実行していた中央処理装置(の集合)か
ら指定された中央処理装置109を除外し、中央処理装
置109を停止させた後、コマンド入力待ち状態になる
(手順4005)。この処理によって、これ以降の既存
のオペレーティングシステム106及びアプリケーショ
ンの処理は中央処理装置108で実行され、デバッグ対
象のサブシステムの処理は中央処理装置109で実行さ
れることになる。その後、上記第1実施例で説明したデ
バッグ操作と同様の操作が可能になる。
【0056】デバッガ302は、手順4005でオペレ
ーティングシステム106の中央処理装置108で実行
されるようになるので処理の継続が可能である。また、
デバッガ302は処理を継続する時、オペレーティング
システム106は中央処理装置109の実行を再開させ
るので、デバッグ対象モジュールの命令が中央処理装置
109上で処理可能になる。
【0057】主記憶装置上にあるデバッグ対象のモジュ
ールの変数値を変更するときは、中央処理装置108で
動作しているオペレーティングシステム106に影響を
与えないように考慮する必要がある。デバッガ302
は、手順4001で読み込んだデバッグ情報をもとにそ
の変数の位置と大きさをアドレス情報に変換して、ホス
ト計算機401のオペレーティングシステム106を経
由して制御プログラム107に変数値の変更処理を依頼
する(手順4006)。制御プログラム107は、中央
処理装置108及び109を停止させ、主記憶装置上の
データの変更を行う(手順4007)。その後、制御プ
ログラム107は、その中央処理装置108の実行を再
開させ、手順4004で設定された通り制御をオペレー
ティングシステム106に移す(手順4008)。
【0058】以上のようにして、本実施例によれば、自
計算機を再立ち上げする必要もなく稼働中のオペレーテ
ィングシステム106のシンボリックなデバッグ作業を
行うことができる。
【0059】実施例5.次に、本発明に係るデバッグ方
式の第5実施例を説明する。なお、本実施例を説明する
ための計算機システムは、上記第4実施例と同様に図5
を用いる。但し、図5の追加モジュール304は、オペ
レーティングシステム106に追加されるモジュールで
あり、従って、第1の中央処理装置群に含まれる中央処
理装置109で動作するソフトウェアである。
【0060】本実施例において特徴的なことは、追加モ
ジュール304をオペレーティングシステム106内部
のアドレス空間にロードしたときのアドレス情報を得る
手段を設けたことである。本実施例における当該手段
は、アドレス情報を得るオペレーティングシステム10
6を実行する第2の中央処理装置群に含まれる中央処理
装置108に相当する。これにより、稼働中のホスト計
算機401に動的に追加されるモジュールに対してもシ
ンボリックなデバッグ作業を行うことができる。
【0061】図7は、本実施例におけるデバッグ方式の
処理を示したフローチャートであり、以下、図5、7を
用いてホスト計算機401上のオペレーティングシステ
ム106への追加モジュール304をデバッグするとき
の処理について説明する。
【0062】上記第4実施例における手順4001と同
様にホスト計算機401上でデバッガ302を起動し、
オペレーティングシステム106のデバッグ情報を入手
した後、オペレーティングシステム106を処理継続状
態にする(手順5001)。次に、追加モジュール30
4のコードを実行する中央処理装置の番号(この例では
中央処理装置109の番号)を指定してオペレーティン
グシステム106に追加モジュール304をロードす
る。この時、第3実施例の手順3001と同様に、その
処理を行うサーバプロセス303は、追加モジュール3
04のコード、データ及びデバッグ情報を読み込みオペ
レーティングシステム106に転送する(手順500
2)。
【0063】サーバプロセス303から追加モジュール
304のコード、データ及びデバッグ情報を受け取った
オペレーティングシステム106は、手順3002と同
様にオペレーティングシステム106内部のアドレス空
間にロードする領域を見つけ出して確保する。未定だっ
た追加モジュールのアドレスを計算して、その確保され
た領域に追加モジュール304のコードとデータをロー
ドする。また、手順3003と同様に算出されたアドレ
ス情報をデバッグ情報に反映させる。同時に、追加モジ
ュール304と既存のオペレーティングシステム106
とのインターフェイス部分に指定された中央処理装置1
09の番号を格納する(手順5003)。
【0064】オペレーティングシステム106は、手順
4005と同様に、自コードを処理する中央処理装置
(の集合)から指定された中央処理装置109を除外
し、中央処理装置109を停止させる(手順500
4)。この処理によって、以降の既存のオペレーティン
グシステム106は中央処理装置108で実行され、デ
バッグ対象の追加モジュール304の処理は中央処理装
置109で実行されることになる。これらの処理の後、
前記手順3003と同様の方法によって、アドレス情報
が解決されたデバッグ情報がデバッガ302に転送され
る。デバッガ302は、オペレーティングシステム10
6から追加モジュール304が動的に追加された旨を受
け取ると送られてきたデバッグ情報を保持し、コマンド
入力待ち状態になる(手順5005)。
【0065】それ以後、手順5005で入手したデバッ
グ情報を利用して、第4実施例で説明したデバッグ操作
と同様の処理が可能になる。デバッガ302は、手順5
004で設定された通りホスト計算機401の中央処理
装置108で実行されるので、処理が継続可能である。
また、デバッガ302は処理を再開するとき、中央処理
装置109の実行を再開させるので、追加モジュール3
04の命令が中央処理装置109上で処理可能になる。
【0066】主記憶装置上にある追加モジュール304
の変数値を変更する時は、中央処理装置108で動作し
ているオペレーティングシステム106に影響を与えな
いように考慮する必要があるので、上記第4実施例の手
順4006、4007及び4008と同様な処理を行
う。
【0067】以上のようにして、本実施例によれば、稼
働中のホスト計算機401に動的に追加されるモジュー
ルに対してもシンボリックなデバッグ作業を行うことが
できる。
【0068】なお、上記第4、5実施例では、図5にお
ける第1及び第2中央処理装置群がそれぞれ1個の場合
を説明したが、この各中央処理装置群を構成する中央処
理装置の個数はそれぞれ2個以上であってもよい。
【0069】特に、デバッグ対象となるモジュールを実
行する第1の中央処理装置群に含まれる中央処理装置を
複数設定すると、ホスト計算機401を停止することな
く、マルチプロセッサ構成に対応したオペレーティング
システム106の内部モジュールのデバッグも行うこと
ができる。
【0070】
【発明の効果】以上のように、請求項1記載の発明によ
れば、オペレーティングシステムのデバッグ情報をデバ
ッガが通信回線経由で入手することができるので、離れ
た位置にある第2の計算機において稼働中のオペレーテ
ィングシステムに対するシンボリックなデバッグ作業が
可能となる。
【0071】また、請求項2記載の発明によれば、その
デバッグ情報を予め記憶手段に保持しておくことによっ
ても、請求項1記載の発明と同様、稼働中のオペレーテ
ィングシステムに対するシンボリックなデバッグ作業が
可能となる。
【0072】また、請求項3記載の発明によれば、離れ
た位置にある第2の計算機の稼働中のオペレーティング
システムに動的に追加される追加モジュールに対して
も、デバッガは追加モジュールに関するデバッグ情報を
通信回線経由で入手することができるので、その追加モ
ジュールに対するシンボリックなデバッグ作業が可能と
なる。
【0073】また、請求項4記載の発明によれば、複数
の中央処理装置から構成される計算機においても、デバ
ッグ対象となるモジュール及び既存部分となるオペレー
ティングシステムを別々の中央処理装置群で処理するよ
うにしたので、計算機を停止させることなく稼働中のオ
ペレーティングシステムに対するシンボリックなデバッ
グ作業が可能となる。
【0074】また、請求項5記載の発明によれば、稼働
中のオペレーティングシステムに動的に追加される追加
モジュールに対しても、デバッガは追加モジュールに関
するデバッグ情報を入手することができるので、その追
加モジュールに対するシンボリックなデバッグ作業が可
能となる。
【図面の簡単な説明】
【図1】 本発明に係るデバッグ方式の第1、2、3実
施例を説明するための計算機システムの全体構成図であ
る。
【図2】 第1実施例におけるデバッグ方式の処理を示
したフローチャートである。
【図3】 第2実施例におけるデバッグ方式の処理を示
したフローチャートである。
【図4】 第3実施例におけるデバッグ方式の処理を示
したフローチャートである。
【図5】 本発明に係るデバッグ方式の第4、5実施例
を説明するための計算機システムの全体構成図である。
【図6】 第4実施例におけるデバッグ方式の処理を示
したフローチャートである。
【図7】 第5実施例におけるデバッグ方式の処理を示
したフローチャートである。
【図8】 従来の遠隔デバッグ方式を説明するためのシ
ステム構成を示した図である。
【符号の説明】
101、401 ホスト計算機、102、108、10
9、202 中央処理装置、103、203 外部記憶
装置、104、204 通信制御装置、105、205
サービスプロセッサ、106、206 オペレーティ
ングシステム、107、207 制御プログラム、20
1 リモート計算機、301 通信回線、302 デバ
ッガ、303 サーバプロセス、304 追加モジュー
ル。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 通信路を介して接続された第1の計算機
    と第2の計算機とを有する計算機システムにおいて、 前記各計算機は、 通信機能を有するオペレーティングシステムを実行する
    中央処理装置と、 前記中央処理装置とは独立に動作可能であり、前記中央
    処理装置の動作を制御するサービスプロセッサと、 前記通信路を介して他の計算機と通信を行う通信手段
    と、 をそれぞれ有し、 前記第1の計算機は、前記オペレーティングシステム上
    で動作しプログラムを試験するデバッガを有し、 前記第2の計算機は、前記オペレーティングシステム上
    で動作しそのオペレーティングシステムに関するデバッ
    グ情報を得るサーバプロセスを有し、 前記第1の計算機上のデバッガは、前記デバッグ情報に
    基づき前記第2の計算機におけるオペレーティングシス
    テムのデバッグを行うことを特徴とするデバッグ方式。
  2. 【請求項2】 請求項1記載のデバッグ方式において、 前記第1の計算機は、記憶手段に前記デバッグ情報を予
    め保持することを特徴とするデバッグ方式。
  3. 【請求項3】 請求項1記載のデバッグ方式において、 前記第2の計算機は、前記オペレーティングシステムへ
    の追加モジュールを前記オペレーティングシステム内部
    のアドレス空間にロードしたときのアドレス情報を得る
    手段を有することを特徴とするデバッグ方式。
  4. 【請求項4】 デバッグ対象となるオペレーティングシ
    ステム内部のモジュールを実行する1乃至複数の第1の
    中央処理装置群と、 前記第1の中央処理装置群で実行される以外のオペレー
    ティングシステム部分を実行する第2の中央処理装置群
    と、 前記第1及び第2の中央処理装置群とは独立に動作可能
    であり、前記第1及び第2の中央処理装置群の動作を制
    御するサービスプロセッサと、 前記オペレーティングシステム上で動作しプログラムを
    試験するデバッガと、 前記オペレーティングシステム上で動作し前記オペレー
    ティングシステムに関するデバッグ情報を得るサーバプ
    ロセスと、 を有する計算機上で前記デバッグは前記デバッグ情報に
    基づき稼働中のオペレーティングシステムのデバッグを
    行うことを特徴とするデバッグ方式。
  5. 【請求項5】 請求項4記載のデバッグ方式において、 オペレーティングシステムへの追加モジュールをそのオ
    ペレーティングシステム内部のアドレス空間にロードし
    たときのアドレス情報を得る手段を有することを特徴と
    するデバッグ方式。
JP6100210A 1994-05-13 1994-05-13 デバッグ方式 Pending JPH07306800A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6100210A JPH07306800A (ja) 1994-05-13 1994-05-13 デバッグ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6100210A JPH07306800A (ja) 1994-05-13 1994-05-13 デバッグ方式

Publications (1)

Publication Number Publication Date
JPH07306800A true JPH07306800A (ja) 1995-11-21

Family

ID=14267944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6100210A Pending JPH07306800A (ja) 1994-05-13 1994-05-13 デバッグ方式

Country Status (1)

Country Link
JP (1) JPH07306800A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219804B1 (en) 1998-08-05 2001-04-17 International Business Machines Corporation Debugging client server programs from third party workstations
JP2012198925A (ja) * 2012-06-13 2012-10-18 Samsung Electronics Co Ltd コンピュータのメモリ使用についての情報を提供するシステム及び方法
US8484703B2 (en) 2004-10-06 2013-07-09 Mcafee, Inc. Systems and methods for delegation and notification of administration of internet access
CN113590517A (zh) * 2021-07-30 2021-11-02 西安超越申泰信息科技有限公司 一种支持远程控制的计算机

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219804B1 (en) 1998-08-05 2001-04-17 International Business Machines Corporation Debugging client server programs from third party workstations
US8484703B2 (en) 2004-10-06 2013-07-09 Mcafee, Inc. Systems and methods for delegation and notification of administration of internet access
US8499337B1 (en) 2004-10-06 2013-07-30 Mcafee, Inc. Systems and methods for delegation and notification of administration of internet access
JP2012198925A (ja) * 2012-06-13 2012-10-18 Samsung Electronics Co Ltd コンピュータのメモリ使用についての情報を提供するシステム及び方法
CN113590517A (zh) * 2021-07-30 2021-11-02 西安超越申泰信息科技有限公司 一种支持远程控制的计算机

Similar Documents

Publication Publication Date Title
US5805892A (en) Method of and apparatus for debugging multitask programs
US5621885A (en) System and method for providing a fault tolerant computer program runtime support environment
US5386566A (en) Inter-processor communication method for transmitting data and processor dependent information predetermined for a receiving process of another processor
CN116627850B (zh) 函数调试方法、装置、存储介质以及电子设备
JP3765201B2 (ja) 計算機システム
CN109992539B (zh) 双主机协同工作装置
JPH07306800A (ja) デバッグ方式
JP2001236237A (ja) マルチos構成方法
JPH0588933A (ja) デバツグ機能を有する並列処理システム
JPS6239789B2 (ja)
KR930010294B1 (ko) 사용자 프로그램 로딩방법
JPH04213126A (ja) ソフトウェアテスト方式
JPH02230450A (ja) データ処理システム
JPH0449146B2 (ja)
JPH08305607A (ja) マルチプロセッサシステムのプログラムデバッグ方法およびデバッガ
CN120631476A (zh) 一种动态的语言切换方法、装置及系统
JP2656471B2 (ja) 分散処理システムおよびその情報処理方法
JPH08147189A (ja) 並列計算機のオペレーティングシステムのデバッグ方法
JPH01295337A (ja) モニタルーチン制御移行方式
JPH05225090A (ja) 遠隔デバッグ方式
JPH01288949A (ja) 端末装置
KR20030015581A (ko) 실시간 운영체제의 런타임 디버깅 방법
JPH11237996A (ja) 計算機間のデータ連携方法
JPH0332143A (ja) マルチ分散制御交換システムのプロセッサ増設方法
JPH02113336A (ja) 非同期例外捕獲方式