JPS63142438A - 制御プログラムのデバツグ制御方式 - Google Patents

制御プログラムのデバツグ制御方式

Info

Publication number
JPS63142438A
JPS63142438A JP61289575A JP28957586A JPS63142438A JP S63142438 A JPS63142438 A JP S63142438A JP 61289575 A JP61289575 A JP 61289575A JP 28957586 A JP28957586 A JP 28957586A JP S63142438 A JPS63142438 A JP S63142438A
Authority
JP
Japan
Prior art keywords
control
program
privileged mode
control program
test
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
JP61289575A
Other languages
English (en)
Other versions
JPH0429097B2 (ja
Inventor
Mikio Okuma
大熊 幹夫
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP61289575A priority Critical patent/JPS63142438A/ja
Publication of JPS63142438A publication Critical patent/JPS63142438A/ja
Publication of JPH0429097B2 publication Critical patent/JPH0429097B2/ja
Granted legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 テストプログラムから、非特権モードを特権モードに変
更するシステムコールa能を設け、テストプログラムを
特権モードで走行可能にして、制御プログラムの制御テ
ーブルをテストプログラムから任意に書き替えできるよ
うにし、制御プログラムのデバッグ環境を容易に設定で
きるようにする。
〔産業上の利用分野〕
本発明は、計算機システムにおいて、制御プログラムの
デバッグ制御方式に関するものであり、特に制御プログ
ラムのテスト環境を容易に設定できるようにするための
デバッグ制御方式に関する。
〔従来の技術〕
制御プログラムは、記憶管理や入出力処理などの多様な
制御機能をもち、それぞれの制御は、制御テーブルに基
づいて実行される。
制御プログラムのデバッグにおいては、デバッグ環境の
設定のため、制御テーブルを種々の実行条件に合わせて
書き替える必要がある。たとえば空き領域を管理する制
御プログラムの機能について、特にエラーとなる限界を
テストしたい場合には、制御テーブルの中の空き領域の
大きさ等の関連するパラメータを、種々の値に条件設定
し、これに対して空き領域を上進る領域獲得要求を行な
って、実際にエラーが生じるかどうかを調べる方法がと
られる。
ところで、制御プログラムや制御テーブルは、メモリ空
間のカーネル(核)域(実記憶常駐域)に置かれ、ユー
ザからのアクセスで壊されないようメモリ保護が行なわ
れている。このためモード制御が行なわれ、プログラム
は、特権モードにおいてのみカーネル域へのアクセスが
可能にされる。
したがって、従来、制御プログラムのデバッグで制御テ
ーブルの内容を書き替える場合、制御プログラムをテス
トするためのユーザプログラム(テストプログラムとい
う)が走行する非特権モードでは実現できず、特権モー
ドへの変更を行なって、制御プログラムの制御下で書き
替える必要があった。
従来の制御プログラムのデバッグ環境設定方式の1例を
第3図に示す。
図において、30は論理空間である。
31はカーネル域であり、静的組込み制御プログラム域
と動的組込み制御プログラム域とを含む。
静的組込み制御プログラム域の一部には、制御テーブル
と対話形式のデバッガ(デバッグプログラム)とが含ま
れている。
32.32′は多種のユーザ域であり、それぞれユーザ
プログラムテキスト域とユーザプログラムデータ域とを
含む。
33はPSW(プログラムステータスワード)であり、
その一部に特権モード(“1“)、非特権モードじ0”
)を示すモードビットを含む。
また34はディスプレイ、35はキーボードであり、利
用者との対話に使用される。
デバッグ動作時には、デバッガを用いて制御プログラム
中の適切なデバッグ環境設定位置にブレイクポイントを
設定しておき、テストプログラムであるユーザプログラ
ムからシステムコールを発行し、特権モードに切り替え
て、対応する制御プログラムの機能を起動する。そして
制御プログラムがブレイクポイントに達したときに停止
させ、デバッガに制御を渡す。
この制御プログラムの停止状態において、デバッガの制
御のもとにディスプレイ34、キーボード35を介して
、対話形式によりメモリ上の制御テーブルの内容の書き
替えを行ない、必要とするデバッグ環境を設定してから
制御プログラムの実行を再開する。すなわち、設定され
たデバッグ環境のもとて制御プログラムを実行し、テス
トする。
次に従来の一般的なシステムコールによる特権モードの
切り替え機能について説明する。
非特権モード下で走行しているユーザプログラムが、た
とえば0PENSREAD、WRITE等のシステムコ
ールを発行すると、 ■ スタック上に、パラメータを設定、■ データレジ
スタdoにSVC<スーパーバイザコール)魚を設定、 ■ ソフトウェア割込み発生命令trap# Oの実行
、が行なわれ、割込みが起きて、制御プログラムに制御
が渡る。このとき、PSWのモードビットを、非特権モ
ードから特権モードに切り替える。制御プログラムは、
システムコールの原因となった命令の代行処理を行ない
、終了したとき、リターンエキセプシッンrte  (
リターン例外処理)とする。
これにより、PSWのモードビットを特権モードから非
特権モードに切り替えて、ユーザプログラムの実行を再
開する。
〔発明が解決しようとする問題点〕
従来の制御プログラムのデバッグ制御方式では、制御プ
ログラムのデバッグ環境作りのための条件設定作業が、
その都度対話形式で行なわれるため、煩雑であるととも
に多大な時間がかかり、デバッグを簡単に行なうことが
できないという問題があった。
〔問題点を解決するための手段〕
本発明は、従来方式における問題を解決するため、制御
プログラムの制御テーブルの書き替えを、デバッガによ
り対話形式で行なうのではなく、ユーザプログラムから
制御テーブル゛をアクセスできるようにして、一括書き
替え等を容易に行なえるようにするものである。
本発明では、そのため、ユーザプログラムからシステム
コールを行なって、制御プログラムに制御を渡し、特権
モードへの切り替えを行なった後、リターンエキセプシ
ョンrteをかけず、すなわち特権モードのままでユー
ザプログラムへ制御を戻すように制御して、ユーザプロ
グラムから制御テーブルにアクセスする手段を提供する
ものである。
第1図に、本発明の原理を示す0図において、10は、
ユーザプログラムとして作成されたテストプログラムで
あり、デバッグ環境を設定する機能と、その環境下でテ
スト処理を行なうa能とをもつ。
!lは、特権モード変更システムコールである。
12は、デバッグ環境(テスト条件)を設定するための
制御テーブルの書き替え処理手続きである。
13は、特権モード変更解除関数である。
14は、制御テーブルに設定されているデバッグ環境下
で制御プログラムの動作をテストするテスト用処理のシ
ステムコールである。
15は、制御プログラムである。
16は、制御プログラム15により使用される制御テー
ブルである。
17は、テストプログラム10により書き替えられた制
御データである。
18は、特権モード(1′″)と非特権モード(“0”
)を表示するモードピット(フラグ)である。
テストプログラムlOは論理空間のユーザ域に置かれる
。制御プログラム15および制御テーブル16は、論理
空間のカーネル域に置かれる。テストプログラムlOか
らの特権モード変更システムコール11により制御プロ
グラム15が起動される場合には、非特権モードを特権
モードに切り替えて(モードビットI8を“l″″に設
定)実行される。しかし実質的な処理は何もせずに(N
P)、特権モードのままでシステムコール元のプログラ
ムに復帰される。
〔作用〕
第1図に基づき、本発明の詳細な説明する。
■ まず非特権モードでテストプログラムlOが起動さ
れ、特権モード変更システムコール11を実行する。こ
れにより非特権モードから特権モードへのモード切り替
えが行なわれ、制御プログラム15が起動される。
■ 制御プログラム15は、ノーオペレーション(NO
P)でテストプログラム10へ制御を返す。
このときリターン例外にはせず、非特権モードへのモー
ド切り替えは行なわない。
■ 次に、テストプログラムlOは、特権モードにおい
て、制御テーブル書き替え処理手続き12を実行し、制
御テーブル16の制御データ17を、予め用意しである
所定のテスト条件値で更新する。
すなわちデバッグ環境を設定する。
■ 次に、テストプログラム10は、特権モード変更解
除関数13を実行し、特権モードを非特権モードに切り
替える処理を行ない、テストプログラム10の実行状態
を本来の非特権モードに戻す。
■ 更新した制御テーブル16の制御データ17を使用
するテスト用処理のシステムコール14を発行する。こ
れにより、モードは特権モードに切り替えられ、制御プ
ログラム15の対応する機能が起動されて、制御テーブ
ル16の制御データ17に基づく制御が実行される。そ
してその実行結果の状態(たとえばエラーとなったか否
か)をデバッグデータとして収集する。
このようにして、テスト担当者の負担なしに、テスト内
容にしたがった任意の条件でかつ任意回数繰り返して制
御テーブルを更新し、テストを実行することができる。
〔実施例〕
第2図に、本発明の1実施例を示す。図中の参照番号は
、第1図に示されているものと同しである。
本実施例は、制御プログラム15の記憶管理機能をテス
トする場合についてのものである。
このためテストプログラム10は、特権モード変更シス
テムコール11を発行し、モードビット18を非特権モ
ードから特権モードに切り替えた後、制御テーブル書き
替え処理手続き12の実行において、制御テーブル16
の空きメモリ数に関する制御データを、空きメモリ数=
100から空きメモリ数=0の条件に書き替え、空きメ
モリ管理テーブルの内容も対応するものに書き替える。
次にテストプログラム10は、特権モード変更解除関数
13により、モードビット18を特権モードから非特権
モードに切り替え、通常のユーザプログラムと同様な実
行状態にした後、テスト用処理のシステムコール14で
たとえば4ペ一ジ分のメモリ領域獲得要求を行なう。こ
のとき、図示のようにモードビット18の更新が行なわ
れる。
このメモリ領域獲得制御の結果、制御プログラムの機能
が正常の場合、頭載不足としてテスト用処理システムコ
ール14に復帰が行なわれる。しかしこのとき、領域獲
得が行なわれれば、制御プログラムにエラーがあるもの
と判定される。
〔発明の効果〕
本発明によれば、制御プログラムのデバッグ環境を、予
め用意したテストデータにしたがって能率的に設定する
ことができ、従来の対話形式による設定方式に(らべて
テスト作業時間の短縮と、設定ミスの減少とを図ること
が可能である。
【図面の簡単な説明】
第1図は本発明の原理説明図、第2図は本発明の1実施
例の説明図、第3図は従来の制御プログラムのデバッグ
環境設定方式の説明図である。 第1図中 10:テストプログラム ll:特権モード変更システムコール 12:制御テーブル書き替え処理手続き15;制御プロ
グラム 16:制御テーブル

Claims (1)

  1. 【特許請求の範囲】 制御プログラム(15)および制御テーブル(16)の
    記憶域に対するアクセスが許可される特権モードとアク
    セスが禁止される非特権モードとをプログラムの実行状
    態としてもつ計算機システムにおいて、非特権モードを
    特権モードに切り替える特権モード変更システムコール
    を設け、 制御プログラム(15)をデバッグするためのテストプ
    ログラム(10)に、上記特権モード変更システムコー
    ルと、制御テーブル(16)の内容を書き替える処理手
    続きとを置き、 非特権モードでテストプログラム(10)を起動し、上
    記特権モード変更システムコールが発行されたとき、非
    特権モードを特権モードに切り替えて制御プログラム(
    15)に制御を渡し、制御プログラム(15)は何も処
    理することなくテストプログラム(10)に制御を戻し
    、その際特権モードをそのまま維持し、制御を戻された
    テストプログラム(10)では、特権モードにおいて制
    御テーブル(16)の内容を書き替える処理手続きを実
    行することにより、制御プログラム(15)のデバッグ
    環境を所望の条件に設定して、制御プログラム(15)
    をテストすることを特徴とする制御プログラムのデバッ
    グ制御方式。
JP61289575A 1986-12-04 1986-12-04 制御プログラムのデバツグ制御方式 Granted JPS63142438A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61289575A JPS63142438A (ja) 1986-12-04 1986-12-04 制御プログラムのデバツグ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61289575A JPS63142438A (ja) 1986-12-04 1986-12-04 制御プログラムのデバツグ制御方式

Publications (2)

Publication Number Publication Date
JPS63142438A true JPS63142438A (ja) 1988-06-14
JPH0429097B2 JPH0429097B2 (ja) 1992-05-18

Family

ID=17745008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61289575A Granted JPS63142438A (ja) 1986-12-04 1986-12-04 制御プログラムのデバツグ制御方式

Country Status (1)

Country Link
JP (1) JPS63142438A (ja)

Also Published As

Publication number Publication date
JPH0429097B2 (ja) 1992-05-18

Similar Documents

Publication Publication Date Title
King et al. Debugging operating systems with time-traveling virtual machines
US4819234A (en) Operating system debugger
US7711914B2 (en) Debugging using virtual watchpoints
US7231476B2 (en) Function control for a processor
JPS634346A (ja) マイクロプロセッサ・デバッグ装置
US5680584A (en) Simulator system for code execution and debugging within a multi-architecture environment
Pfaff et al. The pintos instructional operating system kernel
US8612720B2 (en) System and method for implementing data breakpoints
US20060294433A1 (en) Debugging using watchpoints
JP3349057B2 (ja) マルチタスク処理装置、マルチタスク処理方法およびマルチタスク処理表示方法
JPS63142438A (ja) 制御プログラムのデバツグ制御方式
KR890002765A (ko) 데이타 처리시스템
JP2788353B2 (ja) タスクトレース方法
Polito et al. Virtual smalltalk images: Model and applications
Thomas JSYS traps: a TENEX mechanism for encapsulation of user processes
JPH02135545A (ja) デバッガの実行制御処理方式
Goldberg et al. The PRIM System: An alternative architecture for emulator development and use
England Teaching principles of shared resource management with the Moses2 microcomputer operating system environment
JPH1049401A (ja) プログラムのデバッグ方法
Ashton et al. SunOS Minix: a tool for use in Operating System Laboratories
Sievers Hardware additions to microprocessor architecture aid software development
JPS59202546A (ja) デバツグ装置
Salahi et al. Educational operating system experiments
Strite BACI debugger: A GUI debugger for the BACI system
JPS6198455A (ja) デバイスシミユレ−ト方式