JPH07160533A - デバッグツール - Google Patents

デバッグツール

Info

Publication number
JPH07160533A
JPH07160533A JP5310885A JP31088593A JPH07160533A JP H07160533 A JPH07160533 A JP H07160533A JP 5310885 A JP5310885 A JP 5310885A JP 31088593 A JP31088593 A JP 31088593A JP H07160533 A JPH07160533 A JP H07160533A
Authority
JP
Japan
Prior art keywords
data
variable
information
history
program
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
JP5310885A
Other languages
English (en)
Inventor
Masahiro Taniguchi
征浩 谷口
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP5310885A priority Critical patent/JPH07160533A/ja
Publication of JPH07160533A publication Critical patent/JPH07160533A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 デバッグを行なう際の作業効率を向上させ
る。 【構成】 指定された変数にデータが設定されたとき
に、そのデータとそのときの状態を再現するための必要
な情報などを、任意のステップからステップを変えてい
ったときにその経過に対応させて履歴情報として記憶す
る記憶手段を備えたデバッグツールである。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、ソフトウェアの開発
を行なう際に使用するデバッグツールに関するものであ
る。
【0002】
【従来の技術】図6は、従来のデバッグツールによるデ
バッグ実行時の動作を示すフローチャートである。この
フローチャートによれば、まずステップST1において
デバッグの対象となるプログラムをステップ毎に読み出
し実行する。続くステップST2では、目的とするステ
ップでプログラムの進行を停止させる。この結果、各メ
モリやレジスタに格納されたデータや入出力されるデー
タの内容は停止したステップでのプログラムが実行され
た状態で固定されることになり、ステップST3ではこ
れら各メモリやレジスタに格納されたデータや入出力さ
れるデータを確認する。そして、次のステップST4で
は、確認した夫々のデータが期待するデータ内容となっ
ているか否かを確認する。この結果、期待するデータ内
容と異なっているときには、プログラムを再度最初から
実行し前記夫々のデータが期待するデータ内容と一致す
るようにプログラム上の問題点を探し出し修正する。
【0003】一方、前記確認した夫々のデータが期待す
るデータ内容と一致するときにはデバッグを終了するか
否かを判断し、デバッグを続行するときにはステップS
T1に戻り、さらにデバッグの対象となるプログラムを
1ステップあるいは必要なステップ数進め、新たなステ
ップでの各メモリやレジスタに格納されたデータや入出
力されるデータの確認など、ステップST1からステッ
プST6までの動作を繰り返す。
【0004】このように従来のデバッグツールによるデ
バッグでは、デバッグの対象となるプログラムを実行さ
せたときの夫々のステップに応じた情報しか得ることが
できず、この情報を基にプログラム上の問題点を探し出
す。また、そのステップ以前の情報はプログラムを再実
行し、関係するステップを実行してみなければ得ること
ができないものである。
【0005】
【発明が解決しようとする課題】従来のデバッグツール
は以上のように構成されているので、デバッグを行なう
にはプログラムを1ステップ単位で読み出し実行するこ
とで、その読み出したプログラムにより各メモリやレジ
スタに格納されたデータや入出力されるデータが期待す
るデータの内容となっているか否かを検証することは出
来ても、その検証した結果の誤りの原因が前のステップ
により生成されたデータと関連しているような場合にプ
ログラム上の誤りを探索し見つけ出すためには、最初か
らプログラムの必要なステップを再実行し、このときの
データの内容などからオペレータの判断でプログラム上
の問題点を検索するなどの手法に頼らざるを得ない問題
点があった。
【0006】請求項1の発明は上記のような問題点を解
消するためになされたもので、デバッグを行なう際の作
業効率を向上させたデバッグツールを得ることを目的と
する。
【0007】
【課題を解決するための手段】請求項1の発明に係るデ
バッグツールは、指定された変数にデータが代入された
ときにそのデータやそのときの状態を再現するための必
要な情報などの履歴情報を記憶する記憶手段と、その記
憶手段に記憶した各ステップでの上記変数についての上
記データや情報など、各ステップでの状態を再現するた
めの必要な情報を用いて上記各ステップの状態を再現し
たり、上記記憶手段に記憶したデータや情報などを履歴
情報として出力する履歴情報抽出再現手段とを備えたも
のである。
【0008】
【作用】請求項1の発明における記憶手段は、任意のス
テップにおいて指定された一つまたは複数の変数に代入
されたデータやその変数にデータが代入されたときの状
態を再現するための必要な情報が上記任意のステップか
ら実行するステップを変えていったときの経過に対応さ
せて履歴情報として記憶する。また、履歴情報抽出再現
手段は、その記憶手段に記憶した各ステップの上記変数
についての上記データや情報などを用いてそのステップ
での状態を再現したり、あるいは実行するステップを変
えていったときの経過に対応した上記変数についての履
歴情報をそのステップを再現することで出力し、上記変
数に対する変換の履歴、データが上記変数に代入された
ときの状態の再現さらにその確認を容易にし、デバッグ
を行なうための再実行回数を低減し、デバッグを行なう
際の作業効率を向上させ、ソフトウェアの開発に要する
時間を短縮するように作用する。
【0009】
【実施例】
実施例1.以下、請求項1の発明の一実施例を説明す
る。本実施例のデバッグツールは、デバッグの対象とな
るプログラムを実行させたときに指定した変数(たとえ
ば外部の状況に応じて変化して入力されるデータあるい
は内部的なデータ処理の過程などにおける内部的な状態
に応じて変化するデータなどが格納されるレジスタなど
のC言語によるプログラム上の変数であり、デバッグの
対象となる夫々のプログラムに応じたもの)にデータが
設定されたときの夫々のレジスタやメモリのデータ内容
や、たとえばI/Oポートなどを介しての入出力データ
や入出力に関する制御データのデータ内容などを項目と
して選出できるようにすると共に、それら選出した項目
毎のデータ内容を前記変数にデータが設定されたときの
状態としてステップ毎に記憶手段にデバッグ用の内部デ
ータである一覧表として記憶し、この一覧表として記憶
される項目毎のデータ内容や前記変数に設定されたデー
タなどを用いてそのステップを再現することで確認した
り、指定した変数の変換の履歴に着目し、これらを基に
デバッグを行ない、デバッグを行なう際の作業効率を向
上させようとするものである。
【0010】図1は、本実施例のデバッグツールの構成
を示すブロック図である。図において1は一つまたは複
数の着目する変数を指定するための着目対象変数指定手
段、2は変数にデータが設定される全てのステップにお
いてそのデータが前記変数に設定されたときの状態を再
現できるように必要な情報の項目を選出する項目選出手
段、3はプログラムを1ステップ実行するプログラム1
ステップ実行手段、4は変数にデータが設定されたか否
かを判定する代入判定手段、5はあるステップでデータ
が設定された変数の変換の履歴が履歴情報としてすでに
登録されているか否かを判定する登録済判定手段、6は
前記ステップでの変数の変換の履歴と、データが変数に
設定されたときの状態(夫々のレジスタやメモリのデー
タ内容やたとえばI/Oポートなどを介しての入出力デ
ータや入出力に関する制御データのデータ内容など)を
再現するのに必要な情報を記憶する記憶手段、7は記憶
手段6に記憶された情報を抽出し、変数の変換の履歴と
変数にデータが設定されたときの状態とを再現する履歴
情報抽出再現手段である。
【0011】図5は、前記変数の変換の履歴や変数にデ
ータが設定されたときの状態を再現するのに必要な情報
からなる一覧表を示す説明図である。この一覧表は記憶
手段6に記憶されており、指定された変数である指定着
目変数21と、その指定着目変数21にデータが設定さ
れたときのステップ22と、上記指定着目変数21に設
定されたデータ23と、指定着目変数21にデータが設
定されたときの夫々のレジスタやメモリのデータ内容や
たとえばI/Oポートなどを介しての入出力データや入
出力に関する制御データのデータ内容などを項目毎に記
憶するための状態再現情報項目およびその内容24と、
上記指定された変数が複数あるときの他の変数あるいは
指定着目変数21に関連した他の変数25と、その変数
25に設定されるデータ26と、変数25にデータが設
定されたときの夫々のレジスタやメモリのデータ内容や
I/Oポートなどを介しての入出力データや入出力に関
する制御データのデータ内容などを項目毎に記憶するた
めの状態再現情報項目およびその内容27などから構成
されている。
【0012】次に動作について説明する。図2は本実施
例のデバッグツールの全体動作を示すフローチャートで
ある。図においてまず着目する変数を指定する(ステッ
プST1)。この場合、変数の指定は行なわなくてもよ
く、また任意のステップにおいて任意の変数に対して指
定を行なうことができる。さらに、変数が指定されると
その変数にデータが設定される全てのステップにおける
状態(夫々のレジスタやメモリのデータ内容やI/Oポ
ートなどを介しての入出力データや入出力に関する制御
データのデータ内容など)を再現することができるよう
に、必要な情報の項目の選出を行なう。図5の状態再現
情報項目およびその内容24,27のa,b,c・・・
は、前記一例として示した夫々のレジスタやメモリのデ
ータ内容やI/Oポートなどを介しての入出力データや
入出力に関する制御データなどの項目であり、この項目
の中から必要な項目を選出できる。
【0013】次に、プログラムを1ステップ実行する
(ステップST2)。そして、ステップST1において
あらかじめ指定しておいた変数にデータが設定されたか
否かを判断する(ステップST3)。ステップST3に
おいて指定されている変数にデータが設定されたと判断
し、また変数の変換の履歴情報が登録されていないとき
には、変数の変換の履歴情報や変数にデータが代入され
たときの状態を再現するための図5に示す各種情報を記
憶手段6に記憶する(ステップST4)。
【0014】続くステップST5では、別のステップで
の情報を見るか否かを判断する。この結果、別のステッ
プでの情報を見ると判断したときには、指定しておいた
変数のうち、ステップの基準となる変数を1つ選び(複
数指定した場合)、選ばれた変数の変換の履歴(データ
が代入された全ステップについて)を表示し(ステップ
ST6)、さらに指定されたステップでの状態を再現す
るために必要な情報を抽出し、その状態に移行する(ス
テップST7)。そして、ステップST8に進み終了す
るか否かを判断し、終了しないときにはステップST1
に戻る。
【0015】図3は、図2に示すフローチャートのステ
ップST2からステップST4までのさらに細かな動作
を示すフローチャートである。このフローチャートによ
れば、ステップST2に続くステップST3において変
数にデータが設定されたと判断したときには、データの
設定された変数の履歴がその変数の変化する履歴情報と
して図5に示す一覧表に登録されているか否かを続くス
テップST9において判断する。
【0016】登録されていないときには、そのステップ
での変数の変化する履歴とステップST1で選出した必
要な項目についての情報を記憶する(ステップST
4)。このときステップST2を実行したことで変数が
複数あった場合には、ステップST10で他の変数にも
データが設定されたか否かを判断し、他の変数にもデー
タが設定されたと判断したときには夫々の変数に対して
ステップST9およびステップST10と、登録されて
いないときのステップST4の動作を実行する。
【0017】図4は、図2に示すフローチャートのステ
ップST5からステップST7までのさらに細かな動作
を示すフローチャートである。このフローチャートによ
れば、ステップST5により別のステップでの情報を見
たいか否かを判断し、別のステップでの情報を見るとき
には履歴を持った変数の中でステップの基準となる変数
を指定する(ステップST11)。変数が指定されると
その変数の変化を示す履歴情報を記憶手段6から読み出
し表示する(ステップST6)。そして、表示した履歴
情報に関係するステップを指定する(スッテプST1
2)ことで、指定したステップの状態を再現するために
必要な情報を抽出し再現し(ステップST7)、これら
情報を基にプログラムの問題点を検索しデバッグを行な
う。
【0018】このように本実施例では、指定した変数に
データが設定されることを基準にして任意のステップで
の各メモリやレジスタのデータ内容や、I/Oポートを
介して入出力される入出力データやその制御データなど
の情報の抽出および抽出した情報を項目毎に記憶手段に
一覧表として記憶しておくことが可能であり、記憶手段
に記憶した前記情報をデバッグの際に読み出して、状態
を再現しそれを確認し、期待するデータ内容と比較した
り、また変数の履歴を確認することでデバッグを行なう
際の作業効率を向上させることができる。
【0019】
【発明の効果】以上のように、請求項1の発明によれば
指定した変数に代入されたデータやそのデータが上記変
数に代入されたときの状態を再現するための必要な情報
などを、任意のステップからステップを変えていったと
きにその経過に対応させて履歴情報として記憶手段に記
憶するようにして、これら情報を基にデバッグを行なう
ことが出来るように構成したので、デバッグを行なう際
の作業効率が向上する効果がある。
【図面の簡単な説明】
【図1】請求項1の発明の一実施例によるデバッグツー
ルの構成を示すブロック図である。
【図2】請求項1の発明の一実施例によるデバッグツー
ルの全体の動作を示すフローチャートである。
【図3】請求項1の発明の一実施例によるデバッグツー
ルにおける図2に示したフローチャートのステップST
2からステップST4までの動作を示すフローチャート
である。
【図4】請求項1の発明の一実施例によるデバッグツー
ルにおける図2に示したフローチャートのステップST
5からステップST7までの動作を示すフローチャート
である。
【図5】請求項1の発明の一実施例のデバッグツールに
おける記憶手段により記憶される一覧表を示す説明図で
ある。
【図6】従来のデバッグツールによるデバッグ実行時の
動作を示すフローチャートである。
【符号の説明】
1 着目対象変数指定手段 4 代入判定手段 6 記憶手段 7 履歴情報抽出再現手段

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 プログラム中の誤りを修正し期待する機
    能を有したプログラムを構成するためにプログラム中の
    誤りを検索するデバッグツールにおいて、一つまたは複
    数の変数を任意のステップにおいて指定する着目対象変
    数指定手段と、プログラムを1ステップ実行したときに
    上記着目対象変数指定手段により指定した変数にデータ
    が代入されたか否かを判定する代入判定手段と、データ
    が上記変数に代入されたことを上記代入判定手段が判定
    したときのそのデータやそのときの状態を再現するため
    の必要な情報などの履歴を、そのステップに対応させて
    履歴情報として記憶する記憶手段と、その記憶手段に記
    憶した上記変数についての上記データや情報など必要な
    情報を用いてそのステップでの状態を再現したり、上記
    指定された変数についての上記記憶手段に記憶したデー
    タや情報などを履歴情報として出力する履歴情報抽出再
    現手段とを備えたことを特徴とするデバッグツール。
