JPH03127234A - 計算機システムのプログラムデバッグ装置 - Google Patents
計算機システムのプログラムデバッグ装置Info
- Publication number
- JPH03127234A JPH03127234A JP1267679A JP26767989A JPH03127234A JP H03127234 A JPH03127234 A JP H03127234A JP 1267679 A JP1267679 A JP 1267679A JP 26767989 A JP26767989 A JP 26767989A JP H03127234 A JPH03127234 A JP H03127234A
- Authority
- JP
- Japan
- Prior art keywords
- program
- program execution
- memory
- debugged
- execution history
- 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
Links
- 238000000034 method Methods 0.000 abstract description 8
- 230000001172 regenerating effect Effects 0.000 abstract 1
- 230000006399 behavior Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は計算機システムのプログラムデバッグ処理に利
用する。本発明は計算機システムにおいてプログラムの
デバッグを支援するプログラムデバッグ装置に関する。
用する。本発明は計算機システムにおいてプログラムの
デバッグを支援するプログラムデバッグ装置に関する。
本発明は被デバッグプログラムを実行しプログラムのデ
バッグ処理を行う計算機システムのプログラムデバッグ
装置において、 被デバッグプログラムの実行に伴う更新情報をすべて記
録し、被デバッグプログラムの実行環境を過去の時点に
遡って再現させることにより、被デバッグプログラムが
予期しない動作を行うてもその動作を解明し、デバッグ
効率を高められるようにしたものである。
バッグ処理を行う計算機システムのプログラムデバッグ
装置において、 被デバッグプログラムの実行に伴う更新情報をすべて記
録し、被デバッグプログラムの実行環境を過去の時点に
遡って再現させることにより、被デバッグプログラムが
予期しない動作を行うてもその動作を解明し、デバッグ
効率を高められるようにしたものである。
従来のプログラムデバッグ処理は、被デバッグプログラ
ムの実行前にあらかじめいくつかのブレークポイントを
被デバッグプログラム中に設定しておき、このブレーク
ポイントで被デバッグプログラムの実行を一旦中断させ
、レジスタおよびメモリの内容をチエツクし、問題がな
ければ次のブレークポイントまで処理を進め、問題があ
ればブレークポイントを設定し直して被デバッグプログ
ラムを再度最初から実行させていた。
ムの実行前にあらかじめいくつかのブレークポイントを
被デバッグプログラム中に設定しておき、このブレーク
ポイントで被デバッグプログラムの実行を一旦中断させ
、レジスタおよびメモリの内容をチエツクし、問題がな
ければ次のブレークポイントまで処理を進め、問題があ
ればブレークポイントを設定し直して被デバッグプログ
ラムを再度最初から実行させていた。
上述した従来のプログラムデバッグ処理は、あらかじめ
被デバッグプログラムの実行前に制御の流れを予測して
ブレークポイントを設定しておく必要があり、被デバッ
グプログラムのロジックに不具合があって制御の流れが
あらかじめ予測したものと違う場合には設定しておいた
ブレークポイントで処理を中断させることができず、処
理を遡った所に移し再度ブレークポイントを設定し直し
て被デバッグプログラムを最初から再実行することにな
る。このような場合に被デバッグプログラムの不具合の
程度によってはブレークポイントを絞り込むことが難し
く、再度設定したブレークポイントでも処理を中断させ
ることができないことがある。
被デバッグプログラムの実行前に制御の流れを予測して
ブレークポイントを設定しておく必要があり、被デバッ
グプログラムのロジックに不具合があって制御の流れが
あらかじめ予測したものと違う場合には設定しておいた
ブレークポイントで処理を中断させることができず、処
理を遡った所に移し再度ブレークポイントを設定し直し
て被デバッグプログラムを最初から再実行することにな
る。このような場合に被デバッグプログラムの不具合の
程度によってはブレークポイントを絞り込むことが難し
く、再度設定したブレークポイントでも処理を中断させ
ることができないことがある。
したがって制御の流れに不具合があるようなプログラム
に対してはデバッグを効率よく行うことができず、また
被デバッグプログラムを再実行きせるのに手間がかかり
、極端な場合には再実行させてもタイミングなどの要因
により被デバッグプログラムが同じ動作をしないことが
ある。
に対してはデバッグを効率よく行うことができず、また
被デバッグプログラムを再実行きせるのに手間がかかり
、極端な場合には再実行させてもタイミングなどの要因
により被デバッグプログラムが同じ動作をしないことが
ある。
本発明はこのような問題を解決するもので、被デバッグ
プログラムが予期しない動作をしてもその動作を解明す
ることができ、デバッグ処理を効率よく進めることがで
きる装置を提供することを目的とする。
プログラムが予期しない動作をしてもその動作を解明す
ることができ、デバッグ処理を効率よく進めることがで
きる装置を提供することを目的とする。
本発明は、被デバッグプログラムを実行するプログラム
実行制御手段と、その実行結果を格納するレジスタおよ
びメモリとを備えた計算機システムのプログラムデバッ
グ装置において、前記プログラム実行制御手段に、被デ
バッグプログラムの実行を監視する手段を含み、プログ
ラムの実行履歴を格納するプログラム実行履歴情報格納
域を設け、このプログラム実行履歴情報格納域に前記レ
ジスタおよびメモリの内容をプログラム実行履歴情報と
して時系列的に記録するプログラム実行履歴記録手段と
、前記プログラム実行履歴情報格納域の内容を参照して
前記レジスタおよびメモリの内容を過去の時点に遡って
復元するプログラム実行環境再設定手段とを備えたこと
を特徴とする。
実行制御手段と、その実行結果を格納するレジスタおよ
びメモリとを備えた計算機システムのプログラムデバッ
グ装置において、前記プログラム実行制御手段に、被デ
バッグプログラムの実行を監視する手段を含み、プログ
ラムの実行履歴を格納するプログラム実行履歴情報格納
域を設け、このプログラム実行履歴情報格納域に前記レ
ジスタおよびメモリの内容をプログラム実行履歴情報と
して時系列的に記録するプログラム実行履歴記録手段と
、前記プログラム実行履歴情報格納域の内容を参照して
前記レジスタおよびメモリの内容を過去の時点に遡って
復元するプログラム実行環境再設定手段とを備えたこと
を特徴とする。
被デバッグプログラムを実行しその動作を監視して実行
の結果更新されたすべてのレジスタおよびメモリの内容
をプログラム実行履歴情報として時系列的に記録し、こ
のプログラム実行履歴情報を参照してレジスタおよびメ
モリの内容を過去の時点に遡って復元する。
の結果更新されたすべてのレジスタおよびメモリの内容
をプログラム実行履歴情報として時系列的に記録し、こ
のプログラム実行履歴情報を参照してレジスタおよびメ
モリの内容を過去の時点に遡って復元する。
これにより、被デバッグプログラムが予期しない動作を
行ってもその動作を容易に解明することができ、再現テ
ストを行うことなくデバッグ処理を効率的に進めること
ができる。
行ってもその動作を容易に解明することができ、再現テ
ストを行うことなくデバッグ処理を効率的に進めること
ができる。
次に、本発明実施例を図面に基づいて説明する。
図は本発明実施例の構成を示すブロック図である。
本発明実施例は、被デバッグプログラム1を実行するプ
ログラム実行制御手段4と、その実行結果を格納するレ
ジスタ2およびメモリ3とを備え、さらにプログラム実
行制御手段4に、被デバッグプログラム1の実行を監視
する手段を含み、プログラムの実行履歴を格納するプロ
グラム実行履歴情報格納域6を設け、このプログラム実
行履歴情報格納域6にレジスタ2およびメモリ3の内容
をプログラム実行履歴情報として時系列的に記録するプ
ログラム実行履歴記録手段5と、プログラム実行履歴情
報格納域6の内容を参照してレジスタ2およびメモリ3
の内容を過去の時点に遡って復元するプログラム実行環
境再設定手段7とを備える。
ログラム実行制御手段4と、その実行結果を格納するレ
ジスタ2およびメモリ3とを備え、さらにプログラム実
行制御手段4に、被デバッグプログラム1の実行を監視
する手段を含み、プログラムの実行履歴を格納するプロ
グラム実行履歴情報格納域6を設け、このプログラム実
行履歴情報格納域6にレジスタ2およびメモリ3の内容
をプログラム実行履歴情報として時系列的に記録するプ
ログラム実行履歴記録手段5と、プログラム実行履歴情
報格納域6の内容を参照してレジスタ2およびメモリ3
の内容を過去の時点に遡って復元するプログラム実行環
境再設定手段7とを備える。
次に、このように構成された本発明実施例の動作につい
て説明する。プログラム実行制御手段は被デバッグプロ
グラム1の動作を1ステツプごとに監視し、被デバッグ
プログラム1を実行させ、その結果レジスタ2およびメ
モリ3の内容が更新される場合は、プログラム実行履歴
記録手段5を呼び出し、更新前後のレジスタ2およびメ
モリ3の内容とそのときのプログラムカウンタとをプロ
グラム実行履歴情報格納域6中に記録する。
て説明する。プログラム実行制御手段は被デバッグプロ
グラム1の動作を1ステツプごとに監視し、被デバッグ
プログラム1を実行させ、その結果レジスタ2およびメ
モリ3の内容が更新される場合は、プログラム実行履歴
記録手段5を呼び出し、更新前後のレジスタ2およびメ
モリ3の内容とそのときのプログラムカウンタとをプロ
グラム実行履歴情報格納域6中に記録する。
被デバッグプログラム1の実行により所定の処理結果が
得られなかった場合、デバッグ施行者はプログラム実行
環境再設定手段7を用いてプログラム実行履歴情報格納
域6をもとに被デバッグプログラム1の実行環境を過去
の時点に戻す、つまりレジスタ2およびメモリ3の内容
を過去のある時点の状態に再設定させ、その時点での状
況を詳細に分析する。
得られなかった場合、デバッグ施行者はプログラム実行
環境再設定手段7を用いてプログラム実行履歴情報格納
域6をもとに被デバッグプログラム1の実行環境を過去
の時点に戻す、つまりレジスタ2およびメモリ3の内容
を過去のある時点の状態に再設定させ、その時点での状
況を詳細に分析する。
またプログラム実行環境再設定手段7により再設定した
レジスタ2およびメモリ3の内容を起点としてプログラ
ム実行制御手段4を用いてさらに一部レジスタ2および
メモリ3の内容を書き変えた上で被デバッグプログラム
1を再実行させる。
レジスタ2およびメモリ3の内容を起点としてプログラ
ム実行制御手段4を用いてさらに一部レジスタ2および
メモリ3の内容を書き変えた上で被デバッグプログラム
1を再実行させる。
以上説明したように本発明によれば、被デバッグプログ
ラムの実行に伴うレジスタおよびメモリの更新情報をす
べて記録し、被デバッグプログラムの実行環境を過去の
時点に遡って再現させることにより、被デバッグプログ
ラムが予期しない動作をしてもその動作を容易に解明す
ることができ、再現テストを行うことなくデバッグ処理
を効率的に進めることができる効果がある。
ラムの実行に伴うレジスタおよびメモリの更新情報をす
べて記録し、被デバッグプログラムの実行環境を過去の
時点に遡って再現させることにより、被デバッグプログ
ラムが予期しない動作をしてもその動作を容易に解明す
ることができ、再現テストを行うことなくデバッグ処理
を効率的に進めることができる効果がある。
図は本発明実施例の構成を示すブロック図。
1・・・被デバッグプログラム、2・・・レジスタ、3
・・・メモリ、4・・・プログラム実行制御手段、5・
・・プログラム実行履歴記録手段、6・・・プログラム
実行履歴情報格納域、7・・・プログラム実行環境再設
定手段。
・・・メモリ、4・・・プログラム実行制御手段、5・
・・プログラム実行履歴記録手段、6・・・プログラム
実行履歴情報格納域、7・・・プログラム実行環境再設
定手段。
Claims (1)
- 【特許請求の範囲】 1、被デバッグプログラムを実行するプログラム実行制
御手段と、 その実行結果を格納するレジスタおよびメモリと を備えた計算機システムのプログラムデバッグ装置にお
いて、 前記プログラム実行制御手段に、被デバッグプログラム
の実行を監視する手段を含み、 プログラムの実行履歴を格納するプログラム実行履歴情
報格納域を設け、 このプログラム実行履歴情報格納域に前記レジスタおよ
びメモリの内容をプログラム実行履歴情報として時系列
的に記録するプログラム実行履歴記録手段と、 前記プログラム実行履歴情報格納域の内容を参照して前
記レジスタおよびメモリの内容を過去の時点に遡って復
元するプログラム実行環境再設定手段とを備えたことを
特徴とする計算機システムのプログラムデバッグ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1267679A JPH03127234A (ja) | 1989-10-13 | 1989-10-13 | 計算機システムのプログラムデバッグ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1267679A JPH03127234A (ja) | 1989-10-13 | 1989-10-13 | 計算機システムのプログラムデバッグ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03127234A true JPH03127234A (ja) | 1991-05-30 |
Family
ID=17448024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1267679A Pending JPH03127234A (ja) | 1989-10-13 | 1989-10-13 | 計算機システムのプログラムデバッグ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03127234A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6240529B1 (en) | 1997-06-04 | 2001-05-29 | Nec Corporation | Debugging method and debugging apparatus for microcomputer system and recording medium on which debug program is recorded |
JP2009140136A (ja) * | 2007-12-05 | 2009-06-25 | Mitsubishi Electric Corp | 再現試験システム |
-
1989
- 1989-10-13 JP JP1267679A patent/JPH03127234A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6240529B1 (en) | 1997-06-04 | 2001-05-29 | Nec Corporation | Debugging method and debugging apparatus for microcomputer system and recording medium on which debug program is recorded |
JP2009140136A (ja) * | 2007-12-05 | 2009-06-25 | Mitsubishi Electric Corp | 再現試験システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9514029B2 (en) | Partial recording of a computer program execution for replay | |
US5050168A (en) | Test coverage analyzer | |
US5870607A (en) | Method and apparatus for selective replay of computer programs | |
US8276127B2 (en) | Devices, methods and computer program products for reverse execution of a simulation | |
JPH06222952A (ja) | デバッグ支援装置 | |
WO2019209496A1 (en) | Memory validity states in time-travel debugging | |
US20110179399A1 (en) | Establishing a useful debugging state for multithreaded computer program | |
US7765434B2 (en) | Resource efficient software tracing for problem diagnosis | |
CN100359486C (zh) | 一种调试操作系统内核态程序的方法及装置 | |
JPH09503084A (ja) | 実行中のリアルタイムシステムにおけるエラー分析用トレーサシステム | |
US11074153B2 (en) | Collecting application state in a runtime environment for reversible debugging | |
JPH03127234A (ja) | 計算機システムのプログラムデバッグ装置 | |
CN110727577B (zh) | 嵌入式系统软件中概率复现问题的调试方法、系统及介质 | |
JPH04112344A (ja) | データベースの疑似更新方式 | |
JPH03158937A (ja) | プログラム実行制御方式 | |
Liang et al. | RIPT--An Efficient Multi-Core Record-Replay System | |
EP3963460A1 (en) | Identifying data inconsistencies and data contention based on historic debugging traces | |
JP3339708B2 (ja) | イベント記録方式 | |
JP2001034503A (ja) | ブレークポイント設定方法及び障害解析装置 | |
KR101292572B1 (ko) | 가상 머신을 이용한 파일 시스템 관리 장치 및 그 방법 | |
JPH0561717A (ja) | プログラムデバツグ装置 | |
JP2000076095A (ja) | プログラムトレース装置およびプログラムトレース方法およびそのプログラムを記憶した記憶媒体 | |
SE524799C2 (sv) | Förfarande och dataprogram för debuggning av en programkod | |
Kaplan | Some debugging strategies for assembler-based minicomputer operating systems | |
JPS6270947A (ja) | デバグ割込み制御方式 |