JPS61290544A - プログラム・トレ−ス装置 - Google Patents

プログラム・トレ−ス装置

Info

Publication number
JPS61290544A
JPS61290544A JP60131791A JP13179185A JPS61290544A JP S61290544 A JPS61290544 A JP S61290544A JP 60131791 A JP60131791 A JP 60131791A JP 13179185 A JP13179185 A JP 13179185A JP S61290544 A JPS61290544 A JP S61290544A
Authority
JP
Japan
Prior art keywords
trace
loop
program
pointer
buffer
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
JP60131791A
Other languages
English (en)
Inventor
Hiroshi Kadota
門田 博志
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP60131791A priority Critical patent/JPS61290544A/ja
Publication of JPS61290544A publication Critical patent/JPS61290544A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、マイクロ・プログラムやマイクロ・コンピュ
ータ・ソフトウェアなどによって制限される情報処理シ
ステムのプログラム実行軌跡をトレースするためのプロ
グラム・トレース装置に関する。
〔発明の背景〕
ソフトウェアを内蔵する情報処理システムにおいて、そ
のソフトウェアの実行軌跡を定量的に分析、評価するこ
とは、ソフトウェアの品質の向上に欠くことのできない
技法になってきている。プログラム実行軌跡をトレース
し、プログラムのテストの完全性を示す1つの指標とし
て、テスト・カバレジがある。これはプログラムのテス
トを実行率で評価するもので、例えば100ステツプ中
、60ステツプが実行されると、実行率(カバレジ)は
60%であるとする。
しかしながら、従来のカバレジ評価のためのプログラム
・トレース装置においては、通過命令アドレスまたは分
岐アドレスをトレース・データとして採取する機能はあ
ったが、ソフトウェアで一般的に使用される分岐命令に
よるループ処理により発生する同一トレース・データを
除去する機能はなく、ソフトウェアの実行時にループが
発生すると、それが全く同一の軌跡をたどる場合にも大
量のトレース・データの採取していた。このため。
規模の小ざなソフトウェアのカバレジを測定する場合に
も、分析、評価に無駄な時間、労力を費すことがあった
なお、この種プログラム・トレース装置の従来技術とし
ては、例えば特開昭59−158452公報を挙げるこ
とができる。
〔発明の目的〕
本発明の目的は、プログラム・ループを実行した場合、
同一データのトレースを防止し、プログラムの実行軌跡
データの採取効率を向上させることにある。
〔発明の概要〕 本発明はソフトウェアにより制御される被トレース装置
の実行軌跡をトレースする装置において。
トレース・データの内容からプログラムループ状態を検
出するための回路と、ループが全く同じ状態で発生した
ことをチェックするための回路を設けることにより、実
行軌跡をトレースするために設けられたメモリに、より
有効にトレース・データを収集するようにしたことであ
る。
〔発明の実施例〕
第1図は本発明の一実施例の全体構成図を示している。
第1図において、1は分岐命令を含むソフトウェアを内
蔵する被トレース装置である。本発明によるプログラム
・トレース装置は、分岐命令を検出しトレース・データ
を取出すための命令デコータ2.プログラム・ループ状
態の発生/解除を検出するためのループ検出回路3、ル
ープカウンタ4、同一プログラム・ループ状態が発生し
たことを検証するのに必要なデータを記録するためのバ
ッファ選択回路5、バッファカウンタ6゜10、バッフ
ァ制御回路7,9.バッファ・メモlJ8,11.同一
プログラム・ループの発生を検証するためのバッファ比
較回路12.分岐命令に関するトレースデータを記憶す
るためのトレース・メモリ制御回路部13、擬似ポイン
タ14、トレー、スポインタ15、トレース・メモリ1
6、及びループ命令スタッカ17等から構成されている
ループ命令スタッカ17には、プログラム・ループ状態
の発生/解除をチェックするためのデータとして分岐命
令のアドレスと分岐先アドレスが記録される。ループ・
カウンタ4にはループ発生回数力、バッファ・カウンタ
6.10にはバッファ・メモリ8,10の記録位置を示
すための配列が記録される。トレース・ポインタ15に
はトレース・メモリ16の記録位置を示すためのアドレ
スが記録される。また、擬似ポインタ14には、トレー
ス・メモリ16に記録した分岐命令データがプログラム
・ループの場合、これらをプ時なデータとして扱うため
の擬似アドレス情報が記録されるようになっている。
次に、第2図のフローチャートを参照しながら第1図の
動作を説明する。
被トレース装置1において実行されたプログラム動作状
態を信号線aにより命令デコーダ2に取込み、該命令デ
コーダ2により分岐命令か否かを判定する。命令デコー
ダ2により分岐命令と判定されると、信号線すを介して
トレースデータが出力される。トレース・データは命令
コード、命令アドレス、分岐先アドレスよりなるとする
。これらの情報はループ検出回路3に転送される。ルー
プ検出回路3では与えられた命令コードのフォーマット
を持つ分岐命令がプログラム・ループを形成するための
ものか否かを判定する。こぎで、ループ検出回路3にお
けるループ状態は、命令デコーダ2において取出された
分岐命令の命令アドレスと分岐先アドレスの関係が命令
アドレス≧分岐先アドレスとして成立したことにより検
出するものとする。また、ループ検出回路3におけるプ
ログラム・ループ状態の解除は、命令デコータ2におい
て取出された分岐命令の分岐先アドレスがループ命令ス
タッカ17に格納されている命令アドレスと分岐先アド
レスのアドレス内を越えた場合に検出するものとする。
命令アドレスく分岐先アドレスの場合、すなわちプログ
ラム・ループではなく通常の分岐命令の場合、ループ検
出回路3は信号線Pを介してトレース・メモリ制御回路
13にトレース・データを転送する。この時、トレース
・メモリ制御回路13はトレース・ポインタ15を使用
し、信号線rを介してトレース・メモリ16にトレース
・データを記録する。
命令アドレス≧分岐先アドレスが成立してプログラム・
ループ状態の発生を検出した場合、その時のトレース・
ポインタ15の値を擬似ポインタ14に、トレース・デ
ータの命令アドレスと分岐先アドレスをループ命令スタ
ッカ17に格納する。
これ以降は、ループ検出回路3においてプログラムルー
プ状態の解除が検出されるまで、擬似ポインタ14を使
用し、トレースデータを信号線p。
rを介してトレース・メモリ16に一時記録し、この間
のトレース・ポインタ15の更新は停止しておく。
次に、バッファメモリ8,11の働きについて説明する
。ループ検出回路3においてプログラム・ループ状態が
検出された場合、ループ・カウンタ4の値を更新すると
共に、信号線dtetftgehを介してバッファ制御
回路7または9により、トレースデータをバッファ・メ
モリ8または11に一時記憶する。この時どちらのバッ
ファ・メモリに記憶するかはバッファ選択回路5により
、またどのバッファ配列に記憶するかはバッファ・カウ
ンタ6または10により制御する。バッファ制御回路5
のバッファ選択情報とバッファカウンタ6.10は、ル
ープ検出回路3でプログラム・ループ状態が解除された
ことを検出したときに初期設定する。
ループカウンタ4はループ検出回路3でループを検出す
る毎に加算し、バッファ選択回路5のバッファ選択情報
は、ループ・カウンタ4の値が1の場合はバッファ制御
回路7によりバッファ・メモリ8に、ループ・カウンタ
4の値が2以上の場合はバッファ制御回路9によりバッ
ファ・メモリ11にトレース・データを記憶することを
示すようになっている。ループ検出回路3によりループ
状態が検出され、かつループ・カウンタ4が2以上の場
合、バッファ・メモリ8と11の内容をバッファ・カウ
ンタ6で示す配列分だけバッファ比較回路12で比較す
る。内容の一致、不一致は信号線qを介してトレース・
メモリ制御回路13に転送し、一致している場合は擬似
ポインタ、14に再びトレース・ポインタ15の値を格
納しく同一軌跡によるループ状態)、不一致の場合は擬
似ポインタ14の値をトレース・ポインタ15に格納し
、更新を再開する。
プログラム・ループが検出され、その後に解除された場
合は、プログラム・ループが何回発生したのかを解析し
、Cnカバレジ算出を可能とするために、プログラム・
ループを形成していた最後の分岐命令のトレース・デー
タにループ・カウンタ値を付加してトレースする。
〔発明の効果〕
本発明によれば、プログラム実行軌跡のトレースにおい
て、ソフトウェアで一般的に発生するプログラム・ルー
プ時のトレース・データの記録を除去できるので、以下
に示す効果がある。
(1)被トレース装置のプログラムにおけるループ処理
時の同一情報はトレースされないため、トレース・メモ
リの使用効率が大幅に上昇し、これににより従来のよう
に肝心の実行軌跡がトレースできないという不具合がな
くなる。
(2)被トレース装置のプログラムにおけるループ処理
時−の同一情報はトレースされないため、実行軌跡から
のプログラム動作状態の追求が容易となり、カバレジ評
価の効率が向上する。
(3)プログラム・ループ発生回数をトレースすること
により、Co、C,カバレジさらにはCnカバレジの解
析を可能とする。
【図面の簡単な説明】
第1図は本発明の一実施例のブロック図、第2図は第1
図の動作を説明するための、ブローチヤードである。 1・・・被トレース装置、  2・・・命令デコーダ、
3・・・ループ検出回路、  4・・・ループカウンタ
、5・・・バッファ選択回路、 6,10・・・バッフ
ァカウンタ、  7,9・・・バッファ制御回路、8.
11・・・バッファメモリ、  12・・・バッファ比
較回路、  13・・・トレースメモリ制御回路、14
・・・擬似ポインタ、  15・・・トレースポインタ
、  16・・・トレースメモリ、  17・・・ルー
プ命令スタッカ。 第1図

