JPS59161746A - プログラムアナライザ - Google Patents

プログラムアナライザ

Info

Publication number
JPS59161746A
JPS59161746A JP58034623A JP3462383A JPS59161746A JP S59161746 A JPS59161746 A JP S59161746A JP 58034623 A JP58034623 A JP 58034623A JP 3462383 A JP3462383 A JP 3462383A JP S59161746 A JPS59161746 A JP S59161746A
Authority
JP
Japan
Prior art keywords
address
instruction
branch instruction
branch
circuit
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
JP58034623A
Other languages
English (en)
Inventor
Haruo Takagi
高木 治夫
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.)
Omron Corp
Original Assignee
Tateisi Electronics Co
Omron Tateisi Electronics Co
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 Tateisi Electronics Co, Omron Tateisi Electronics Co filed Critical Tateisi Electronics Co
Priority to JP58034623A priority Critical patent/JPS59161746A/ja
Publication of JPS59161746A publication Critical patent/JPS59161746A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 (発明の分野) 本発明−1、プロセッサを備えた機器に接続されこの機
器のプログラムデバッグ中に実行さイまた命令および経
由したプログラム実行経路を分析し記録するプログラム
アナライザに関する。
(発明の背景) 一般に、プロセツ→ノーが組み込まれた機器すなわちコ
ンピュータシステムにおいては開発段階等、製品を出荷
する前に充分デバッグを行ないプログラムの欠陥(バッ
グ:bug)を皆無とすることが好ましい。しかし、特
に分岐命令が多くプログラム実行経路(パス: pas
s)  が複雑に入9糾んでいる場合、ややもするとデ
バッグしないパスを残したまま出荷してい才い、後にこ
のデバッグされなかった/♀スのバッグによりトラブル
が発生するおそれがある。このようなデバッグ段階にお
けるプログラムのエラー検出の品質すなわちデバッグが
どの程度完全に行なわイまたかを評1曲する手法として
カバレーノ結果の収集があシ、その精密さのランクによ
、)Co、C1,C2・・・・・・等がある。
COカッ!レージはデバッグ中に全部のステップ(命令
)を実行したか否かを判断し、実行された程度を指数(
各命令が少なくとも1口実行された場合を]、 OO)
として求めるものである。C1カバレージは分岐命令ご
とにブランチおよび非ブラノヂ双方の79!スを経由し
たか否かを判断するものである。C2カバレージは各ル
ープが何回実行さイ1.たかを判断するものである。
従来、これらの各カバレージの情報は、例えはシミュレ
ーンヨノプログラムを1ステツフずつ実行することによ
りマニュアルで収集しておシ、このプログラムを実行す
るプロセッサが組み込まれた機器すなわち実機における
収集例はなかった。
すなわち、このようなカバレージ情報の収集は手間と時
間とを要するものであった。
そこで、本発明者等は、実機のシステムパス(アドレス
バス、データパス、コントロールパス)または実機に組
み込まれたCPUのリード端子から各種デ〜りまたは信
号を引張り出し、これらのデータまたは信号に基づいて
分岐命令を検問し、この分岐命令のアト゛レスとこの分
岐命令に続いて実行された命令とのアドレスを収集して
1組の情報として記録するようにしたプログラムアナラ
イザを提案している。
しかし、この提案のプログラムアナライザにおいては、
例えばプログラムメモリのアドレスを]6ビツトとする
と、■絹の情報として32ピッI−を必要とし、記録用
の製布またはメモリの容量が大きくなるという不都合が
あった。
(発明の目的) 本発明は、実機における01カバレージ情報の収集が可
能であるとともに、このカバレージ情報を圧縮して記録
するプログラムアナライザを提供することを目的とする
(発明の構成および効果) 上記目的を達成するため本発明では、プロセッサを備え
た機器のプログラムデバッグ中に実行された命令および
経由したプログラム実行経路を分析し記録するプログラ
ムアナライザにおいて、実行中の分岐命令およびそのア
ドレスを検出しこの分岐命令のアドレスおよびバイト数
を出力する命令デコーダと、前記分岐命令に続いて実行
さ狽、た命令のアドレスと前記分岐命令のアドレスとバ
イ1−数とから算出された次命令アドレスとを比較する
比較手段とを具備し、前記分岐命令のアドレスと前記比
較手段からの比較信号とを1絹のデータとして記録する
ことを特徴とする。
上記構成に係る本発明によれば、実機をリアルタイムで
動作させたままで、実機のシステムパスからめデータを
モニタすることにより直接C1カバレージ情報を入手す
ることができる。また、記録装置崖への記録情報量は必
要最少限のものとなシ、記録媒体容量および解析時間が
最少で済む。また、このCI情報によりデバッグ時点に
おけるデバッグの品質ひいてはソフトウェアの品質の把
握が可能となり、従って高品質プログラム全効率的に開
発することかできる。なお、このC1情報を用いて、よ
シ高度なC2またはC3等の情報指標蚕作成することも
可能である。
(実施例の説明) 以下図面を用いて本発明の詳細な説明する。
第1図は本発明の1実施例に係るプログラムアナライザ
のシステム構成を示す。同図において、1はデバッグさ
イ1.るべきプログラムを実行する機器すなわち実機に
組み込ま2ユたプロセッサ(CPU)である。2は本発
明のプログラムアナライザて、CI検出回路3、領域指
定回路4、オーバレイメモリ5、フロッピディスクまた
は磁気テープ装置等からなる記録装置6を具備する。
CI検出回路3は、実1cPU1て実行中の命令が分岐
命令であることおよびこの分岐命令によりブランチ(ジ
ャンプ)したか否かを検出し、第2図に示すような分岐
命令のアドレスとブランチか否かを示す1ビツトの信号
とを1組とするデータを発生する。領域指定回路4はC
I+−レースを行なうべきアドレス範囲を制限するため
のもので、これによシ、記録すべきデータ匍を圧縮する
ことができる。オー、バレイメモリ5はCx4莢出回路
3の出力を一時記憶し、記録装置6のクイミ人グで出力
するバッファとして動作し、こ孔によシ、処理時間の遅
い記録装置6を用いた場合であっても実機CP U’l
をリアルタイムで動作させながら、すなわち実機C’P
 U 1の動作速度を低下させることなくCIカバl/
