JP2001166966A - デバッガにおける被テストプログラムの実行環境管理方法 - Google Patents

デバッガにおける被テストプログラムの実行環境管理方法

Info

Publication number
JP2001166966A
JP2001166966A JP35003399A JP35003399A JP2001166966A JP 2001166966 A JP2001166966 A JP 2001166966A JP 35003399 A JP35003399 A JP 35003399A JP 35003399 A JP35003399 A JP 35003399A JP 2001166966 A JP2001166966 A JP 2001166966A
Authority
JP
Japan
Prior art keywords
program
execution environment
debugger
information
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
JP35003399A
Other languages
English (en)
Inventor
Osami Kamei
修身 亀井
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 JP35003399A priority Critical patent/JP2001166966A/ja
Publication of JP2001166966A publication Critical patent/JP2001166966A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】被テストプログラムをデバッグする際、分岐個
所毎に中断点の設定を行い、少なくとも分岐の数だけデ
バッグの実行をし直す必要があるが、1回の実行が終了
すると再デバッグ時には再びテスト対象プログラムの初
期処理から行わなければならず、テスト効率が悪かっ
た。本発明は、テスト効率を向上させることができるデ
バッガにおける被テストプログラムの実行環境管理方法
を提供することを目的とする。 【解決手段】テストデバッグ中の実行環境である被テス
トプログラムの変数データの状態、デバッガに設定され
ているプログラム中断点の情報、および前記被テストプ
ログラムの現在実行中の命令語の位置情報をファイルと
して保存する。ファイルに保存された情報を読み込み、
テストデバッグ中の実行環境状態を復元し、ファイルに
保存したときの状態でテストを再開する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、デバッガを用いた
テストデバッグ中の被テストプログラムの実行状態をフ
ァイルとして保存することによる実行環境の管理方法に
関するものである。
【0002】
【従来の技術】近年、各種のプログラムは、その機能が
高度化し、複雑な処理を行うものが少なくない。例え
ば、業務システムの構築のための業務プログラムも複雑
かつ高度な処理を行うものになっている。そのため、こ
のような各種プログラムのテストにはデバッガの存在が
必要となっている。
【0003】デバッガを使用してテスト対象である被テ
ストプログラムをデバッグする際には、被テストプログ
ラムの処理の流れの中の分岐点に着目し、全ての分岐し
たステートメントについて実行してテストする必要があ
る。全ての分岐したステートメントを実行する場合、従
来の方法では、分岐個所毎に中断点の設定を行い、少な
くとも分岐の数だけデバッグの実行をし直す必要があっ
た。また、場合によっては変数データへの代入処置が必
要になっていた。
【0004】
【発明が解決しようとする課題】上述の従来のデバッガ
によるデバッグ操作では、1回の実行が終了すると再デ
バッグ時には再びテスト対象プログラムの初期処理から
行う必要があった。このため、複雑な分岐がある業務プ
ログラムのテストデバッグなどには多大な時間や労力を
要し、テスト効率が悪いという問題があった。
【0005】本発明は、テストデバッグ中の中断点にお
いて実行中に設定された変数データの内容や現時点の実
行の状態をファイルとして保存し、その保存されたデー
タを用いて元の状態に復元することで、テスト効率を向
上させることができるデバッガにおける被テストプログ
ラムの実行環境管理方法を提供することを目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、プログラムのデバッグを行うデバッガに
おける被テストプログラムの実行環境管理方法であっ
て、デバッグの対象である被テストプログラムの実行途
中の任意の位置において、その位置における被テストプ
ログラムの変数データの状態、デバッガに設定されてい
るプログラム中断点の情報、および前記被テストプログ
ラムの現在実行中の命令語の位置情報を、ファイルとし
て保存することを特徴とする。また、ファイルに保存さ
れた情報を読み込み、テストデバッグ中の実行環境状態
を復元することを特徴とする。
【0007】これにより、変数データの値や実行状態を
復元することができ、その保存したときの状態でテスト
を再開することができる。
【0008】
【発明の実施の形態】以下、本発明を実施する場合の一
形態を図面を参照して具体的に説明する。
【0009】図1は、本発明の実施形態にかかるデバッ
ガの構成および処理を説明するための図である。
【0010】本実施形態のデバッガは、図1に示すよう
に、インタプリタエンジン10とデバッガ20とで構成
されている。なお、「デバッガ」という用語は広義と狭
義の2通りに使用するものとする。広義の「デバッガ」
は、インタプリタ部分を含むテストシステムの全体を指
す。狭義の「デバッガ」は、そのテストシステム中、デ
バッグ処理の中心的部分を実行するプログラムであり、
図1のデバッガ20がこれに相当する。
【0011】図1を参照して処理の流れの概要を説明す
る。まずインタプリタエンジン10は、被テストプログ
ラムであるソースプログラム11を入力する。入力され
たソースプログラム11は、中間言語変換処理部12に
て字句解析および構文解析され、中間言語13に変換さ
れる。その後、この中間言語13を中間言語実行部14
が解釈実行する。この中間言語実行部14では、ソース
プログラム11中の1命令文を解釈実行する毎に、矢印
101に示すように、デバッガ20に対して実行動作の
通知を行う。
【0012】デバッガ20は、中間言語実行部14から
の通知に応じて、ソース表示処理部21により、表示・
入力装置24に、実行する命令文情報の明示的表示を行
う。中断点処理部22では、必要に応じて、デバッグ中
の被テストプログラムの状態を実行環境データファイル
30として保存する。逆に、実行環境データファイル3
0を読み込んで、被テストプログラムの実行環境の復元
を行うこともできる。また、デバッガ20の機能として
変数データ表示・設定処理部23にて、変数データに対
するデータ値の表示および設定を行うことができる。デ
バッガ20の一連の処理が終了すると、一旦、中間言語
実行部14にデバッガでの実行動作終了を通知(矢印1
02)し、次の命令文の通知まで待機する。
【0013】次に、図1の中断点処理部22が実行環境
データファイル30にアクセスするときのデータ形式の
詳細およびデバッガ20の処理の流れについて、図2を
参照して説明する。
【0014】実行環境データファイル30は、実行環境
データレコード37で構成される。1つの実行環境デー
タレコード37は、1つの被テストプログラムの実行環
境を保持したデータであり、管理情報部31、プログラ
ム情報部32、およびデバッガ情報部33の情報を含
む。
【0015】管理情報部31は、被テストプログラムの
ソースファイル名、ソースファイル更新日付、およびソ
ースファイルデータサイズの情報を有する。これらの情
報は、当該実行環境データレコード37から実行環境を
復元するときに、現在デバック中の被テストプログラム
と当該実行環境データレコード37との整合性チェック
に使用される。
【0016】プログラム情報部32は、変数データ情報
34および実行中の中間語位置情報35の情報を有す
る。これらの情報は、被テストプログラムに関する実行
環境復元のための情報である。変数データ情報34は、
被テストプログラムの変数データの値を復元するための
データであり、変数毎に、変数名、属性、サイズ、およ
び値の情報を持つ可変レコードである。実行中の中間言
語位置情報35は、当該実行環境データレコード37を
保存するときに実行していた命令文の中間語の中での位
置である。
【0017】デバッガ情報部33は、複数の中断点情報
36を有する。これらの情報は、デバッガに関する実行
環境復元のための情報である。中断点情報36は、テス
トデバッグ時に実行を中断させるロケーション位置を復
元するための情報である。
【0018】デバッガ20では、所定の操作により実行
環境復元が指示されたとき、処理ステップ26〜29の
処理を行い実行環境を復元する。まず、処理ステップ2
6では、管理情報部31のソースファイル名、ソースフ
ァイル更新日付、およびソースファイルのデータサイズ
を読み込み、現在テストデバッグ中のソースプログラム
のファイルがこれらに合致するかどうか整合性チェック
処理26を行う。整合性がない場合はエラー処理2Aを
行い、整合性がある場合は処理ステップ27に進む。
【0019】処理ステップ27では、プログラム情報部
32の変数データ情報34の各変数毎の変数名、属性、
サイズ、および値を用いて現在テストデバッグ中の被テ
ストプログラムの変数データを更新するため中間言語実
行部14へ通知(更新要求)する。中間言語実行部14
は、その更新要求に応じて、該当する変数を検索しそれ
らの値の更新(変数データ情報の値に設定)を行う。
【0020】処理ステップ28では、実行する中間語位
置情報の変更要求を、中間言語実行部14に通知する。
中間言語実行部14は、その変更要求に応じて、実行す
る中間言語位置カウンタ(中間言語でのプログラムカウ
ンタ)の値を、実行中の中間語位置情報35の値に変更
する。
【0021】処理ステップ29では、中断点情報36に
より、デバッガ20の中断点情報スタック領域2Bにあ
る中断点ロケーション情報を更新する。中断点情報スタ
ック領域2Bは、中間言語位置カウンタを更新しながら
該カウンタが指す命令文を実行していく際に処理を中断
する位置を表す中断ロケーション情報を記憶しているス
タックである。
【0022】一方、デバッガ20に対して所定の操作を
行うことにより、任意の中間語位置において実行環境の
保存を行うことができる。実行環境の保存においては、
処理ステップ25で、現在デバッグの対象としている被
テストプログラムに関して、管理情報部31、プログラ
ム情報部32、およびデバッガ情報部33の作成を行
い、実行環境データレコード37として実行環境データ
ファイル30に保存する。
【0023】次に、図3を参照して、図1および図2で
説明したデバッガを用いてあるプログラムをテストする
ケースについて説明する。図3において、デバッガ20
の中に図示したフローチャートは、被テストプログラム
をフローチャート化したものである。この被テストプロ
グラムでは、3つの分岐処理(処理ステップ41〜4
3)があるので、これら全てを実行してテストする必要
がある。
【0024】図3において、デバッガ20を使用して全
ての分岐処理(処理ステップ41、処理ステップ42、
処理ステップ43)の実行を網羅する場合、この被テス
トプログラム実行中に、中断点40の位置でその時点の
実行環境状態4Aの状態を実行環境データファイル30
に保存データ44(具体的には実行環境データレコード
37の形式)として保存する(矢印401)。その後、
処理ステップ41、処理ステップ42、または処理ステ
ップ43のいずれかの処理の実行を行い、その分岐処理
をデバッグする。再びこれらの分岐処理のうちの未実行
部分を実行する場合、先ほどの保存データ44を読み込
ませる(矢印402)ことで、中断点40の位置におけ
る変数データの状態が復元され、また保存したときの実
行位置から残りの処理ステップのテストを再開すること
ができる。
【0025】
【発明の効果】以上説明したように、本発明によれば、
現在の実行環境状態を実行環境データファイルとして保
存し復元させることができる。これにより、保存したと
きの状態(変数データの値や中断点情報および実行中の
中間言語位置情報など)を容易に復元させることがで
き、その位置からテストを再開することができる。この
ため、複雑な業務プログラムなどのテストが容易に、か
つ効率的に、行うことができるため、テスト効率を向上
させることができる。
【図面の簡単な説明】
【図1】本発明の実施形態にかかるデバッガの構成を示
す図
【図2】実行環境データファイルの概要構成およびデバ
ッガの処理手順を示すフローチャートを示す図
【図3】アプリケーションのテストケースの例でデバッ
ガの使用方法を説明するための図
【符号の説明】
10…インタプリタエンジン、11…ソースプログラ
ム、12…中間言語変換処理部、13…中間言語、14
…中間言語実行部、20…デバッガ、22…中断点処理
部、25…各情報部作成処理、26…整合性チェック処
理、27…変数データ更新処理、28…実行する中間言
語位置情報更新処理、29…中断点情報更新処理、2A
…エラー処理、2B…変数データ情報スタック領域、2
C…中断点情報スタック領域、30…実行環境データフ
ァイル、31…管理情報部、32…プログラム情報部、
33…デバッガ情報部、34…変数データ情報、35…
実行中の中間言語位置情報、36…中断点情報、37…
実行環境データレコード、40…中断点、44…保存デ
ータ。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】プログラムのデバッグを行うデバッガにお
    ける被テストプログラムの実行環境管理方法であって、 デバッグの対象である被テストプログラムの実行途中の
    任意の位置において、その位置における被テストプログ
    ラムの変数データの状態、デバッガに設定されているプ
    ログラム中断点の情報、および前記被テストプログラム
    の現在実行中の命令語の位置情報を、ファイルとして保
    存することを特徴とする実行環境管理方法。
  2. 【請求項2】請求項1に記載の実行環境管理方法におい
    て、 前記ファイルに保存された情報を読み込み、テストデバ
    ッグ中の実行環境状態を復元することを特徴とする実行
    環境管理方法。
