JPS63104150A - プログラムデバツグ方式 - Google Patents
プログラムデバツグ方式Info
- Publication number
- JPS63104150A JPS63104150A JP61251025A JP25102586A JPS63104150A JP S63104150 A JPS63104150 A JP S63104150A JP 61251025 A JP61251025 A JP 61251025A JP 25102586 A JP25102586 A JP 25102586A JP S63104150 A JPS63104150 A JP S63104150A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- program
- trap
- address
- setting means
- 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 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 abstract 1
- 238000013480 data collection Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はプログラムデバッグ方式に関する。
従来、プログラムのデバッグは、そのプログラムの開発
者によって行なわれていたため、プログラムの動作状況
は、開発者によって適切と判断されるアドレスに割込み
命令を埋め込むことによってプログラムの実行を中断し
、その時点で開発者が動作状況を把握するために十分と
判断するデー夕を採取することによって確認されていた
。現在では、流通ラフ1−ウェア、オペレーティングシ
ステム等の長期間保守、拡張される必要のあるプログラ
ムの開発においては、開発者以外の人間がプログラムの
デバッグを行わなければならなくなりつつある。
者によって行なわれていたため、プログラムの動作状況
は、開発者によって適切と判断されるアドレスに割込み
命令を埋め込むことによってプログラムの実行を中断し
、その時点で開発者が動作状況を把握するために十分と
判断するデー夕を採取することによって確認されていた
。現在では、流通ラフ1−ウェア、オペレーティングシ
ステム等の長期間保守、拡張される必要のあるプログラ
ムの開発においては、開発者以外の人間がプログラムの
デバッグを行わなければならなくなりつつある。
前述した従来のデバッグ方式では、割込命令を埋め込む
ためにデバッグ時にプログラムリストを見なければなら
なかったため、プログラムの論理を熟知している者以外
がデバッグを行う場合には、プログラムリストを調べる
時間が多大となるという欠点がある。また、デバッグ時
に必要なデータを採取し忘れた場合には再度同じテスト
を行わなければならなかった。
ためにデバッグ時にプログラムリストを見なければなら
なかったため、プログラムの論理を熟知している者以外
がデバッグを行う場合には、プログラムリストを調べる
時間が多大となるという欠点がある。また、デバッグ時
に必要なデータを採取し忘れた場合には再度同じテスト
を行わなければならなかった。
本発明の目的は、プログラムの動作状況確認用トラップ
を設けることにより、上記欠点をなくしデバッグを容易
にし、がっ、もれなく行なうことのできるプログラムデ
バッグ方式を提供することにある。
を設けることにより、上記欠点をなくしデバッグを容易
にし、がっ、もれなく行なうことのできるプログラムデ
バッグ方式を提供することにある。
本発明のプログラムデバッグ方式の構成は、プログラム
内の指定されたアドレスにある命令の原命令を記憶し、
この原命令を割込発生命令と置換えるトラップ設定手段
と、その割込発生命令の実行による割込み発生を監視し
、この割込み発生時に、デバッグ情報を出力する割込み
監視手段と、前記プログラムの実行を再度開始するため
に前記トラップ設定手段によって埋め込まれた割込発生
命令をこのトラップ設定手段によって記憶されている原
命令と置換えるI・ラップ解除手段と、前記割込み発生
時に前記原命令のオペランドで指定されているレジスタ
および記憶装置の内容を採取するオペランドデータ採取
手段と、このオペランドデータ採取手段と前後して前記
原命令から次に実行される命令のアドレスを計算する次
命令アドレス計算手段と、前記トラップ解除手段によっ
て原命令を回復し、前記次命令アドレス計算手段によっ
て計算された前記次命令アドレスに、前記トラップ設定
手段によってトラップを設定するトラップ自動設定手段
とを有し、前記プログラム内の任意のアドレスで前記プ
ログラムの実行を中断し、前記デバッグ情報収集を行な
い、前記プログラムの実行を再開することを特徴とする
。
内の指定されたアドレスにある命令の原命令を記憶し、
この原命令を割込発生命令と置換えるトラップ設定手段
と、その割込発生命令の実行による割込み発生を監視し
、この割込み発生時に、デバッグ情報を出力する割込み
監視手段と、前記プログラムの実行を再度開始するため
に前記トラップ設定手段によって埋め込まれた割込発生
命令をこのトラップ設定手段によって記憶されている原
命令と置換えるI・ラップ解除手段と、前記割込み発生
時に前記原命令のオペランドで指定されているレジスタ
および記憶装置の内容を採取するオペランドデータ採取
手段と、このオペランドデータ採取手段と前後して前記
原命令から次に実行される命令のアドレスを計算する次
命令アドレス計算手段と、前記トラップ解除手段によっ
て原命令を回復し、前記次命令アドレス計算手段によっ
て計算された前記次命令アドレスに、前記トラップ設定
手段によってトラップを設定するトラップ自動設定手段
とを有し、前記プログラム内の任意のアドレスで前記プ
ログラムの実行を中断し、前記デバッグ情報収集を行な
い、前記プログラムの実行を再開することを特徴とする
。
次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例のブロック図である。
1は入力部、2は記憶装置、2′はレジスタ、3はトラ
ップ自動設定手段、4はオペランドデータ採取手段、5
は次命令アドレス計算手段、6は出力部、7はトラップ
設定手段、8はトラップ解除手段である。
ップ自動設定手段、4はオペランドデータ採取手段、5
は次命令アドレス計算手段、6は出力部、7はトラップ
設定手段、8はトラップ解除手段である。
次に、本実施例のプログロムのデバッグ補助方式の動作
について説明する。
について説明する。
プログラムデバッグ時、プログラムのある部分の動作状
況を正確に把握するために、デバッグ実行者から入力部
1にオペランドデータの内容を採取する命令の実行回数
が入力されると、入力部1はトラップ自動設定手段3を
動作させ、入力された実行回数を渡す。トラップ自動設
定手段3は、入力部1から渡された実行回数を保持する
と共に、実行回数のカランI−を開始し、プログラム内
の命令の実行が完了するごとに実行した実行回数に1ず
つ加算し、加算結果が入力部から渡された実行回数に達
した時、以下の動作を終了する。
況を正確に把握するために、デバッグ実行者から入力部
1にオペランドデータの内容を採取する命令の実行回数
が入力されると、入力部1はトラップ自動設定手段3を
動作させ、入力された実行回数を渡す。トラップ自動設
定手段3は、入力部1から渡された実行回数を保持する
と共に、実行回数のカランI−を開始し、プログラム内
の命令の実行が完了するごとに実行した実行回数に1ず
つ加算し、加算結果が入力部から渡された実行回数に達
した時、以下の動作を終了する。
本実施例では、オペランドデータの内容採取動作の終了
条件として、命令数を使用しているが、これはアドレス
を指定する等、別の方法でもかまわない。
条件として、命令数を使用しているが、これはアドレス
を指定する等、別の方法でもかまわない。
トラップ自動設定手段3は、トラップ解除手段8を起動
して原命令を回復し、原命令アドレスを指定してオペラ
ンドデータ採取手段4を起動する。オペランドデータ採
取手段4は原命令アドレスから原命令を参照し、参照さ
れているレジスタおよび記憶装置の内容を出力部6に送
る。出力部6は、オペランドデータ採取手段がら送られ
たオペランドデータをデバッグ実行者に見えるように表
示する。
して原命令を回復し、原命令アドレスを指定してオペラ
ンドデータ採取手段4を起動する。オペランドデータ採
取手段4は原命令アドレスから原命令を参照し、参照さ
れているレジスタおよび記憶装置の内容を出力部6に送
る。出力部6は、オペランドデータ採取手段がら送られ
たオペランドデータをデバッグ実行者に見えるように表
示する。
トラップ自動設定手段3は、オペランドデータ採取が完
了すると次命令アドレス計算手段5によって、次に実行
される命令のアドレスを求める。
了すると次命令アドレス計算手段5によって、次に実行
される命令のアドレスを求める。
次命令アドレス計算手段5は、原命令が分岐を引き起す
命令(分岐命令と呼ぶ)か否かを判断し、原命令が分岐
命令でない場合は、原命令の命令コードから原命令の命
令長を求め、これを原命令アドレスに加算することによ
って次命令アドレスを計算する。原命令が分岐命令であ
る場合、割込み発生時の分岐条件と原命令が指定してい
る分岐条件とを比較して分岐条件が成立していれば、分
岐命令のオペランドで指定している分岐先アドレスを次
命令アドレスとし、分岐条件が成立していなければ、分
岐命令以外の命令と同様にして、次命令アドレスを計算
する。
命令(分岐命令と呼ぶ)か否かを判断し、原命令が分岐
命令でない場合は、原命令の命令コードから原命令の命
令長を求め、これを原命令アドレスに加算することによ
って次命令アドレスを計算する。原命令が分岐命令であ
る場合、割込み発生時の分岐条件と原命令が指定してい
る分岐条件とを比較して分岐条件が成立していれば、分
岐命令のオペランドで指定している分岐先アドレスを次
命令アドレスとし、分岐条件が成立していなければ、分
岐命令以外の命令と同様にして、次命令アドレスを計算
する。
トラップ自動設定手段3は、次命令アドレス計算手段5
によって計算された次命令のアドレスを指定して、トラ
ップ設定手段7を動作させ、次命令にトラップを設定す
る。次命令へのトラップ設定完了後、トラップ自動設定
手段3は原命令からプログラムの実行を再開する。
によって計算された次命令のアドレスを指定して、トラ
ップ設定手段7を動作させ、次命令にトラップを設定す
る。次命令へのトラップ設定完了後、トラップ自動設定
手段3は原命令からプログラムの実行を再開する。
プログラムの実行再開時、トラップ設定手段7によって
、次命令は割込み命令に書き換えられているため、次命
令実行時、割込みが発生し、再度トラップ自動設定手段
3が起動され、前述の終了条件すなわち実行回数、又は
他の例ではアドレス等の条件が見たされるまで以上述べ
た処理が縁り返される。
、次命令は割込み命令に書き換えられているため、次命
令実行時、割込みが発生し、再度トラップ自動設定手段
3が起動され、前述の終了条件すなわち実行回数、又は
他の例ではアドレス等の条件が見たされるまで以上述べ
た処理が縁り返される。
よってデバッグ実行者は、プログラムの任意の部分の動
作状況をオペランドで指定される記憶装置及びレジスタ
の参照、更新状況を通して正確に、かつ、もれなく把握
することができる。
作状況をオペランドで指定される記憶装置及びレジスタ
の参照、更新状況を通して正確に、かつ、もれなく把握
することができる。
以上説明したように本発明は、プログラム内の実行され
る命令毎に、命令がオペランドで指定しているレジスタ
もしくは記憶装置の内容を採取することにより、デバッ
グ実行者がプログラムリストを見ることなしにプログラ
ムの動作状況を確認することを可能にし、デバッグ実行
者がプログラムの動作状況を確認するためにトラップを
設定し、必要なデータを採取しながらプログラムを実行
させるデバッグを、時間の損失なしに容易に、かつ、も
れなく行うことができるという効果がある。
る命令毎に、命令がオペランドで指定しているレジスタ
もしくは記憶装置の内容を採取することにより、デバッ
グ実行者がプログラムリストを見ることなしにプログラ
ムの動作状況を確認することを可能にし、デバッグ実行
者がプログラムの動作状況を確認するためにトラップを
設定し、必要なデータを採取しながらプログラムを実行
させるデバッグを、時間の損失なしに容易に、かつ、も
れなく行うことができるという効果がある。
第1図は本発明のプログラムのデバッグ補助方式の一実
施例を示す構成図である。 1・・・入力部、2・・・記憶装置、2′・・・レジス
タ、3・・・トラップ自動設定手段、4・・・オペラン
ドデータ採取手段、5・・・次命令アドレス計算手段、
6・・・出力部、7・・・トラップ設定手段、8・・・
トラップ解除手段。
施例を示す構成図である。 1・・・入力部、2・・・記憶装置、2′・・・レジス
タ、3・・・トラップ自動設定手段、4・・・オペラン
ドデータ採取手段、5・・・次命令アドレス計算手段、
6・・・出力部、7・・・トラップ設定手段、8・・・
トラップ解除手段。
Claims (1)
- プログラム内の指定されたアドレスにある命令の原命令
を記憶し、この原命令を割込発生命令と置換えるトラッ
プ設定手段と、その割込発生命令の実行による割込み発
生を監視し、この割込み発生時に、デバッグ情報を出力
する割込み監視手段と、前記プログラムの実行を再度開
始するために前記トラップ設定手段によつて埋め込まれ
た割込発生命令をこのトラップ設定手段によって記憶さ
れている原命令と置換えるトラップ解除手段と、前記割
込み発生時に前記原命令のオペランドで指定されている
レジスタおよび記憶装置の内容を採取するオペランドデ
ータ採取手段と、このオペランドデータ採取手段と前後
して前記原命令から次に実行される命令のアドレスを計
算する次命令アドレス計算手段と、前記トラップ解除手
段によつて原命令を回復し、前記次命令アドレス計算手
段によって計算された前記次命令アドレスに、前記トラ
ップ設定手段によってトラップを設定するトラップ自動
設定手段とを有し、前記プログラム内の任意のアドレス
で前記プログラムの実行を中断し、前記デバッグ情報収
集を行ない、前記プログラムの実行を再開することを特
徴とするプログラムデバッグ方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61251025A JPS63104150A (ja) | 1986-10-21 | 1986-10-21 | プログラムデバツグ方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61251025A JPS63104150A (ja) | 1986-10-21 | 1986-10-21 | プログラムデバツグ方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63104150A true JPS63104150A (ja) | 1988-05-09 |
Family
ID=17216503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61251025A Pending JPS63104150A (ja) | 1986-10-21 | 1986-10-21 | プログラムデバツグ方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63104150A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0561718A (ja) * | 1991-09-04 | 1993-03-12 | Nec Corp | ソフトウエア評価方式 |
-
1986
- 1986-10-21 JP JP61251025A patent/JPS63104150A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0561718A (ja) * | 1991-09-04 | 1993-03-12 | Nec Corp | ソフトウエア評価方式 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS63104150A (ja) | プログラムデバツグ方式 | |
JPS6022772B2 (ja) | 擬似障害発生制御方式 | |
JPH03113648A (ja) | プログラムデバツグ方式 | |
JPH03266140A (ja) | プログラムデバッグ方式 | |
JPH01274253A (ja) | ソフトウェアブレーク方式 | |
JPH01166228A (ja) | 末通過チェックポイント自動検出デバッグ方式 | |
JPS63289654A (ja) | プログラム分岐命令モニタ方式 | |
JPH0727477B2 (ja) | 命令置換方式 | |
JP2697230B2 (ja) | デバッグ支援装置 | |
JPS638946A (ja) | プログラムデバツグサポ−ト方式 | |
JPS61180344A (ja) | 高級言語のステツプ実行システム | |
JPS62159249A (ja) | プログラムのデバツグ補助方式 | |
JPH07319730A (ja) | テスト・デバッグ方法 | |
JPH0772874B2 (ja) | 割込み受取り装置 | |
JPH0433135A (ja) | プログラムのデバッグ方式 | |
JPH0239332A (ja) | ソフトウェアブレーク方式 | |
JPS5848154A (ja) | プログラム1ステツプ制御方式 | |
JP2006350676A (ja) | 組込みシステムのプログラムデバッグ方法 | |
JPH06214828A (ja) | 対話型デバッグ制御装置 | |
JPH03278243A (ja) | デバッグ装置 | |
JPH04184544A (ja) | ブレークポイント制御方式 | |
JPH0340143A (ja) | パイプライン方式計算機におけるデバッグ方式 | |
JPH03209534A (ja) | プログラム開発支援装置 | |
JPS6125254A (ja) | プログラムのデバツグ方式 | |
JPH0512062A (ja) | ステツプブレーク処理方式 |