−ジ情報の記録を可能にしている。
第3図は第1図におけるC1検出回路3のよシ詳細なブ
ロック構成を示す。C]検出回路3は、実機CPtJ]
のシステムパス(アドレス/ζス、デークバス、コツト
[フールバス)ニ接続すレ、各ノぐスから取り込んだデ
ータに基づいてCIカッSレ−ノ情報を検出するもので
、命令デコーダ21、アドレスレジスタ22.23.2
4、加算回路25、比較回路26、アントゲ−1−27
,28、フリップフロップ29、遅延回路30、および
コノI・ロール回路31等によって構成される。
命令デコーダ2]は実機CPUIをモニタして分岐命4
−を検出するとともに、検出した分岐命令のバイト数(
ワード数)を求めるデコーダ(テーブノωを有し、この
バイト数を加讃−回路25に送出する。
コン1−ロール回路3Jは実機CPUIとC1検出回路
3との同期をとるためのオペレーションコードフェッチ
タイミング7gルスT1を発生する。
次に第3図のC1検出回路3の動作を説明する。
今、実機CP U 1のデータバスに分岐命令が出力さ
れたものとすると、命令デコーダ21はこの分岐命4>
音検出して検出信号111 I+をアンドゲート27の
一方の入力に送出するとともに検出された分岐命令のバ
イト数を加算回路25に送出する。
アンドゲート27の他方の入力にはコノ1−ロール回路
31からオペレーションコードフェッチタイミングごと
に発生する)♀バスすなわちフエツチクイミングノ♀ル
スT]が印加されているから該ノgルスTlのタイミン
グでアンドゲート27の出力が′1′”になる。これに
よりアドレスレジスタ22はアドレスバスから前記分岐
命令のアドレスを記憶し、一方、フリップフロップ2つ
はセットされる。次に前記分岐命令の次のフエツチタイ
ミングノ?ルスT]が発生すると、アノトゲ−1・28
の一力の入力にはフリップフロップ29の出力Q=“1
“が印加され、他方の入力にはフェッチタイミング/R
ルスT1が印加されているからアンドゲート28はこあ
・9ルスT1のタイミングて出力が1′′になる。従っ
て、アドレスレジスタ23はアドレスレジスタ22に記
憶されている分岐命令のアドレスデータを記憶し、アド
レスレジスタ24は前記分岐命令に続いて実行された命
令のアドレスすなわち分岐先アドレスを記憶する。アッ
トゲート28の出力は、さらに、遅延回路30によシ所
定時間遅延された後、フリップフロップ29のリセツ1
〜端子に印加され、こ乙によシフリップフロップ29は
リセットする。加算回路25は命令デコーダ21からの
分岐命令バイト数データとアドレスレジスタ6からの分
岐命令アドレスデータとを加算し、分岐命令によってブ
ランチしなかった場合のアドレスすなわち次命令アドレ
スを算出する。比較回路26は加算回路25からの次命
令アドレスデータとアドレスレジスタ24からの分岐先
アドレスデータとを比較し、これらのアドレスデータが
一致すれは該分岐命令によってはブランチしなかったこ
とを示す信号+101+を発生し、不一致の場合は該分
岐命令によって条件分岐したことを示す信号II I 
I+を発生する。アドレスレジスタ23からの分岐命令
アドレスデータと比較回路26からの比較信号とは1組
のC1情報としてオーバレイメモリ5(第1図)に送出
される。
【図面の簡単な説明】
第1図は本発明の1実施例に係るプログラムアナライザ
の構成を示すブロック図、第2図は第1図のアナライザ
において検出さ狽、記録されるC1情報のフォーマツ1
−図、第3図は第1図のアナライザにおけるci検出回
路のより具体的な構成を示すブロック図である。 ■・・・実機CPU、   2・・・プログラムアナラ
イザ、3・・・C1検出回路、 6・・・記録装置、 
21・・・命令デコーダ、  22,23.24−・ア
ドレスレジスタ、  25・・・加算回路、  26・
・・比較回路。 特許出願人  立石篭機株式会社 代理人  弁理士 伊東辰雄 代理人  弁理士 伊東伯也