JP35003399A 1999-12-09 1999-12-09 デバッガにおける被テストプログラムの実行環境管理方法 Pending JP2001166966A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35003399A JP2001166966A (ja) 1999-12-09 1999-12-09 デバッガにおける被テストプログラムの実行環境管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35003399A JP2001166966A (ja) 1999-12-09 1999-12-09 デバッガにおける被テストプログラムの実行環境管理方法

Publications (1)

Publication Number Publication Date
JP2001166966A true JP2001166966A (ja) 2001-06-22

Family

ID=18407784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35003399A Pending JP2001166966A (ja) 1999-12-09 1999-12-09 デバッガにおける被テストプログラムの実行環境管理方法

Country Status (1)

Country Link
JP (1) JP2001166966A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011013792A (ja) * 2009-06-30 2011-01-20 Fujitsu Ltd プログラムモデル検査におけるデータベース制御装置、データベース制御方法、データベース制御プログラム
JP2011509456A (ja) * 2007-12-27 2011-03-24 インテル・コーポレーション ポータブルメモリデバイスを使用して保護されたメディアを配信する方法
JP2015064696A (ja) * 2013-09-24 2015-04-09 富士通株式会社 シンボリック実行方法、シンボリック実行装置、およびシンボリック実行プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011509456A (ja) * 2007-12-27 2011-03-24 インテル・コーポレーション ポータブルメモリデバイスを使用して保護されたメディアを配信する方法
US8683159B2 (en) 2007-12-27 2014-03-25 Intel Corporation Delivering secured media using a portable memory device
US9021202B2 (en) 2007-12-27 2015-04-28 Intel Corporation Delivering secured media using a portable memory device
JP2011013792A (ja) * 2009-06-30 2011-01-20 Fujitsu Ltd プログラムモデル検査におけるデータベース制御装置、データベース制御方法、データベース制御プログラム
JP2015064696A (ja) * 2013-09-24 2015-04-09 富士通株式会社 シンボリック実行方法、シンボリック実行装置、およびシンボリック実行プログラム