Claims (1)

    【特許請求の範囲】
  1. (1)情報処理システムのプログラム実行軌跡をトレー
    ス・メモリ上に収集するプログラム・トレース装置にお
    いて、トレース・データの内容からプログラム・ループ
    を検出する手段と、プログラム・ループを検出すると、
    それ以降のトレース・データをトレース・メモリに記録
    すると共にバッファメモリにも記録する手段と、前記バ
    ッファメモリの内容にもとづき、1回目と2回目以降の
    ループを形成しているプログラムの動作軌跡が同一内容
    であるかどうかチェックする手段と、該チェック結果に
    よりトレース・メモリのトレース・ポインタの更新を制
    御して、前記ループを形成しているプログラムの動作軌
    跡が同一内容の場合、トレース・メモリ上の該当トレー
    ス内容を一時的なものとして処理する手段とを具備して
    いることを特徴とするプログラム・トレース装置。
JP60131791A 1985-06-19 1985-06-19 プログラム・トレ−ス装置 Pending JPS61290544A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60131791A JPS61290544A (ja) 1985-06-19 1985-06-19 プログラム・トレ−ス装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60131791A JPS61290544A (ja) 1985-06-19 1985-06-19 プログラム・トレ−ス装置

Publications (1)

Publication Number Publication Date
JPS61290544A true JPS61290544A (ja) 1986-12-20

