JPH05181702A - ソフトデバッガ - Google Patents
ソフトデバッガInfo
- Publication number
- JPH05181702A JPH05181702A JP3347198A JP34719891A JPH05181702A JP H05181702 A JPH05181702 A JP H05181702A JP 3347198 A JP3347198 A JP 3347198A JP 34719891 A JP34719891 A JP 34719891A JP H05181702 A JPH05181702 A JP H05181702A
- Authority
- JP
- Japan
- Prior art keywords
- program
- memory
- register
- registered
- address
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】 プログラムを初めから再度実行させたりオペ
レータが情報を手書きによりあらかじめ記述しておく必
要をなくし、作業効率を大幅に高めることを可能とする
ソフトデバッガを提供する。 【構成】 記憶手段と、実行中のプログラムの所定ステ
ップにおけるレジスタ及びメモリの内容を記憶手段に登
録する手段と、記憶手段に登録された内容を所望により
読み出してレジスタ及びメモリへ戻す手段とを備えてい
る。
レータが情報を手書きによりあらかじめ記述しておく必
要をなくし、作業効率を大幅に高めることを可能とする
ソフトデバッガを提供する。 【構成】 記憶手段と、実行中のプログラムの所定ステ
ップにおけるレジスタ及びメモリの内容を記憶手段に登
録する手段と、記憶手段に登録された内容を所望により
読み出してレジスタ及びメモリへ戻す手段とを備えてい
る。
Description
【0001】
【産業上の利用分野】本発明は、プログラム開発環境下
で用いられるソフトデバッガに関する。
で用いられるソフトデバッガに関する。
【0002】
【従来の技術及び発明が解決しようとする課題】従来の
デバッガはバックトレース機能を有していなかった。即
ち、プログラムの各ステップを実行するごとにレジスタ
及びメモリの内容は新たな情報で上書きされるのでそれ
以前のステップに関する情報は全て失われてしまい、元
の状態に戻すことができなかった。
デバッガはバックトレース機能を有していなかった。即
ち、プログラムの各ステップを実行するごとにレジスタ
及びメモリの内容は新たな情報で上書きされるのでそれ
以前のステップに関する情報は全て失われてしまい、元
の状態に戻すことができなかった。
【0003】このため、以前のステップにおける情報を
知るためには、そのステップ実行時にオペレータが情報
を手書きによりあらかじめ記述しておくか、又はそのプ
ログラムを初めから再度実行させることが必要であっ
た。
知るためには、そのステップ実行時にオペレータが情報
を手書きによりあらかじめ記述しておくか、又はそのプ
ログラムを初めから再度実行させることが必要であっ
た。
【0004】関数呼出し時であれば、以前のステップで
あっても情報を見ることはできるが、得られるのは関数
名及びその引数(スタックに積まれている情報)のみで
あり、しかもこれは情報を知るのみで実行をそのステッ
プに戻すことは全くできなかった。
あっても情報を見ることはできるが、得られるのは関数
名及びその引数(スタックに積まれている情報)のみで
あり、しかもこれは情報を知るのみで実行をそのステッ
プに戻すことは全くできなかった。
【0005】従って本発明は、プログラムを初めから再
度実行させたりオペレータが情報を手書きによりあらか
じめ記述しておく必要をなくし、作業効率を大幅に高め
ることを可能とするソフトデバッガを提供するものであ
る。
度実行させたりオペレータが情報を手書きによりあらか
じめ記述しておく必要をなくし、作業効率を大幅に高め
ることを可能とするソフトデバッガを提供するものであ
る。
【0006】
【課題を解決するための手段】本発明によれば、記憶手
段と、実行中のプログラムの所定ステップにおけるレジ
スタ及びメモリの内容を記憶手段に登録する手段と、記
憶手段に登録された内容を所望により読み出してレジス
タ及びメモリへ戻す手段とを備えたソフトデバッガが提
供される。
段と、実行中のプログラムの所定ステップにおけるレジ
スタ及びメモリの内容を記憶手段に登録する手段と、記
憶手段に登録された内容を所望により読み出してレジス
タ及びメモリへ戻す手段とを備えたソフトデバッガが提
供される。
【0007】
【作用】ブレークポイントや関数呼出しステップ等にお
いて実行プログラム側のレジスタ及びメモリの内容がデ
バッグ用の格納領域に記憶され同時にその先頭アドレス
もテーブルに登録される。実行を戻す場合、その直前の
ブレークポイントや関数呼出しステップを上述のテーブ
ルから探しだしそのアドレスの格納領域に記憶されてい
るレジスタ及びメモリの内容を実行プログラム側のレジ
スタ及びメモリへ読み出す。
いて実行プログラム側のレジスタ及びメモリの内容がデ
バッグ用の格納領域に記憶され同時にその先頭アドレス
もテーブルに登録される。実行を戻す場合、その直前の
ブレークポイントや関数呼出しステップを上述のテーブ
ルから探しだしそのアドレスの格納領域に記憶されてい
るレジスタ及びメモリの内容を実行プログラム側のレジ
スタ及びメモリへ読み出す。
【0008】
【実施例】図2は本発明の一実施例として、ソフトデバ
ッガを有するシステムの構成を概略的に示すブロック図
である。
ッガを有するシステムの構成を概略的に示すブロック図
である。
【0009】同図において、10はCPUであり、この
CPU10にはキーボード等による入力装置11、表示
装置12、後述するデバッグ用格納領域、テーブル等が
存在する内部記憶装置13、及び外部記憶装置14が接
続されている。
CPU10にはキーボード等による入力装置11、表示
装置12、後述するデバッグ用格納領域、テーブル等が
存在する内部記憶装置13、及び外部記憶装置14が接
続されている。
【0010】図1は本実施例のソフトデバッガにおける
情報の登録処理及び読み出し処理を行うプログラムのフ
ローチャートであり、図3はこのプログラムによる特に
登録処理動作を説明する図である。
情報の登録処理及び読み出し処理を行うプログラムのフ
ローチャートであり、図3はこのプログラムによる特に
登録処理動作を説明する図である。
【0011】まず図1及び図3を用いて登録処理につい
て説明する。ステップS1において、検査すべきプログ
ラムのプロセスがブレークポイント、即ちユーザがあら
かじめアドレス指定した停止位置となったかどうか繰り
返し判別する。ブレークポイントである場合は、デバッ
グプログラムの登録プログラムが作動して以下の処理が
実行される。ステップS2において、デバッグ用格納領
域がオーバーフローであるかどうか判別し、オーバーフ
ローの場合はステップS3において最も古い登録内容を
消去した後、またオーバーフローでない場合はそのまま
ステップS4へ進む。
て説明する。ステップS1において、検査すべきプログ
ラムのプロセスがブレークポイント、即ちユーザがあら
かじめアドレス指定した停止位置となったかどうか繰り
返し判別する。ブレークポイントである場合は、デバッ
グプログラムの登録プログラムが作動して以下の処理が
実行される。ステップS2において、デバッグ用格納領
域がオーバーフローであるかどうか判別し、オーバーフ
ローの場合はステップS3において最も古い登録内容を
消去した後、またオーバーフローでない場合はそのまま
ステップS4へ進む。
【0012】ステップS4では、そのときのプログラム
レジスタの内容及び実行プログラムにおけるメモリの内
容(データ、スタック)をデバッグ用格納領域に登録す
ると共にその先頭アドレスをテーブルに登録する。次い
でステップS5において、読み出し処理かどうか判別す
る。読み出し処理ではない場合はステップS6へ進んで
その検査すべきプログラムの実行が終了したかどうか又
はデバッグを意図的に終了するかどうか判別する。終了
しない場合はステップS1以降の処理を繰り返す。
レジスタの内容及び実行プログラムにおけるメモリの内
容(データ、スタック)をデバッグ用格納領域に登録す
ると共にその先頭アドレスをテーブルに登録する。次い
でステップS5において、読み出し処理かどうか判別す
る。読み出し処理ではない場合はステップS6へ進んで
その検査すべきプログラムの実行が終了したかどうか又
はデバッグを意図的に終了するかどうか判別する。終了
しない場合はステップS1以降の処理を繰り返す。
【0013】以上の説明では、ブレークポイントにおい
てそのときのレジスタ及びメモリの内容を登録している
が、ブレークポイントの代りに又はこれに加えて関数呼
出しステップで登録を行うようにしてもよい。さらに、
ユーザが手動でステップを1つずつ動かすステップ実行
によってプログラムを進め、所望の位置でレジスタ及び
メモリの登録を行うようにしてもよい。ただし、ブレー
クポイント及びステップ実行ではその位置でプログラム
が止まるが、関数呼出しステップではプログラムは停止
せず情報の登録が行われるのみである。
てそのときのレジスタ及びメモリの内容を登録している
が、ブレークポイントの代りに又はこれに加えて関数呼
出しステップで登録を行うようにしてもよい。さらに、
ユーザが手動でステップを1つずつ動かすステップ実行
によってプログラムを進め、所望の位置でレジスタ及び
メモリの登録を行うようにしてもよい。ただし、ブレー
クポイント及びステップ実行ではその位置でプログラム
が止まるが、関数呼出しステップではプログラムは停止
せず情報の登録が行われるのみである。
【0014】デバッグ用格納領域としては内部記憶装置
13の使用してないメモリ領域又はページング領域が用
いられる。このデバッグ用格納領域としての容量は、あ
らかじめ固定されているか又は登録するステップ数に応
じてユーザが設定する。
13の使用してないメモリ領域又はページング領域が用
いられる。このデバッグ用格納領域としての容量は、あ
らかじめ固定されているか又は登録するステップ数に応
じてユーザが設定する。
【0015】図4及び図5は図1のプログラムの一部を
詳細に説明するフローチャートであり、図6はこのプロ
グラムによる特に読み出し処理動作を説明する図であ
る。
詳細に説明するフローチャートであり、図6はこのプロ
グラムによる特に読み出し処理動作を説明する図であ
る。
【0016】次にこれらの図4〜図6、及び図1を用い
て、登録されている情報の読み出し処理について説明す
る。図1のステップS5において読み出し処理であると
判別した場合、ステップS7へ進んでその読み出し処理
(実行を戻す処理)をステップ数指定によって行うか又
はアドレス指定によって行うかを判別する。どちらで行
うかはユーザが入力装置11を介して設定する。
て、登録されている情報の読み出し処理について説明す
る。図1のステップS5において読み出し処理であると
判別した場合、ステップS7へ進んでその読み出し処理
(実行を戻す処理)をステップ数指定によって行うか又
はアドレス指定によって行うかを判別する。どちらで行
うかはユーザが入力装置11を介して設定する。
【0017】ステップ数指定の場合はステップS8へ進
み、図4に示すプログラムを実行する。まずステップS
81において、現在のステップから戻したいステップ数
を指定する。これは、ブレークポイント、ステップ実行
レベルでのステップ数であり、実際にユーザが入力装置
11を介して指定する。次いでステップS82におい
て、図6に示すように、デバッグプログラムの読み出し
プログラムは、戻したいステップに相当するブレークア
ドレスをテーブルから探し出し、そのブレークアドレス
を先頭アドレスとしてデバッグ用格納領域に登録されて
いる内容を実行プログラム側のプログラムレジスタ及び
メモリに読み込む。
み、図4に示すプログラムを実行する。まずステップS
81において、現在のステップから戻したいステップ数
を指定する。これは、ブレークポイント、ステップ実行
レベルでのステップ数であり、実際にユーザが入力装置
11を介して指定する。次いでステップS82におい
て、図6に示すように、デバッグプログラムの読み出し
プログラムは、戻したいステップに相当するブレークア
ドレスをテーブルから探し出し、そのブレークアドレス
を先頭アドレスとしてデバッグ用格納領域に登録されて
いる内容を実行プログラム側のプログラムレジスタ及び
メモリに読み込む。
【0018】アドレス指定の場合はステップS9へ進
み、図5に示すプログラムを実行する。まずステップS
91において、戻したいステップのアドレスを指定す
る。これは、実際にユーザが入力装置11を介して指定
する。次いでステップS92において、図6に示すよう
に、デバッグプログラムの読み出しプログラムは、その
アドレスをテーブルから探し出す。次のステップS93
においては、このアドレスサーチの結果、その指定アド
レスの情報が登録されているかどうか判別する。登録さ
れている場合は、ステップS94へ進み、そのアドレス
を先頭アドレスとしてデバッグ用格納領域に登録されて
いる内容を実行プログラム側のプログラムレジスタ及び
メモリに読み込む。その指定アドレスの情報が登録され
ていない場合は、ステップS95へ進み、その指定アド
レスを含む関数の情報が登録されているかどうかテーブ
ルから判別する。登録されていないときはそのままこの
処理ルーチンを終了する。登録されているときは、ステ
ップS96においてその指定アドレスを含む関数のアド
レスをテーブルから取り出し、そのアドレスを先頭アド
レスとしてデバッグ用格納領域に登録されている内容を
実行プログラム側のプログラムレジスタ及びメモリに読
み込む。次いでステップS97において戻したいステッ
プのアドレス(指定アドレス)まで実行させる。
み、図5に示すプログラムを実行する。まずステップS
91において、戻したいステップのアドレスを指定す
る。これは、実際にユーザが入力装置11を介して指定
する。次いでステップS92において、図6に示すよう
に、デバッグプログラムの読み出しプログラムは、その
アドレスをテーブルから探し出す。次のステップS93
においては、このアドレスサーチの結果、その指定アド
レスの情報が登録されているかどうか判別する。登録さ
れている場合は、ステップS94へ進み、そのアドレス
を先頭アドレスとしてデバッグ用格納領域に登録されて
いる内容を実行プログラム側のプログラムレジスタ及び
メモリに読み込む。その指定アドレスの情報が登録され
ていない場合は、ステップS95へ進み、その指定アド
レスを含む関数の情報が登録されているかどうかテーブ
ルから判別する。登録されていないときはそのままこの
処理ルーチンを終了する。登録されているときは、ステ
ップS96においてその指定アドレスを含む関数のアド
レスをテーブルから取り出し、そのアドレスを先頭アド
レスとしてデバッグ用格納領域に登録されている内容を
実行プログラム側のプログラムレジスタ及びメモリに読
み込む。次いでステップS97において戻したいステッ
プのアドレス(指定アドレス)まで実行させる。
【0019】以上述べた実施例によれば、データのこわ
れた箇所の前後の状態をデバッグ時に一度に知ることが
でき、従ってこわれる以前のデータをユーザが手書きに
より記述しておく必要がなくなる。さらに、データがこ
われた後、そのこわれた箇所の前のステップに直接的に
戻ることができるのでプログラムの最初からその箇所ま
でもう一度実行させる必要がなくなり、知りたいときに
知りたい情報を素早く得ることができるので作業効率が
大幅に向上する。
れた箇所の前後の状態をデバッグ時に一度に知ることが
でき、従ってこわれる以前のデータをユーザが手書きに
より記述しておく必要がなくなる。さらに、データがこ
われた後、そのこわれた箇所の前のステップに直接的に
戻ることができるのでプログラムの最初からその箇所ま
でもう一度実行させる必要がなくなり、知りたいときに
知りたい情報を素早く得ることができるので作業効率が
大幅に向上する。
【0020】なお上述の実施例では、読み出し処理がス
テップ数指定又はアドレス指定を選択的に行うように構
成されているが、これはどちらか一方のみを行うように
構成してもよいことは明らかである。
テップ数指定又はアドレス指定を選択的に行うように構
成されているが、これはどちらか一方のみを行うように
構成してもよいことは明らかである。
【0021】
【発明の効果】以上詳細に説明したように本発明によれ
ば、記憶手段と、実行中のプログラムの所定ステップに
おけるレジスタ及びメモリの内容を記憶手段に登録する
手段と、記憶手段に登録された内容を所望により読み出
してレジスタ及びメモリへ戻す手段とを備えているた
め、プログラムを初めから再度実行させたりオペレータ
が情報を手書きによりあらかじめ記述しておく必要をな
くし、作業効率を大幅に高めることを可能である。
ば、記憶手段と、実行中のプログラムの所定ステップに
おけるレジスタ及びメモリの内容を記憶手段に登録する
手段と、記憶手段に登録された内容を所望により読み出
してレジスタ及びメモリへ戻す手段とを備えているた
め、プログラムを初めから再度実行させたりオペレータ
が情報を手書きによりあらかじめ記述しておく必要をな
くし、作業効率を大幅に高めることを可能である。
【図1】本発明の一実施例における情報の登録処理及び
戻し処理を行うプログラムのフローチャートである。
戻し処理を行うプログラムのフローチャートである。
【図2】図1の実施例おけるソフトデバッガを有するシ
ステムの構成を概略的に示すブロック図である。
ステムの構成を概略的に示すブロック図である。
【図3】図1のプログラムによる登録処理動作を説明す
る図である。
る図である。
【図4】図1のプログラムの一部を詳細に説明するフロ
ーチャートである。
ーチャートである。
【図5】図1のプログラムの一部を詳細に説明するフロ
ーチャートである。
ーチャートである。
【図6】図1のプログラムによる読み出し処理動作を説
明する図である。
明する図である。
10 CPU 11 入力装置 12 表示装置 13 内部記憶装置 14 外部記憶装置
Claims (1)
- 【請求項1】 記憶手段と、実行中のプログラムの所定
ステップにおけるレジスタ及びメモリの内容を前記記憶
手段に登録する手段と、前記記憶手段に登録された内容
を所望により読み出して前記レジスタ及びメモリへ戻す
手段とを備えたことを特徴とするソフトデバッガ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3347198A JPH05181702A (ja) | 1991-12-27 | 1991-12-27 | ソフトデバッガ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3347198A JPH05181702A (ja) | 1991-12-27 | 1991-12-27 | ソフトデバッガ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05181702A true JPH05181702A (ja) | 1993-07-23 |
Family
ID=18388588
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3347198A Pending JPH05181702A (ja) | 1991-12-27 | 1991-12-27 | ソフトデバッガ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05181702A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07191875A (ja) * | 1993-12-27 | 1995-07-28 | Nec Corp | デバッガー |
| 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 |
-
1991
- 1991-12-27 JP JP3347198A patent/JPH05181702A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07191875A (ja) * | 1993-12-27 | 1995-07-28 | Nec Corp | デバッガー |
| 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 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112346918B (zh) | 芯片验证中辅助波形debug的方法及应用 | |
| JPH05181702A (ja) | ソフトデバッガ | |
| JPS5987566A (ja) | メモリアクセス検出方式 | |
| JPH05165680A (ja) | メモリ操作トレ−ス装置 | |
| JP2000076095A (ja) | プログラムトレース装置およびプログラムトレース方法およびそのプログラムを記憶した記憶媒体 | |
| JPH04328644A (ja) | デバッグ支援装置 | |
| JPH05204708A (ja) | デバッガ処理方式 | |
| JPH05241890A (ja) | データトレース方式 | |
| JP2003263340A (ja) | デバッグ装置 | |
| JP2860054B2 (ja) | プログラムデバッグ装置 | |
| JPH0399338A (ja) | マイクロプロセッサ | |
| JP2967741B2 (ja) | Cpu互換性テスト装置 | |
| JPH02232731A (ja) | データ評価方式 | |
| JPH07160533A (ja) | デバッグツール | |
| JPH06250880A (ja) | プロセッサ | |
| JPH0724030B2 (ja) | デバック装置 | |
| JPH09223039A (ja) | オンラインシステムのデバッグ装置 | |
| JPH06259278A (ja) | デバッグ情報の獲得方式 | |
| JPH04336629A (ja) | トラップレポート解析ツール | |
| JPH07253908A (ja) | メモリアクセス装置 | |
| JPH04316140A (ja) | プログラムトレース装置 | |
| JPH056294A (ja) | ダンプ採取システム | |
| JP2001265619A (ja) | データトレース方式 | |
| JPH09167104A (ja) | メモリ非共有型システムのデバッグ装置 | |
| JPH03282835A (ja) | トランザクショントレース情報採取方式 |