JP5310885A 1993-12-10 1993-12-10 デバッグツール Pending JPH07160533A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5310885A JPH07160533A (ja) 1993-12-10 1993-12-10 デバッグツール

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5310885A JPH07160533A (ja) 1993-12-10 1993-12-10 デバッグツール

Publications (1)

Publication Number Publication Date
JPH07160533A true JPH07160533A (ja) 1995-06-23

Family

ID=18010559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5310885A Pending JPH07160533A (ja) 1993-12-10 1993-12-10 デバッグツール

Country Status (1)

Country Link
JP (1) JPH07160533A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001236244A (ja) * 2000-02-23 2001-08-31 Mitsubishi Electric Corp ロボットプログラムのデバッグシステム
JP2002055853A (ja) * 2000-05-31 2002-02-20 Toshiba Corp ログ比較デバッグ支援装置および方法およびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001236244A (ja) * 2000-02-23 2001-08-31 Mitsubishi Electric Corp ロボットプログラムのデバッグシステム
JP2002055853A (ja) * 2000-05-31 2002-02-20 Toshiba Corp ログ比較デバッグ支援装置および方法およびプログラム
JP4630489B2 (ja) * 2000-05-31 2011-02-09 株式会社東芝 ログ比較デバッグ支援装置および方法およびプログラム

