JPH09190364A - プログラムのデバッグ方法 - Google Patents

プログラムのデバッグ方法

Info

Publication number
JPH09190364A
JPH09190364A JP8001544A JP154496A JPH09190364A JP H09190364 A JPH09190364 A JP H09190364A JP 8001544 A JP8001544 A JP 8001544A JP 154496 A JP154496 A JP 154496A JP H09190364 A JPH09190364 A JP H09190364A
Authority
JP
Japan
Prior art keywords
debugging
debug
program
file
definition file
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
JP8001544A
Other languages
English (en)
Inventor
Toshihiko Suzuyama
敏彦 鈴山
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 Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co 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 Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP8001544A priority Critical patent/JPH09190364A/ja
Publication of JPH09190364A publication Critical patent/JPH09190364A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 デバッグ作業時のシステム操作回数を削減
し、プログラムのデバッグに要する時間を短縮すること
が可能となる。 【解決手段】 テストプログラムの全体、または特定区
間を複数のテストデータのパターンでデバッグ処理を行
い、その各テストデータにおけるデバッグ処理結果を一
括して出力するプログラムのデバッグ方法であって、前
記テストプログラムのデバッグを行う前記テストデータ
を複数定義するデバッグ定義ファイルを作成するステッ
プと、前記デバッグ定義ファイルで指定した情報をシス
テム内部にテーブルとして登録するステップと、前記内
部テーブルの情報を基に、テストプログラムのデバッグ
処理を行うステップと、デバッグ処理の結果を出力する
ステップとを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラムのデバ
ッグを行うデバッグ処理システムに関し、特に、プログ
ラム内のモジュールや関数単位、またはプログラム内の
特定の区間に対して動作検証を行うプログラムのデバッ
グ方法に関するものである。
【0002】
【従来の技術】従来のデバッグ処理システムにおいて、
システム開発時のプログラムのデバッグ方法として一般
的に行われているのは、対話形式のデバッガにより、プ
ログラム内(特定のモジュール、ルーチン内)のデータ
項目に着目し、その値を任意に変更または参照するとい
うものである。
【0003】その操作は、テストプログラムを特定の箇
所で中断させ、オペレータが逐次端末からコマンドによ
りデバッグ処理システムに要求を行う。
【0004】なお、トレース対象のデータ項目などを予
め登録しておき、それらのデータをテストプログラム実
行時に自動的に画面表示することで、作業担当者の確認
作業を簡素化するものである。
【0005】このようなデバッグ処理システムは、例え
ば、特開平6−161815号公報「シンボリックデバ
ッガ」に開示されている。
【0006】
【発明が解決しようとする課題】ところで、上述のよう
な従来のデバッグ処理システムでは、以下のような問題
が発生する。
【0007】テストプログラムが、動作確認を行う区間
(以下、トレース区間と記述する)の処理を一度終了し
てしまうと、その区間のテストを再度行うときに、テス
トプログラムをもう1度最初から起動する必要がある。
また、トレース区間内でテストプログラムが予期せず異
常終了した場合にも同様のことがいえる。
【0008】その例を図9を用いて説明する。図9は、
入力装置から入力された3つの数値X1、X2、X3の
なかの最大値を返すサブルーチンを示した図である。こ
こで、例えば、X1=2、X2=1、X3=3という値
を入力した場合にはステップ104を実行せずに本ルー
チンを終了する。実行されていない残ったステップ10
4を実行させるためにはもう1度テストプログラムを最
初から起動して別のテストデータ、例えば、X1=2、
X2=4、X3=1を入力する必要がある。
【0009】そのため、1回のテスト毎にプログラム開
始からトレース開始地点までテストプログラムを実行さ
せ、データ項目の値を変更し、またトレース終了地点ま
で実行させるという操作を繰り返さなくてはならない。
【0010】その結果、テストデータが多くなると、デ
バッグ作業担当者(オペレータ)が端末上でデバッグ処
理システムを操作する回数は必然的に多くなるという問
題点があった。
【0011】本発明は、上述した従来の技術の持つ課題
を解決するために成されたものであり、その目的は、デ
バッグ作業時のシステム操作回数を削減し、プログラム
のデバッグに要する時間を短縮することが可能な技術を
提供することにある。
【0012】
【課題を解決するための手段】上記のような目的を達成
するため、本発明のデバッグ方法は、テストプログラム
のデバッグを行うテストデータを複数定義するデバッグ
定義ファイルを作成するステップと、デバッグ定義ファ
イルで指定した情報をシステム内部にテーブルとして登
録するステップと、内部テーブルの情報を基にテストプ
ログラムのデバッグ処理を行うステップと、デバッグ処
理の結果を出力するステップとを備える。
【0013】
【発明の実施の形態】以下、本発明を実施する場合の形
態について図面に基づいて詳細に説明する。
【0014】図1は、本発明の実施の形態にかかるデバ
ッグ処理システムの機能構成を説明するためのブロック
図である。
【0015】本実施形態のデバッグ処理システム1は、
図1に示すように、デバッグについて定義するデバッグ
定義ファイル12を作成に使用するエディタ2と、その
エディタ2の操作によりデバッグ定義ファイル12を作
成するデバッグ定義ファイル作成部3と、デバッグ定義
ファイル12で指定した情報を登録する内部テーブル
(テストデータ登録用テーブル)を作成する内部テーブ
ル作成部4と、ソースプログラムからテストプログラム
(ロードモジュール)を作成するテストプログラム作成
部5と、上述した各部により作成されたデバッグ定義フ
ァイル12とテストプログラム13と内部テーブル14
とを格納する記憶部6と、デバッグ処理を行う一括実行
デバッガ7と、トレース開始時点のプログラム実行状態
を保存する記憶エリア8と、デバッグの結果であるデバ
ッグ結果ファイル15を格納するデバッグ結果ファイル
格納エリア9と、その格納されたデバッグ結果ファイル
15を出力する結果ファイル出力部10とを備える。
【0016】図2は、上述した本実施形態のデバッグ処
理システムの基本的なハードウェア構成を示した図であ
る。
【0017】図2において、20は本実施形態のデバッ
グ処理システムの各装置の制御及びデバッグ処理を実行
するCPU(中央処理装置)、21は各装置の制御プロ
グラム等を格納するROMとデバッグ処理に要するデー
タ等を格納するRAMとからなる内部記憶装置、22は
フロッピーディスクやハードディスクなどの外部記憶装
置、23は各装置の制御とエディタ2等の入力に用いる
キーボードやマウス等の入力装置、24はデバッグ結果
ファイル15を表示するディスプレイ等の表示装置、2
5はデバッグ結果ファイル15の印字出力を行うプリン
タを示す。
【0018】なお、外部記憶装置22には、ソースプロ
グラムやそれをコンパイル・リンクして作成されたテス
トプログラム13、デバッグ処理を行う各プログラム
(デバッグ定義ファイル作成部3と内部テーブル作成部
4とテストプログラム作成部5と一括実行デバッガ7)
が格納されており、デバッグ処理時には内部記憶装置2
1に転送格納される。
【0019】また、トレース開始時の実行状態保存エリ
ア8とデバッグ結果格納エリア9も外部記憶装置22上
に確保される。
【0020】次に、図1で示したデバッグ定義ファイル
12、テストプログラム13、内部テーブル14、及び
デバッグ結果ファイル15について説明する。
【0021】図3は、上述したデバッグ定義ファイル1
2の構成例を示した図である。
【0022】本実施形態のデバッグ定義ファイル12
は、オペレータがデバッグ開始前に予め作成するもので
あり、図3に示すように、トレースの開始位置31とト
レースの終了位置とをそれぞれソースファイル名とその
中の行番号で指定し、トレースの対象となるプログラム
の区間を定義する。
【0023】図3に示す33はトレース区間において操
作対象とするデータ項目の定義群である。その定義群3
3において、34はトレース開始位置で値の変更または
設定を行うデータ項目名であり、35はトレース終了時
に値を参照するデータ項目名を指定するものである。な
お、定義群33を複数記述することにより、複数のテス
トデータを入力することができるようになっている。
【0024】図4は、上述したテストプログラム13に
ついて説明するための図である。
【0025】図4に示すように、テストプログラム13
は、ソースプログラム40をアセンブラやコンパイラで
コンパイルして、オブジェクトモジュール41を生成
し、それをリンカ等でリンクして生成する。その生成さ
れたテストプログラム13を起動させ、デバッグ処理を
行う。
【0026】図5は、上述した内部テーブル14につい
て説明するための図である。
【0027】内部テーブル14は、デバッグ定義ファイ
ル12で指定した情報を登録したものであり、各テスト
データの指定情報を管理するテストデータ登録テーブル
60と、各テストデータ登録テーブル60を管理する管
理テーブル61とからなる。
【0028】テストデータ登録テーブル60は、データ
項目の名称を登録するデータ名63と、値の変更または
参照を表すフラグを設定する区分64と、データ項目6
3の値を中断点で変更する場合において、その値を設定
する値65とからなる。
【0029】管理テーブル61は、各テストデータ登録
テーブルのアドレスを示すアドレステーブル62と、ト
レース開始位置を示すためのテストプログラム内のモジ
ュール名と行番号とからなるトレース開始位置66と、
トレース終了位置を示すためのテストプログラム内のモ
ジュール名と行番号とからなるトレース終了位置67と
からなる。
【0030】図6は、上述したデバッグ結果ファイル1
5の構成例を示した図である。
【0031】デバッグ結果ファイル15は、一括実行デ
バッガ7がトレース区間の終了時点で作成するものであ
り、図3に示したデバッグ定義ファイルの中の各定義群
33(各テスト)におけるデータ項目35がトレース終
了時に持つ値を各テストデータ毎に出力した値68であ
る。
【0032】次に、本実施形態のデバッグ処理システム
におけるデバッグ処理手順について図7、図8を用いて
説明する。
【0033】図7は、本実施形態のデバッグ処理システ
ムにおけるデバッグ処理手順を説明するためのフローチ
ャートである。
【0034】本実施形態のデバッグ処理システムにおけ
るデバッグ処理は、図7に示すように、まず、オペレー
タがデバッグを開始する前に、入力装置23より図3に
示したようなデバッグ定義ファイル12を作成し(ステ
ップ71)、一括実行デバッガ7を起動する(ステップ
72)。
【0035】一括実行デバッガ7は、デバッグ定義ファ
イル12に指定した内容から図5に示した内部テーブル
14を作成し(ステップ73)、デバッグ定義ファイル
12のトレース開始箇所までテストプログラム13を実
行し(ステップ74)、トレース開始箇所の内部記憶装
置の状態を外部記憶装置上の記憶エリア8に一時的に保
存する(ステップ75)。
【0036】そして、処理を行うべきデバッグ対象のテ
ストデータが存在するかどうかのチェックを行い(ステ
ップ76)、存在する場合は、管理テーブル61の記憶
エリア62に示すアドレスを参照し、値の変更を行うデ
ータ項目が存在すれば(64の区分=S)、中断した状
態のテストプログラム13に対しそのデータ項目の値の
設定を行う(ステップ77)。テストデータが存在しな
ければ、ループを抜けてステップ81以降の処理を行
う。
【0037】その後、トレース終了箇所までテストプロ
グラム13を実行させ(ステップ78)、テストデータ
登録テーブル60の参照用のデータ項目における区分=
Rがトレース終了箇所で持つ値をデバッグ結果ファイル
格納エリア9のデバッグ結果ファイル15に格納する
(ステップ79)。
【0038】その後、トレース開始時点の実行状態の待
避エリア8の状態を基にテストプログラム13の実行状
態をトレース開始時の状態に復元する(ステップ8
0)。
【0039】以下、テストデータがなくなるまで、ステ
ップ76〜ステップ80の処理を繰り返し実行する。
【0040】最後に、全てのテストデータについて処理
を終えた後、デバッガ7の終了とデバッグ結果ファイル
15のクローズを行い(ステップ81)、その各テスト
データの出力結果を一度に表示装置24またはプリンタ
25に出力して確認し(ステップ82)、テストプログ
ラム13に対する一連のデバッグ処理を完了する。
【0041】次に、上述したステップ73の内部テーブ
ル作成処理について説明する。
【0042】図8は、図7に示したステップ73の内部
テーブル作成処理を説明するためのフローチャートであ
る。
【0043】上述したステップ73の内部テーブル作成
処理は、まず、一括実行デバッガ7がデバッグ定義ファ
イル12をオープンし(ステップ91)、テストデータ
が最後まで登録されているがどうかの判定を行う(ステ
ップ92)。
【0044】テストデータの指定がまだあれば、そのテ
ストデータ設定用の記憶エリアの確保を行い(ステップ
93)、変更用のデータ項目か参照用データ項目かを確
認した上で、その設定値をテストデータ登録テーブル6
0における63〜65の記憶エリアに登録し(ステップ
94)、管理テーブル61の記憶エリア62にアドレス
を設定する(ステップ95)。
【0045】全てのテストデータの登録が終了後、トレ
ース開始・終了位置を管理テーブル61に登録し(ステ
ップ96)、デバッグ定義ファイル12をクローズし
(ステップ97)、ステップ74に戻る。
【0046】以上、説明してきたように、デバッグ時に
値の変更または参照を行うデータ項目を一括して定義し
ておくことにより、オペレータが繰り返しデバッガを操
作する手間を省けるため、デバッグ作業時のシステム操
作回数を削減できるので、プログラムのデバッグに要す
る時間を短縮することが可能となる。
【0047】また、システムの操作時間およびデバッグ
結果の確認作業を簡略化することができるため、デバッ
グ時の作業効率を向上することが可能となる。
【0048】以上、本発明者によってなされた発明を、
前記実施形態に基づき具体的に説明したが、本発明は、
前記実施形態に限定されるものではなく、その要旨を逸
脱しない範囲において種々変更可能であることは勿論で
ある。
【0049】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば、下
記のとおりである。
【0050】デバッグ作業時のシステム操作回数を削減
し、プログラムのデバッグに要する時間を短縮すること
が可能となる。
【図面の簡単な説明】
【図1】本発明の一実施形態であるデバッグ処理システ
ムの機能構成を説明するためのブロック図である。
【図2】本実施形態のデバッグ処理システムの基本的な
ハードウェア構成を示した図である。
【図3】本実施形態のデバッグ定義ファイルの構成を示
した図である。
【図4】本実施形態のテストプログラムについて説明す
るための図である。
【図5】本実施形態の内部テーブルについて説明するた
めの図である。
【図6】本実施形態のデバッグ結果ファイルの構成を示
した図である。
【図7】本実施形態のシステムにおけるデバッグ処理手
順を説明するためのフローチャートである。
【図8】図7に示したステップ73の内部テーブル作成
処理を説明するためのフローチャートである。
【図9】従来のデバッグ処理を説明するための図であ
る。
【符号の説明】
1…デバッグ処理システム、2…エディタ、3…デバッ
グ定義ファイル作成部、4…内部テーブル作成部、5…
テストプログラム作成部、6…記憶部、7…一括実行デ
バッガ、8…トレース開始時点のプログラム実行状態を
保存する記憶エリア、9…デバッグ結果ファイル格納エ
リア、10…結果ファイル出力部、12…デバッグ定義
ファイル、13…テストプログラム、14…内部テーブ
ル、15…デバッグ結果ファイル。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 テストプログラムの全体、または特定区
    間を複数のテストデータのパターンでデバッグ処理を行
    い、その各テストデータにおけるデバッグ処理結果を一
    括して出力するプログラムのデバッグ方法であって、 前記テストプログラムのデバッグを行う前記テストデー
    タを複数定義するデバッグ定義ファイルを作成するステ
    ップと、 前記デバッグ定義ファイルで指定した情報をシステム内
    部にテーブルとして登録するステップと、 前記内部テーブルの情報を基に、テストプログラムのデ
    バッグ処理を行うステップと、 デバッグ処理の結果を出力するステップとを備えたこと
    を特徴とするプログラムのデバッグ方法。