Claims (1)

    【特許請求の範囲】
  1. プロセッサを備えた機器のプログラムデバッグ中に実行
    された命令および経由したプログラム実行経路を分析し
    記録するプログラムアナライザであって、実行中の分岐
    命令およびそのアドレスを検出しこの分岐命令のアドレ
    スおよびバイト数を出力する命令デコーダと、前記分岐
    命令に続いて実行された命令のアドレスと前記分岐命令
    のアドレスとバイト数とから算出された次命令アドレス
    とを比較する比做手段とを具備し、前記分岐命令のアド
    レスと前記比較手段からの比較信号とを1組のデータと
    して記録することを特徴とするプログラムアナライザ。
JP58034623A 1983-03-04 1983-03-04 プログラムアナライザ Pending JPS59161746A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58034623A JPS59161746A (ja) 1983-03-04 1983-03-04 プログラムアナライザ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58034623A JPS59161746A (ja) 1983-03-04 1983-03-04 プログラムアナライザ

Publications (1)

Publication Number Publication Date
JPS59161746A true JPS59161746A (ja) 1984-09-12

Family

ID=12419512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58034623A Pending JPS59161746A (ja) 1983-03-04 1983-03-04 プログラムアナライザ

Country Status (1)

Country Link
JP (1) JPS59161746A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200348A (ja) * 1993-11-23 1995-08-04 Rockwell Internatl Corp プログラムアドレスデータを圧縮する方法および装置ならびにプログラムのデバッギング処理を速める装置
US7065749B2 (en) * 2000-03-28 2006-06-20 Nec Electronics Corporation Program development compressed trace support apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200348A (ja) * 1993-11-23 1995-08-04 Rockwell Internatl Corp プログラムアドレスデータを圧縮する方法および装置ならびにプログラムのデバッギング処理を速める装置
US7065749B2 (en) * 2000-03-28 2006-06-20 Nec Electronics Corporation Program development compressed trace support apparatus

Similar Documents

Publication Publication Date Title
JP2776602B2 (ja) 試験システムおよび命令実行シーケンス判定方法
JP2824828B2 (ja) プログラムアドレスデータを圧縮する方法および装置ならびにプログラムのデバッギング処理を速める装置
US7149926B2 (en) Configurable real-time trace port for embedded processors
US5754759A (en) Testing and monitoring of programmed devices
US7802149B2 (en) Navigating trace data
JPH06222952A (ja) デバッグ支援装置
US8972794B2 (en) Method and apparatus for diagnostic recording using transactional memory
EP0530816A2 (en) Microprocessor with cache memory and trace analyzer therefor
JPS59161746A (ja) プログラムアナライザ
WO1982003478A1 (en) Apparatus for assisting fault-finding in data processing systems
JPS6383841A (ja) プログラムテスト可能な計算機中央処理装置
US20170249146A1 (en) Bandwidth reduction for instruction tracing
JP2003281076A (ja) Dmaコントローラの不正アクセス検出装置、不正アクセス検出方法およびそのプログラム
JPS59161747A (ja) プログラムアナライザ
JP3000779B2 (ja) プロセッサの実行状態の情報収集方法
CN116107823A (zh) 一种电路的测试方法、装置、电子设备和存储介质
JP3165105B2 (ja) プログラムのトレーサ、コンパイラ及びリンカー
JPH0237437A (ja) トレース装置
JPH0326416B2 (ja)
JP2786215B2 (ja) 再開処理制御方式
JPS59158452A (ja) プログラムテスト装置
JPS63313244A (ja) デ−タ処理装置
JPS60147853A (ja) マイクロプロセツサ走行状態履歴格納方式
JPS62109142A (ja) マイクロプロセツサデバツグ装置
JPH05303512A (ja) Mpuのトレース装置