JPH01140348A - プログラムトレース装置 - Google Patents

プログラムトレース装置

Info

Publication number
JPH01140348A
JPH01140348A JP62297806A JP29780687A JPH01140348A JP H01140348 A JPH01140348 A JP H01140348A JP 62297806 A JP62297806 A JP 62297806A JP 29780687 A JP29780687 A JP 29780687A JP H01140348 A JPH01140348 A JP H01140348A
Authority
JP
Japan
Prior art keywords
trace
program
data
storage means
execution
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
JP62297806A
Other languages
English (en)
Inventor
Noboru Ita
板 昇
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.)
PFU Ltd
Original Assignee
PFU 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 PFU Ltd filed Critical PFU Ltd
Priority to JP62297806A priority Critical patent/JPH01140348A/ja
Publication of JPH01140348A publication Critical patent/JPH01140348A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概   要〕 システムエラーの原因となる処理の実行時点で直ちにプ
ログラムのトレース動作を停止させることのできるプロ
グラムトレース装置に関し、トレース機能として、処理
の実行順序を判定する機能、またはあるトレース対象処
理実行後火の処理実行までの所要時間監視機能、さらに
はこれらの両機能を遂行することを目的とし、システム
全体を制御する中央処理装置との間でシステJ・バスを
介して入出力するデータを記憶する第一の記憶手段と、
処理の実行順序に関するデータを記憶するための第二の
記憶手段と、実際の処理実行順序を判定しトレース動作
の続行または停止の制御を行なうための制御手段を有す
るように構成する。
また、前記第一の記憶手段と、トレース対象処理毎に該
処理に対するトレース処理実行後に次の命令に対するト
レース処理を行なうことのできる最長時間データを記憶
する第二の記憶手段と、本装置全体を制御する制御手段
と、前記最長時間内に次のトレース処理が行なわれない
場合に前記制御手段に割込みをかけ、前記制御手段にト
レース動作の停止制御を行なわせるためのトレース実行
可能時間設定手段とを有するように構成する。
〔産業上の利用分野〕
本発明はプログラムにより動作するシステムにおいて用
いられるプログラムトレース方式に係り、特にシステム
エラーの発生原因となる処理の実行時点で直ちにプログ
ラムのトレース動作を停止させ、エラー原因の究明を容
易にするプログラムトレース装置に関する。
〔従来の技術〕
近年マイクロプロセッサ(MPU)が急速に普及し、非
常に多くの装置がプログラムにより制御されている。ま
たそのプログラムの量も制御機能の複雑化に伴なって増
大の一途をたどっており、プログラムのトレース機能を
さらに強化する必要が生じている。プログラムトレース
機能とは、プログラムの実行の様子を監視するためのも
ので、一般に実行中のプログラム進行をチエツクすると
同時に論理的な誤まりを発見するため等の目的で、トレ
ーシングルーチンの形式で実行される。具体的には対象
とするプログラムを、例えば1ステップ実行するごとに
、トレースデータとしてプログラムカウンタの値、各レ
ジスタの値等を表示、あるいは印字する機能を持ってい
る。
上述のようなプログラムトレース機能について、従来の
動作フローの例を第6図に示す。図でプログラムの処理
実行がASB、A’、・・・、Zの順に続くものとし、
各処理に対してトレーシングルーチンによりそれぞれト
レース処理A、、B。
A′、・・・、Zが実行されるものとする。すなわち、
プログラムの処理Aの実行時点でトレーシングルーチン
に移行し、トレース処理Aが実行され、例えばランダム
アクセスメモリのトレースデータ記憶領域内でトレース
ポインタの指示するアドレスにトレースデータAが格納
される。トレースデータとしては、例えば命令のアドレ
ス等を格納するものとする。その後プログラムの処理B
の実行時点においてトレーシングルーチンに移行し、ラ
ン、ダムアクセスメモリのトレースデータ記憶領域にト
レースデータBが格納され、以下同様の動作が繰り返さ
れる。
〔発明が解決しようとする問題点〕
上述のような従来のプログラムトレース方式においては
、トレースデータを格納するメモリ領域、例えばランダ
ムアクセスメモリ (RAM)のトレースデータ記憶領
域が有限であるために、その領域が一杯になると、新し
いトレースデータを格納するために以前のトレースデー
タを消去する必要があった。すなわち、第6図でプログ
ラムの実行が処理Δ、B、A’、・・・、Zの順に進行
し、トレースデータZを格納すべき領域がなくなると、
トレースデータAを消去してトレースデータZを格納す
ることになる。
一般にシステムエラーの原因発生から、エラーが外部に
知覚されるまでにはかなりの時間を要することが多い。
そこでRAM上のトレースデータ記憶領域に記憶される
データはエラーが知覚されてプログラムの処理を停止さ
せた時点以前のある限定された時間範囲のものでしかな
く、エラーの原因を知るうえで注目すべきトレースデー
タが既に消去されてしまい、原因追求が困難になるとい
う問題があった。例えば、あるエラーが一年に数回程度
の少ない頻度で起るようなものであると、その原因解明
は非常に困難であった。またプログラムのすべての処理
についてトレースを行なうため、注目するデータを探す
のに時間を要するという問題もあった。
従来例としては、プログラムの各処理のそれぞれに対し
てトレースを行なうか否かの判定を行なった後にトレー
シングルーチンを実行するものもあったが、上述の問題
点、特にトレースデータ消去の問題に対してはあまり有
効ではなかった。
一般にシステムやプログラムの設計者はプログラム内の
処理の実行順序にあるパターンがあり、ある特定処理の
後には別の特定処理が続くことを知っている。また、あ
る特定処理の実行後、ある一定時間内に別の処理が必ず
行なわれること、すなわち一定時間内にその別処理が実
行されない場合にはシステムエラー発生の原因となるこ
とも知っている。そこでこれらの知識をトレース処理内
で活用することにより、トレース機能は大幅に強化され
ると考えられる。
本発明は、上述の問題点に鑑み、エラー原因の発生後直
ちにトレース動作を停止させ、トレースデータの消去を
防止しようとするものである。第一にプログラムの処理
実行順序の通、不適を判定する機能を持つプログラムト
レース装置、第二にある処理の実行後火の処理実行まで
の所要時間を監視する機能を持つトレース装置、第三に
これらの二つの機能を同時に持つトレース装置を提供す
ることを目的とする。
〔問題点を解決するための手段〕
第1図は本発明のプログラムトレース装置の原理ブロッ
ク図である。図で破線内が本発明のプログラムトレース
装置を示す。同図(alは特許請求の範囲第1項記載の
、また同図(blは同図第2項記載のプログラム1−レ
ース装置に対応する。第一〇記憶手段1はシステム全体
を制御する中央処理装置(CPU)5との間でシステム
バスを介して入出力するデータを一時記憶するためのも
のである。
第二の記憶手段2は、第1図(a)ではプログラム中の
処理実行順序に関するデータを、また同図(blではト
レース対象処理毎にその処理に対するトレース処理実行
後に次のトレース処理を行なうことのできる最長時間デ
ータを記憶するためのものである。また第二の記憶手段
2には、トレース処理の結果得られたトレースデータ、
本装置内の制御プログラムと制御データも記憶されるが
、この記憶手段をリードオンリーメモリ (ROM)と
ランダムアクセスメモリ (RAM)とに分割すること
も可能である。
制御手段3は、例えばマイクロプロセッサ(MPU)で
あり、本装置全体の動作を制御するとともに、トレース
動作の続行または停止の制御を行なう。トレース実行可
能時間設定手段4は、前述の最長時間内に次のトレース
処理が行なわれない場合に制御手段3に割込み動作をか
けるためのものである。
〔作   用〕
本発明ではシステムエラーの原因が発生した時点で直ち
にプログラムトレース動作を停止させる作用を行なう。
第1図(a)で、プログラム中での処理実行順序に関す
るデータは中央処理装置(CPU)5からのコマンドで
第一の記憶手段1を通して第二の記憶手段2に格納され
る。制御手段3はある処理の実行後、次に来る処理が第
二の記↑、α手段2に記憶されているデータと適合する
か否かを判定し、適合する場合にはプログラム実行に伴
なうトレース動作を続行させ、適合しない場合にはその
時点でトレース動作を停止させる。ただし、プリンタの
実行自体はそのまま続行される。
第1図(b)では、(a)と同様に、前述の最長時間デ
ータはCPU5からのコマンドで第二の記1.α手段2
に格納される。トレース実行可能時間設定手段4はある
処理に対するトレース処理が実行されてから次の処理に
対するトレース処理が行なわれなければならない最長時
間内に次の処理に対するトレース処理が行なわれない場
合に制御手段3、例えばマイクロプロセッサに割込みを
かけ、その時点でトレース動作を停止させる。
第1図(b)で第二の記憶手段2に前述の最長時間デー
タとともに処理実行順序に関するデータをもCPU5か
らコマンドにより格納しておけば、ある処理に対するト
レース処理が実施されてからある一定時間内に次の処理
に対するトレース処理が実行されるか否だけでなく、次
の処理が処理実行順序に適合するか否かも同時に判定で
きる。
以上のように、本発明ではプログラムの処理実行順序に
関する判定、ある処理の実行後、実行された処理に対応
する一定時間内に次の処理が実行されるか否かの判定を
それぞれ別個に、あるいは両判定を同時に行なうことに
より、システムエラーの原因発生の時点で直ちにプログ
ラムトレース動作を停止し、その時点のトレースデータ
の消去を防止できる。
〔実  施  例〕
第2図に本発明の実施例のブロック図を示す。
同図で制御レジスタ1は第一の記憶手段に相当し、CP
U5との間でシステムバスを介して入出力するデータを
一時記憶し、例えばCPU5から本装置に対する処理要
求および本装置からCPU5に対する状態通知のために
用いられる。リードオンリーメモリ (ROM)2aと
ランダムアクセスメモリ(RAM>2bは第二の記憶手
段に相当し、本装置内の制御プログラム、トレース制御
データ、トレースデータ、各種制御データ等を格納する
マイクロプロセッサ(MPU)3は本装置内を制御する
プロセッサである。トレース制御タイマ4はトレース実
行可能時間設定手段に相当し、トレース対象処理毎にト
レース実行可能時間を指定し、ある処理の実行後、その
処理に対応するトレース実行可能時間内に次の処理が実
行されない場合にMPU3に割込みをかけ、それ以後の
トレース動作を停止させる。
CPU5はシステム全体を制御する中央処理装置であり
、メモリ6はシステム全体の各種データを記憶するため
のものである。I10制御回路7は、例えば命令のアド
レス、レジスタ値等のトレースデータを表示、あるいは
印字するためにI10装置9との通信を制御する回路で
あり、例えばR3232Cシリアル制御回路である。I
10インタフェース8は例えばR3232Cインタフエ
ースであり、本装置内のI10制御回路7と外部のI1
0装置9との間のインタフェースである。
またI10装置9は例えばデイスプレィであり、トレー
スデータの表示等に用いられる。
本発明におけるプログラムトレース動作フローを第3図
に示す。同図で、処理A、B、D、・・・、E、・・・
、Yはプログラム上の処理であり、トレース判定は前述
のプログラムの処理実行順序に関する判定、またはある
処理の実行後、実行された処理に対応する一定時間内に
次の処理が実行されるか否かの判定、さらには両者の同
時判定を行なうものである。
本発明では各処理の実行前に、その処理に対して上述の
トレース判定を含むトレース処理を行なう。第3図で、
処理へから処理りまでに対しては処理実行順序の判定を
行なう場合を示し、処理Aに対するトレース処理におい
てトレース判定がOKになるとトレースデータAがRA
M2b内のトレースデータ記憶領域内でトレースポイン
タの指示するアドレスに格納された後に処理へが実行さ
れる。処理Bに対するトレース判定もOKとなり、トレ
ースデータBの格納が行なわれる。次に処理りが来る場
合を考える。第2図でCPU5からコマンドで与えられ
る処理実行手順データで処理りの前の処理は処理Cでな
ければならないものとすると、トレース判定はNGとな
り、トレースデータDがトレースデータ記憶領域に格納
された後にトレース動作は停止される。
第3図の処理Eから処理Yまでに対してのトレース判定
は第2図のトレース制御タイマ4による判定である。処
理Eに対してはトレースデータEを格納するとともに処
理Eに対応するトレース実行可能最長時間をタイマ4に
セフ)した後に処理Eが実行される。プログラムの実行
が進行し、処理Yに至る。処理Yの直前の処理(以下、
前処理と称する)に対して設定されたトレース実行可能
時間内に処理Yが実行される場合にはトレース判定はO
KとなりトレースデータYが格納される。
その後処理Yに対応して新たに設定されたトレース実行
時間内に次の処理が実行されない場合にはトレース制御
タイマ4により本装置を制御するMPU3にタイマ割込
みがかけられ、トレース動作が停止される。
トレース処理の詳細フローを第4図に、また第2図のR
AM2b内のトレース制御データおよびトレースデータ
記憶領域を第5図に示す。第4図は前述の処理実行順序
の判定とトレース制御タイマ4による判定の両者を行な
う場合のフローである。
プログラム上の各処理の実行前に第4図のトレース処理
が行なわれる。まずステップ1としてプログラム上の処
理に対してトレース許可フラグのチエツクが行なわれる
。トレース許可フラグはプログラム上の各処理に対して
、トレース処理を行なう必要の有無を示すもので第5図
のトレース許可フラグ領域に格納されている。許可フラ
グがたっていなければトレース処理は中断され、直ちに
プログラム上の処理に戻って、その処理が実行される。
許可フラグがたっていれば、ステップ2で現在のプログ
ラム上の処理の直前の処理、すなわち前処理と現処理と
が処理実行順序に適合しているか否かのチエツク(以下
、前処理チエツクと称する)が必要か否かを示す前処理
チエツクフラグをチエツクする。前処理チエツクフラグ
は前述の1−レース許可フラグと同様にRAM2b内に
格納されている。
前処理チエツクが必要な場合はステップ3.4で第5図
のRAM2b内にある前処理のコードと現在の比較すべ
き処理のコードにより前処理チエツク、すなわち処理内
容について処理実行順序に適合しているかの比較判定を
行なう。この比較判定が“No“であれば、システムエ
ラーの原因が発生したことになるので、ステップ5でト
レース処理を許す許可フラグをすべてリセットし、以後
のトレース処理をすべて禁止した後に、ステップ6で現
処理に対するトレースデータが第5図のトレースデータ
記憶領域に格納される。その後はプログラム上の処理に
戻り、プログラムのみが実行され、トレース動作は停止
される。
ここで、ステップ6のトレースデータ格納の後にプログ
ラム上の処理に戻る前にステップ7としてタイマトレー
ス制御フラグのチエツクが行なわれる。このチエツクは
前述のように現在の処理実行後に、現処理に対応する一
定時間内に次の処理が実行されるか否かを監視する制御
トレースタイマ4を起動させるか否かをチエツクするも
のであり、このチエツクに対するフラグは第5図のタイ
マトレース制御フラグ領域に格納されている。このフラ
グのチエツクの結果、制御トレースタイマ4を起動させ
る必要がない場合には直ちにプログラム上の処理に、ま
た一定時間内に次の処理が実行されるか否かを監視する
必要がある場合にはステップ8でタイマ値をセットした
後にプログラム上の処理に戻る。しかしながら、ステッ
プ4での比較’Fll定が“No” となった場合には
、それ以後のトレース動作はすべて停止されるため、ス
テップ7と8は無意味となる。
一方、ステップ2で前処理チエツクが不要と判定される
とステップ5′に移行し、タイマリセントが行なわれる
。これは直前の処理に対してステップ8でトレース制御
タイマ4にセットされたタイム値以内に次の処理、すな
わち現在の処理が実実行されることになるためである。
その後ステップ6でトレースデータが格納され、ステッ
プ7と8で、必要な場合には現処理に対応する一定時間
値をタイマ値としてセントした後に現処理が実行される
またステップ3.4で前処理チエツクと比較判定が行な
われ、判定結果が“Yes” となった場合にはステッ
プ5′でタイマリセットを行なった後にステップ6でト
レースデータを格納し、ステップ7と8またはステップ
7のみを実行してプロダラム処理に戻る。
以上、処理実行順序の判定と、ある処理の実行後、実行
された処理に対応する一定時間内に次の処理が行なわれ
るか否かの判定、すなわちトレース制御タイマ4を用い
た判定の両者を行なう場合について説明したが、処理実
行手順の判定のみを実施する場合には第4図のステップ
7.8、および5′が不要となり、またトレース制御タ
イマ4を用いた判定のみを実施する場合にはステップ2
〜ステツプ5が不要となり、ステップ1、ステラフ5゛
、ステップ6、ステップ7、ステップ8の順序のフロー
となることは自明である。
〔効   果〕
本発明によりシステムエラーの原因発生の時点で直ちに
トレース動作を停止するため、その時点でのトレースデ
ータの消去が防止され、トレース機能が強化される。そ
の結果、プログラムの開発およびデバッグ、ハード障害
調査等の時間が大幅に短縮される。
【図面の簡単な説明】
第1図[8)、[b)は本発明のプログラムトレース装
置の原理ブロック図、 第2図は本発明の実施例のブロック図、第3図は本発明
におけるプログラムトレース動作フローの説明図、 第4図はトレース処理の詳細フローの説明図、第5図は
ランダムアクセスメモリ (RAM)内のトレース制御
データおよびトレースデータ記憶領域の説明図、 第6図は従来のプログラムトレース動作の説明図である
。 1・・・制御レジスタ、 2a・ ・ ・リードオンリーメモリ (ROM)、2
b・・・ランダムアクセスメモリ(RAM)、3・・・
マイクロプロセッサ(MPU)、4・・・トレース制御
タイマ、 5・・・中央処理装置(CP U)。 特許出願人  株式会社ビーエフユー トレース幻埋の詳細フローの客え明図 第4図 RAM内のトレース制御データ3シひ″トレースデータ
言こノ漕、#lt域・の;地明Z第5図

Claims (1)

  1. 【特許請求の範囲】 1)システム全体を制御する中央処理装置との間でシス
    テムバスを介して入出力するデータを一時記憶する第一
    の記憶手段(1)と、処理の実行順序に関するデータを
    記憶するための第二の記憶手段(2)と、実際の処理実
    行順序を判定しトレス動作の続行または停止の制御を行
    なうための制御手段(3)を有することを特徴とするプ
    ログラムトレース装置。 2)前記第一の記憶手段(1)と、トレース対象処理毎
    に該処理に対するトレース処理実行後に次の命令に対す
    るトレース処理を行なうことのできる最長時間データを
    記憶する第二の記憶手段(2)と、本装置全体を制御す
    る制御手段(3)と、前記最長時間内に次のトレース処
    理が行なわれない場合に前記制御手段(3)に割込みを
    かけ、前記制御手段(3)にトレース動作の停止制御を
    行なわせるためのトレース実行可能時間設定手段(4)
    とを有することを特徴とするプログラムトレース装置。 3)前記第二の記憶手段(2)は前記最長時間データと
    ともに、前記の処理実行順序に関するデータをも記憶す
    るためのものであり、前記制御手段(3)は実際の処理
    実行順序を判定し、トレース動作の続行または停止の制
    御をも行なうことを特徴とする特許請求の範囲第2項記
    載のプログラムトレース装置。 4)前記制御手段(3)はマイクロプロセッサであるこ
    とを特徴とする特許請求の範囲第2項、3項のいずれか
    1つに記載のプログラムトレース装置。