Similar Documents

Publication Publication Date Title
US5630049A (en) Method and apparatus for testing software on a computer network
US8230399B2 (en) Method for system call interception in user space
JPH07105064A (ja) ファイル名検出方式
JP3206641B2 (ja) マイコンシステムのデバッグ方法、デバッグ装置及びデバッグプログラムを記録した記録媒体
JP3349057B2 (ja) マルチタスク処理装置、マルチタスク処理方法およびマルチタスク処理表示方法
JP2001166966A (ja) デバッガにおける被テストプログラムの実行環境管理方法
JP2007004516A (ja) 組込みシステムのプログラムデバッグ方法
JP2658982B2 (ja) 特定命令実行検出方式
JP2000076095A (ja) プログラムトレース装置およびプログラムトレース方法およびそのプログラムを記憶した記憶媒体
JPS61180344A (ja) 高級言語のステツプ実行システム
JPH07105045A (ja) 情報処理装置機能試験プログラムのデバッグ方式
JPH0262639A (ja) 言語デバッガの中断方式
JPH05108404A (ja) デバツガシステム
JPH03225533A (ja) コピーオンライト逆実行チェックポイント方式
CN114064115A (zh) 一种业务处理方法、系统、设备及计算机可读存储介质
JPH01145740A (ja) マルチプロセス用エミユレータ
JP2002366378A (ja) プログラムのデバッグ装置及びデバッグ方法、並びに記憶媒体
JPH0695910A (ja) 異常処理のための対話型デバッグ制御方式
JPH0561717A (ja) プログラムデバツグ装置
JPH02231634A (ja) ソフトウェア互換性維持方法
JPS59202546A (ja) デバツグ装置
JPH04358232A (ja) 情報処理装置の機能試験方法
CN114327648A (zh) 一种驱动调试方法、装置、电子设备及存储介质
CN113703728A (zh) 一种辅助研发的微组件业务处理方法、装置以及设备
Kaplan Some debugging strategies for assembler-based minicomputer operating systems