Similar Documents

Publication Publication Date Title
US20110106776A1 (en) Incremental implementation of undo/redo support in legacy applications
US7949509B2 (en) Method and tool for generating simulation case for IC device
JPH07160533A (ja) デバッグツール
US7647532B2 (en) Trace controller, microprocessor, and trace control method
CN111708572B (zh) 一种基于Clang程序结构的控制流程图自动生成方法
JP2000181942A (ja) I/oバッファ動作電源自動チェックシステム
JP3461185B2 (ja) ロードモジュールへのソースコード行番号登録方法および装置
JPH0934698A (ja) ソフトウェア生成方法及び開発支援方法
JPH0528088A (ja) ハードウエア構成情報の自動作成方法
JP3833626B2 (ja) テストケース生成装置及びテストケース生成方法
US5146458A (en) Data transfer checking system
JP2785606B2 (ja) パイプライン処理方式コンピュータ用プログラムのデバッガ
JP2001209415A (ja) 故障診断用の基準パターンの作成方法および故障診断装置
JP3110391B2 (ja) プログラム再実行方法
JPH11102310A (ja) プログラムトレーサおよびトレースデータ圧縮記録方法
JP2937636B2 (ja) 論理シミュレータ方式
JP3563324B2 (ja) 検索システムおよび検索方法、並びに記録媒体
JP2000347878A (ja) メモリ削減方法および装置
JP3156343B2 (ja) データ依存関係情報処理方法
JP2000222243A (ja) デバッグ装置及びデバッグ方法
JPH1049492A (ja) 目的達成型利用者インタフェース装置
JPH0228174B2 (ja)
JPH07121414A (ja) ファイルシステム
JPS63220323A (ja) エンドユ−ザ言語内部処理論理出力処理方式
JPH05233379A (ja) 実行履歴記憶装置