JP62297806A 1987-11-27 1987-11-27 プログラムトレース装置 Pending JPH01140348A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62297806A JPH01140348A (ja) 1987-11-27 1987-11-27 プログラムトレース装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62297806A JPH01140348A (ja) 1987-11-27 1987-11-27 プログラムトレース装置

Publications (1)

Publication Number Publication Date
JPH01140348A true JPH01140348A (ja) 1989-06-01

Family

ID=17851409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62297806A Pending JPH01140348A (ja) 1987-11-27 1987-11-27 プログラムトレース装置

Country Status (1)

Country Link
JP (1) JPH01140348A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04373038A (ja) * 1991-06-21 1992-12-25 Nec Corp ハードウェア情報トレース方式
JPH08292904A (ja) * 1995-04-20 1996-11-05 Hokkaido Nippon Denki Software Kk ダンプ採取制御方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04373038A (ja) * 1991-06-21 1992-12-25 Nec Corp ハードウェア情報トレース方式
JPH08292904A (ja) * 1995-04-20 1996-11-05 Hokkaido Nippon Denki Software Kk ダンプ採取制御方式

Similar Documents

Publication Publication Date Title
JP2003508864A (ja) スレッド志向デバッギング
JPH01140348A (ja) プログラムトレース装置
JPH0581070A (ja) プログラマブルコントローラ、およびプログラマブルコントローラにおけるユーザプログラム実行方法
JP2653412B2 (ja) ブレークポイント設定方法
JPS58181160A (ja) 緊急動作制御方式
JPH0635757A (ja) Cpuの異常検出装置
JP2661447B2 (ja) 入出力装置の試験方法
JPS5856051A (ja) アクセス割込みによるアドレス・コンペア方式
KR950005523B1 (ko) 프로그램어블 로직 콘트롤러의 스텝 런 처리방법
JPH02166530A (ja) 巡回診断方式
JPS6282438A (ja) 情報処理装置におけるデバツグ割込み制御方式
JPH0149975B2 (ja)
JPH03209534A (ja) プログラム開発支援装置
JPH05197408A (ja) 数値制御装置
JPS6238746B2 (ja)
JPS6111867A (ja) インタフエ−ス制御における異常処理方式
JPH01184551A (ja) プログラムのデバッギング方式
JPH07295834A (ja) デバッグモニタ処理方法と処理装置
JPH0250494B2 (ja)
JPH07271608A (ja) 割込み発生回路
JPH07134665A (ja) 情報処理装置
JPH03282617A (ja) プリンタ装置
JPS61235955A (ja) プログラムのデバツグ方式
JPS6091458A (ja) マイクロプロセツサのプログラムデバツグ装置
JPS61235925A (ja) 電子計算機システムの運用方式