Family

ID=15066214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60131791A Pending JPS61290544A (ja) 1985-06-19 1985-06-19 プログラム・トレ−ス装置

Country Status (1)

Country Link
JP (1) JPS61290544A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02103642A (ja) * 1988-10-12 1990-04-16 Nec Corp 履歴情報格納方式
WO2009157036A1 (ja) * 2008-06-24 2009-12-30 富士通株式会社 情報処理装置及び制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02103642A (ja) * 1988-10-12 1990-04-16 Nec Corp 履歴情報格納方式
WO2009157036A1 (ja) * 2008-06-24 2009-12-30 富士通株式会社 情報処理装置及び制御方法

Similar Documents

Publication Publication Date Title
US5134701A (en) Test apparatus performing runtime replacement of program instructions with breakpoint instructions for processor having multiple instruction fetch capabilities
EP0261335B1 (en) Test method and apparatus for a distributed processing system
JPS61290544A (ja) プログラム・トレ−ス装置
JPS58223854A (ja) デ−タ処理システム
JPS63103336A (ja) デバツグ支援装置
JPH03217947A (ja) 故障位置指摘方法
JPS60193051A (ja) エラ−解析装置
JPS6073756A (ja) プログラム・トレ−ス装置
JPS5924355A (ja) ブランチトレ−スヒストリ処理方式
JPS6161429B2 (ja)
JPS63191243A (ja) ジヤンプヒストリデ−タ収集方式
JPH0573351A (ja) 情報処理装置
JP2000112907A (ja) マルチプロセッサ装置および動作記録方法
JPS59177799A (ja) 読出専用メモリのチエツク方式
JPS6126358A (ja) ソフトウエア検査システム
JPH07295857A (ja) プログラムデバッグ方法
JPS61192072A (ja) デ−タ変化点検出装置
JPS59158453A (ja) プログラムテスト装置
JPH04358236A (ja) データ処理装置
JPS63193235A (ja) 条件コ−ド検査方法
JPH0251747A (ja) ソフトウェア試験方法
JPS61141046A (ja) デバツグ割込み制御方式
JPS63226745A (ja) プロセツサシステム
JPS61145657A (ja) ヒストリメモリ制御回路
JPH0764805A (ja) リアルタイムマルチタスクシステム