JPH0293955A - プログラムデバッグ方式 - Google Patents

プログラムデバッグ方式

Info

Publication number
JPH0293955A
JPH0293955A JP63246891A JP24689188A JPH0293955A JP H0293955 A JPH0293955 A JP H0293955A JP 63246891 A JP63246891 A JP 63246891A JP 24689188 A JP24689188 A JP 24689188A JP H0293955 A JPH0293955 A JP H0293955A
Authority
JP
Japan
Prior art keywords
child task
contents
control
execution
instruction
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
JP63246891A
Other languages
English (en)
Inventor
Makoto Noda
誠 野田
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 JP63246891A priority Critical patent/JPH0293955A/ja
Publication of JPH0293955A publication Critical patent/JPH0293955A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は計算機システムにおいて実行プログラムをデバ
ッグする方式に関するものである。
〔従来の技術〕
第2図は従来のデバンガ2の構成を示したものであり、
キーボード等の端末装置から構成される動作命令入力手
段1と接続され、内部には動作命令解析手段3.デバッ
ガ制御手段4.子タスク制御手段5.子タスク状M61
m認手段6.子タスク生成手段7.1命令実行手段8が
設けられている。
なお、Tは子タスク生成手段7により生成されl命令実
行手段8によって実行される子タスクである。なお、図
において、矢印を伴った細線は制御の流れを、白抜太線
は情報の流れをそれぞれ示している。
しかして、動作命令入力手段1に与えられるオペレータ
からの動作命令としては次のものが存在する。すなわち
、 ■実行プログラム(デバッグの対象となるプログラム)
を子タスクTとして生成させる動作命令 ■生成した子タスクTを1ハードウェア命令実行させる
動作命令 ■子タスクTの状ff!(プログラムカウンタ、データ
レジスタ等の内容)を確認する動作命令である。
以下、動作を説明する。
デバッガ2においてはデバッガ制御手段4が全体の制御
を行っており、動作が開始されると、デバッガ制御手段
4は動作命令解析手段3に制御を渡す。
動作命令解析手段3は前述のいずれかの動作命令を動作
命令入力手段lから入力すると、その内容を解析してそ
の結果をデバッガ制御手段4に渡す。
デバッガ制御手段4は動作命令解析手段3から渡された
動作命令の内容が■実行プログラムを子タスクTとして
生成させる動作命令か■生成した子タスクTを1ハード
ウェア命令実行させる動作命令である場合には、子タス
ク制御手段5に制御と子タスクに対する動作命令の情報
とを渡し、−方、動作命令解析手段3から渡された動作
命令の内容が■子タスクTの状態を確認する動作命令で
ある場合には、子タスク状B確認手段6に制御と確認し
たい子タスクTの状態に関する情報とを渡す。
子タスク制御手段5はデバッガ制御手段4から制御と情
報とを渡されると、渡された情報が■実行プログラムを
子タスクTとして生成させる動作命令である場合には子
タスク生成手段7に制御を渡し、一方、デバッガ制御手
段4から渡された情報が■生成した子タスクTを1ハー
ドウェア命令実行させる動作命令である場合にはl命令
実行手段8に制御を渡す。
子タスク生成手段7は子タスク制御手段5から制御を渡
されると、実行プログラムを子タスクTとして生成し、
制御を子タスク制御手段5に戻す。
1命令実行手段8は子タスク制御手段5から制御を渡さ
れると、子タスクTの状態を調べ、プログラムの実行が
終了した直後の状態であった場合はそれを示す情報と制
御とを子タスク制御手段5に渡す、また、必要に応じて
子タスクTを実行開始可能な状態にする。一方、子タス
クTを調べた結果が実行開始可能な状態あるいは実行途
中であった場合はそれを示す情報を子タスク制御手段5
に渡し、その後、子タスクTを1ハードウェア命令実行
させた後、−時その実行を中断させておいて制御を子タ
スク制御手段5に戻す。
子タスク制御手段5は子タスク生成手段7もしくは1命
令実行手段8から制御が戻ってくると、制御をデバッガ
制御手段4に戻し、1命令実行手段8から制御が戻って
きた場合については1命令実行手段8から渡された情報
も同時にデバッガ制御手段4に渡す。
一方、子タスク状態確認手段6はデバッガ制御手段4か
ら制御と情報とを渡されると、渡された情報に従って子
タスクTの状態を確認し、確認した結果の情報と制御と
をデバッガ制御手段4に戻す。
デバッガ制御手段4は子タスク制御手段5もしくは子タ
スク状B確認手段6から制御が戻ってくると、子タスク
制御手段5もしくは子タスク状態確認手段6から渡され
た情報を出力し、制御を動作命令解析手段3に戻し、動
作命令入力手段1から次の動作命令が入力されるのを待
つ。
〔発明が解決しようとする課題〕
従来のデバッガは上記のように構成され動作するもので
あり、動作命令を適宜与えることにより、実行プログラ
ムを1ハードウエア命令ずつ実行させ、必要に応じて子
タスクの状態をlin認することにより、実行プログラ
ムの命令実行による状態変化を容易に把握できるもので
あったが、反対に、主記憶の所定の位置の内容が不正な
動作によって破壊されることが明らかであっても、その
破壊が実行プログラムのどの命令実行により生じたかを
知ることは容易ではなかった。すなわち、上記のデバッ
ガ2でそのような不正な部分を検出しようとする場合は
、実行プログラムを適当な数のハードウエア命令だけ実
行させて停止し、その時点で主記憶の内容を確認し、変
化していなければそれより先までハードウェア命令を実
行させて同様の確認を行い、行き過ぎた場合は戻って同
様のi認を行い、これらを繰り返して主記憶の内容の破
壊が生じる部分を絞り込んで行くという作業を行わなけ
ればならず、多大な工数を必要とすることとなる。
なお、主記憶内の特定の位置の内容が変化したことを自
動的に検出する機能を有したハードウェアの計算機シス
テムにあっては、上記のような問題は生じないが、−a
の計算機システムではそのような機能を有していないた
め、上記の点は重大である。
本発明は上記の点に迄み提案されたものであり、その目
的とするところは、主記憶内の特定の位置の内容が破壊
される原因となるプログラム部分を容易に発見し解析す
ることのできるプログラムデバッグ方式を提供すること
にある。
〔課題を解決するための手段〕
本発明は上記の目的を達成するため、主記憶内の特定の
位置の内容が変化したことを自動的に検出する機能を存
しないハードウェアの計算機システムでの実行プログラ
ムをデバッグする方式において、 実行プログラムを子タスクとして生成する子タスク生成
手段と、 生成した子タスクを1ハードウェア命令実行するl命令
実行手段と、 1ハードウェア命令実行後に1、予め指定された位置の
主記憶の内容の変化を判定する記憶域内容確認手段とを
備え、 子タスクが全て終了するか主記憶の内容の変化を検出す
るまで前記1命令実行手段および前記記憶域内容確認手
段を繰り返し実行し、主記憶の内容が変化した時点で停
止して子タスクの状態を確認可能とするようにしている
〔作用〕
本発明のプログラムデバッグ方式にあっては、子タスク
生成手段が実行プログラムを子タスクとして生成し、1
命令実行手段が生成した子タスクを1ハードウェア命令
実行し、1ハードウェア命令実行後に、記憶域内容確認
手段が予め指定された位置の主記憶の内容の変化を判定
し、子タスクが全て終了するか主記憶の内容の変化を検
出するまで前記l命令実行手段および前記記憶域内容確
認手段が処理を繰り返し実行し、主記憶の内容が変化し
た時点で処理を停止して子タスクの状態を確認可能とす
る。
(実施例〕 以下、本発明の実施例につき図面を参照して説明する。
第1図は本発明のプログラムデバッグ方式を適用したデ
バッガの一実施例を示す構成図である。
第1図において、デバッガ2は第2図に示した従来例と
比較して記憶域内容確認手段9.記憶域内容読み込み手
段10.記憶域位置保持手段11゜記憶域位置保持手段
12が新たに付加されている点が異なる。なお、図にお
いて、矢印を伴った細線は制御の流れを、白抜太線は情
報の流れをそれぞれ示している。
以下、各部の機能および動作につき説明し、実施例全体
の説明とする。
本発明の実施例においては前述した第2図の従来例の機
能をそのまま包含しており、更に次の動作命令が動作命
令入力手段1からオペレータにより人力可能となってい
る。すなわち、 ■主記憶域の特定の位置の内容の変化を検出するまで実
行プログラムを実行させる動作命令である。
しかして、動作が開始されるとデバッガ制御手段4は初
めに動作命令解析手段3に制御を渡す。
動作命令解析手段3はデバッガ制御手段4から制御を渡
されると、動作命令人力手段1から動作命令が入力され
るのを待つ。
動作命令解析手段3は動作命令入力手段1から動作命令
が入力されると、入力された動作命令を解析し、解析結
果と制御とをデバッガ制御手段4に渡す。
今、動作命令が■主記憶域の特定の位置の内容の変化を
検出するまで実行プログラムを実行させる動作命令であ
ると、動作命令入力手段1から内容を調べるべき主記憶
域位置を表す情報が同時に入力され、その情報が動作命
令解析手段3によって解析され、デバッガ制御手段4に
渡される。
デバッガ制御手段4は制御と情報とを渡されると、子タ
スク制御手段5に制御と主記憶域位置の情報とを渡す。
デバッガ制御手段4から制御を渡された子タスク制御手
段5は、最初に子タスク生成手段7に制御を渡す。
子タスク制御手段5から制1111を渡された子タスク
生成手段7はデバッグの対象となる実行プログラムを子
タスクTとして生成し、制御を子タスク制御手段5に戻
す。
子タスク生成手段7から制御を渡された子タスク制御手
段5は、デバッガ制御手段4から渡された主記憶域位置
の情報と制御とを記憶域内容読み込み手段10に渡す。
子タスク制御手段5から制御と上記tq域(j′iπの
情報とを渡された記憶域内容読み込み手段10は、子タ
スク制御手段5から渡された主記憶域位置の情報を記憶
域内容保持手段12に保持させ、更に、子タスク制御手
段5から渡された情報の主記憶域位置における実際の内
容(比較対象主記憶内データD)を主記憶から読み出し
て記憶域内容保持手段11に保持させ、制御を子タスク
制御手段5に戻す。
記憶域内容読み込み手段10から制御が戻ってきた子タ
スク制御手段5は、1命令実行手段8に制イ卸を渡す。
子タスク制御和手段5からttill JBを渡された
1命令実行手段8は、子タスクTの状態を調べ、既に子
タスクTの実行が全て終了している場合には、その終了
を示す情報と制御とを子タスク制御手段5に戻す。また
、子タスクTの状態を調べた結果、子タスクTの実行が
まだ終了していない場合は、子タスクTを1ハードウェ
ア命令実行させた後、その実行を一時中断させておき、
子タスクTの実行がまだ終了していないことを示す情報
と制御とを子タスク制御手段5に戻す。
1命令實行手段8から制御が戻ってきた子タスク制御手
段5は、l命令実行手段8がら渡された情報が既に子タ
スクTの実行が終了していることを示すものならば、そ
の旨の情報と制御とをデバッガ制御手段4に度す6また
、l命令実行手段8から渡された情報が子タスクTの実
行がまだ終了していないことを示すものならば、制御を
記憶域内容もII認手段9に渡す。
子タスク制御手段5から制御を渡された記憶域内容6認
手段9は、記憶域内容保持手段11に保持されている内
容と比較対象主記憶内データDとを比較し、その比較結
果と制御とを子タスク制’+’PI 。
手段5に戻す。
制御が記憶域内容6認手段9から戻ってきた子タスク;
し制御手段5は、記憶域内容確認手段9がら渡された比
較結果によって、更にl命令実行手段8に制御を渡すか
、デバッガ制御手段4に制御を戻すか、いずれかの動作
をする。すなわち、記憶域内容確認手段9での比較結果
が、記憶域内容保持手段11に保持されている内容と比
較対果主記憶内データDとが等しいことを示している場
合には、まだ記憶内容の破壊が生じていないものと判断
し、子タスク制御手段5は1命令実行手段8に制御を渡
し、前述と同様の動作を行って実行プログラムの実行を
続ける。一方、記憶域内容6I認手段9から渡された比
較結果が、記憶域内容保持手段11に保持されている内
容と比較対象主記憶内データDとが等しくないことを示
している場合には、記jQ内容の破壊が生したものと判
断し、子タスク制御手段5は比較結果と制御とをデバッ
ガli制御手段4に戻して実行プログラムの実行を停止
する。
子タスク制御手段5から制御を戻されたデバッガ制御手
段4は、制御を動作命令解析手段3に渡し、動作命令入
力手段1から次の動作命令が入力されるのを待つ。
以上のように、■主記憶域の特定の位置の内容の変化を
検出するまで実行プログラムを実行させる動作命令を受
けた場合には、デバフガ制御手段4が子タスク制御手段
5に制御を渡して、再び制御が子タスク制御手段5から
デバッガ制御手段4に戻ってくる際に、子タスク制御手
段5からは次のいずれかの状態を示す情報が戻されてく
る。すなわち、 (1)記憶域内容保持手段11に保持されている内容と
比較対象主記憶内データDとが等しいまま子タスクTの
実行が終了してしまったことを示す情報 (2)子タスクTの実行中に記憶域内容保持手段1】に
保持されている内容と比較対象主記憶内データDとが等
しくなくなったことを示す情報 である。
ここで、子タスク制御手段5から渡されてきた情報が子
タスクTの実行中に記憶域内容保持手段+1に保持され
ている内容と比較列象主記憶内データDとが等しくなく
なったことを示す場合、子タスクTの実行は、比較対象
主記憶内データDの値が更新(破壊)された原因となっ
たハードウェア命令を実行したところで一時中断してい
る。従って、そのような状態で動作命令入力手段lから
■子タスクTの状態をf11!認する動作命令を入力す
ることによって、デバッガ制御手段4は子タスク状s確
認手段6に制御を渡し、子タスクTの状態を調べること
ができる。すなわち、子タスクTのどの命令を実行した
ことにより、特定の上記tα内のデータが破壊されたの
かを調べることができる。
〔発明の効果〕
以上説明したように、本発明のプログラムデハノグ方式
にあっては、実行プログラムを子タスクとして生成し、
子タスクが全て終了するか主記憶の内容の変化を検出す
るまでlハードウェア命令ずつ実行し、主記憶の内容が
変化した時点で停止して子タスクの状態を確認可能とし
たので、主記憶の特定の位置の内容が破壊される原因と
なるプログラム部分を容易に発見し解析することができ
る効果がある。
【図面の簡単な説明】
第1図は本発明のプログラムデハノグ方式を適用したデ
バッガの一実施例を示す構成図および、第2図は従来の
デバッガの構成図である。 図において、 1・・・・・・動作命令入力手段 2・・・・・・デバッガ 3・・・・・・動作命令解析手段 4・・・・・・デバッガ制御手段 5・・・・・子タスク制御手段 6・・・・・・子タスク状態確認手段 7・・・・・・子タスク生成手段 8・・・・・・1命令実行手段 9・・・・・・記憶域内容確認手段 10・・・記憶域内容読み込み手段 11・・・記憶域内容保持手段 12・・・記憶域位置保持手段 T・・・・・・子タスク

Claims (1)

  1. 【特許請求の範囲】 主記憶内の特定の位置の内容が変化したことを自動的に
    検出する機能を有しないハードウェアの計算機システム
    での実行プログラムをデバッグする方式において、 実行プログラムを子タスクとして生成する子タスク生成
    手段と、 生成した子タスクを1ハードウェア命令実行する1命令
    実行手段と、 1ハードウェア命令実行後に、予め指定された位置の主
    記憶の内容の変化を判定する記憶域内容確認手段とを備
    え、 子タスクが全て終了するか主記憶の内容の変化を検出す
    るまで前記1命令実行手段および前記記憶域内容確認手
    段を繰り返し実行し、主記憶の内容が変化した時点で停
    止して子タスクの状態を確認可能としたことを特徴とす
    るプログラムデバッグ方式。
JP63246891A 1988-09-30 1988-09-30 プログラムデバッグ方式 Pending JPH0293955A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63246891A JPH0293955A (ja) 1988-09-30 1988-09-30 プログラムデバッグ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63246891A JPH0293955A (ja) 1988-09-30 1988-09-30 プログラムデバッグ方式

Publications (1)

Publication Number Publication Date
JPH0293955A true JPH0293955A (ja) 1990-04-04

Family

ID=17155283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63246891A Pending JPH0293955A (ja) 1988-09-30 1988-09-30 プログラムデバッグ方式

Country Status (1)

Country Link
JP (1) JPH0293955A (ja)

Similar Documents

Publication Publication Date Title
US7415699B2 (en) Method and apparatus for controlling execution of a child process generated by a modified parent process
JPH0293955A (ja) プログラムデバッグ方式
JP2570593B2 (ja) デバッグ装置
JPH025136A (ja) 言語処理プログラムのエラー処理方式
JP2800577B2 (ja) デバッグ装置
JPH01274253A (ja) ソフトウェアブレーク方式
JPH03294934A (ja) 高級プログラム言語用デバッガ
JPH04336629A (ja) トラップレポート解析ツール
Wheeler Application of object-oriented techniques to the design and operation of factories
JPH04115347A (ja) 対話型プログラム自動生成方式
JPS63276139A (ja) 複数プロセスシステムにおけるプロセスのデバッグ方法
JPS63208134A (ja) ソフトウエア異常検出方式
JPH0239332A (ja) ソフトウェアブレーク方式
JPH03235135A (ja) プログラムの自動検査方式
JPH03288941A (ja) デバッグ装置
JPS61235955A (ja) プログラムのデバツグ方式
JPS61240342A (ja) マイクロプログラム制御装置
JPH03141436A (ja) デバッグ装置
JPH07311689A (ja) 情報処理装置の検証方式
JPH09319613A (ja) プログラム開発支援装置及びプログラム開発支援方法
JPH0391847A (ja) プログラム検証方式
JPH04101221A (ja) オブジェクト指向システム検査方式
JPH025154A (ja) レポートフアイル復旧方式
JPH1091479A (ja) プログラム・デバッグ・システム、プログラム・デバッグ方法およびデバッグ用プログラムを記憶した記憶媒体
JPH09167102A (ja) Cpu命令エミュレートシステム