JP8001544A 1996-01-09 1996-01-09 プログラムのデバッグ方法 Pending JPH09190364A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8001544A JPH09190364A (ja) 1996-01-09 1996-01-09 プログラムのデバッグ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8001544A JPH09190364A (ja) 1996-01-09 1996-01-09 プログラムのデバッグ方法

Publications (1)

Publication Number Publication Date
JPH09190364A true JPH09190364A (ja) 1997-07-22

Family

ID=11504471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8001544A Pending JPH09190364A (ja) 1996-01-09 1996-01-09 プログラムのデバッグ方法

Country Status (1)

Country Link
JP (1) JPH09190364A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116303049A (zh) * 2023-03-22 2023-06-23 联想(北京)信息技术有限公司 一种功能调试方法、装置及电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116303049A (zh) * 2023-03-22 2023-06-23 联想(北京)信息技术有限公司 一种功能调试方法、装置及电子设备

Similar Documents

Publication Publication Date Title
US6901535B2 (en) Information processing apparatus, defect analysis program, and defect analysis method
US7178135B2 (en) Scope-based breakpoint selection and operation
JP2000122886A (ja) 半導体試験装置のプログラム作成方式
JPH04178833A (ja) ソフトウェア再利用支援方法
JPH09190364A (ja) プログラムのデバッグ方法
JPS62113244A (ja) プログラムテスト装置
JPH0554277A (ja) プラント監視装置
JPH02220145A (ja) プログラムトレース方式
JPS61180342A (ja) 高級言語のステツプ実行方式
JP2659366B2 (ja) デバッグ方法及びその装置
JP2827724B2 (ja) プログラムデバッグ処理方法
JPH0272407A (ja) ラダー・プログラム変換装置
JPS6292034A (ja) プログラムデバツグ装置
JPH06242943A (ja) ソースコードレベルデバッグ装置
JP2001014185A (ja) コンパイルおよびデバッグ方法
JPH0546434A (ja) プログラムデバツグ方式
JPH07200351A (ja) プログラムデバッグ方法およびプログラムデバッグ支援装置
JPH07319730A (ja) テスト・デバッグ方法
JPH0695891A (ja) インタフェース方式
JPH064348A (ja) プログラムデバッグ方式
JPH04217034A (ja) プログラムトレースの表示方式
JPH07191873A (ja) デバッガにおける変数の値の推移出力方式
JPH02236721A (ja) プログラミング支援装置
JPH04333146A (ja) デバッグにおけるプログラムの実行制御方式
JPS6327774A (ja) アナログlsiテスト装置