JPH01274253A - ソフトウェアブレーク方式 - Google Patents
ソフトウェアブレーク方式Info
- Publication number
- JPH01274253A JPH01274253A JP63105183A JP10518388A JPH01274253A JP H01274253 A JPH01274253 A JP H01274253A JP 63105183 A JP63105183 A JP 63105183A JP 10518388 A JP10518388 A JP 10518388A JP H01274253 A JPH01274253 A JP H01274253A
- Authority
- JP
- Japan
- Prior art keywords
- program
- debugged
- execution
- address
- break
- 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 17
- 230000006870 function Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はコンピュータ用のプログラムのデバッグ処理に
利用する。本発明はデバッグの対象となっている被デバ
ッグプログラムを実行途中で停止させるソフトウェアブ
レーク方式に関する。
利用する。本発明はデバッグの対象となっている被デバ
ッグプログラムを実行途中で停止させるソフトウェアブ
レーク方式に関する。
本発明はコンビエータ用プログラムのデバッグ処理で、
そのデバッグの対象となっている被デバッグプログラム
を実行途中で停止させるソフトウェアブレーク方式にお
いて、 被デバッグプログラム中のブレークさせたいアドレスに
、デバッガ本体に設定された特定のアドレスに分岐する
命令を埋め込み、デバッガ本体に制御を渡し、そこで変
更した機械語を実行し、その後に被デバッグプログラム
手段に制御を戻すことにより、 ある特定のアドレスで被デバッグプログラムを停止でき
るハードウェア機能を持たないシステムに対し、オペレ
ーティングシステムとの連系処理を要することなく、高
速に被デバッグプログラムを停止できるようにしたもの
である。
そのデバッグの対象となっている被デバッグプログラム
を実行途中で停止させるソフトウェアブレーク方式にお
いて、 被デバッグプログラム中のブレークさせたいアドレスに
、デバッガ本体に設定された特定のアドレスに分岐する
命令を埋め込み、デバッガ本体に制御を渡し、そこで変
更した機械語を実行し、その後に被デバッグプログラム
手段に制御を戻すことにより、 ある特定のアドレスで被デバッグプログラムを停止でき
るハードウェア機能を持たないシステムに対し、オペレ
ーティングシステムとの連系処理を要することなく、高
速に被デバッグプログラムを停止できるようにしたもの
である。
デバッガなどで用いられるブレーク方式としては
(1)プログラムの実行を中断させるための所定のブレ
ークポイントを設定し、ハードウェアの機能により、被
デバッグプログラムを停止させる方法、 (2)あらかじめオペレーティングシステムなどインタ
ーフェースを決め、被デバッグプログラム内にある特定
のトラップを発生する命令を埋め込み、プログラム中断
を実行したときそのトラップを発生させることにより、
被デバッグプログラムを停止させる方法、 などが知られている。
ークポイントを設定し、ハードウェアの機能により、被
デバッグプログラムを停止させる方法、 (2)あらかじめオペレーティングシステムなどインタ
ーフェースを決め、被デバッグプログラム内にある特定
のトラップを発生する命令を埋め込み、プログラム中断
を実行したときそのトラップを発生させることにより、
被デバッグプログラムを停止させる方法、 などが知られている。
しか、し、上述した従来のブレーク方式では、(1)に
示すようなハードウェア機能を持っていないコンピュー
タシステムにおいては被デバッグプログラムを停止させ
る手段がなく、(2)に示す方法においてはある特定の
トラップを発生する命令およびそのトラップ処理をデバ
ッガ用に確保しなければならないことから、オペレーテ
ィングシステムとの連系処理が必要となり、そのために
、処理時間がかかってしまう欠点がある。
示すようなハードウェア機能を持っていないコンピュー
タシステムにおいては被デバッグプログラムを停止させ
る手段がなく、(2)に示す方法においてはある特定の
トラップを発生する命令およびそのトラップ処理をデバ
ッガ用に確保しなければならないことから、オペレーテ
ィングシステムとの連系処理が必要となり、そのために
、処理時間がかかってしまう欠点がある。
本発明は、このような従来の欠点を解決するもので、あ
る特定の位置で被デバッグプログラムを停止するための
ハードウェア機能を持たないシステムに対して、オペレ
ーティングシステムとの連系処理を必要とすることなく
高速に被デバッグプログラムを停止させるソフトウェア
ブレーク方式を提供することを目的とする。
る特定の位置で被デバッグプログラムを停止するための
ハードウェア機能を持たないシステムに対して、オペレ
ーティングシステムとの連系処理を必要とすることなく
高速に被デバッグプログラムを停止させるソフトウェア
ブレーク方式を提供することを目的とする。
本発明は、CRT端末と、ブレーク処理手段を有するデ
バッガ本体と、デバッグの対象となる被デバッグプログ
ラムを実行途中で停止させる被デバッグプログラム手段
とを備えたソフトウェアブレーク方式において、ブレー
クさせたいアドレス上にある機械語を上記デバッガ本体
の特定のアドレスに設定された上記ブレーク処理へ分岐
させる命令に書き換えるブレークポイント設定手段と、
上記被デバッグプログラムを実行させ、上記ブレークポ
イント設定手段により指定されたアドレスを実行したと
きに上記被デバッグプログラムの実行を停止させる被デ
バッグプログラム停止手段と、変更した機械語を上記デ
バッガ本体内で実行させる機械語実行手段と、この実行
手段のプログラム実行が完了したときに、上記被デバッ
グプログラム手段に実行制御をもどす被デバッグプログ
ラム実行開始手段とを含むことを特徴とする。
バッガ本体と、デバッグの対象となる被デバッグプログ
ラムを実行途中で停止させる被デバッグプログラム手段
とを備えたソフトウェアブレーク方式において、ブレー
クさせたいアドレス上にある機械語を上記デバッガ本体
の特定のアドレスに設定された上記ブレーク処理へ分岐
させる命令に書き換えるブレークポイント設定手段と、
上記被デバッグプログラムを実行させ、上記ブレークポ
イント設定手段により指定されたアドレスを実行したと
きに上記被デバッグプログラムの実行を停止させる被デ
バッグプログラム停止手段と、変更した機械語を上記デ
バッガ本体内で実行させる機械語実行手段と、この実行
手段のプログラム実行が完了したときに、上記被デバッ
グプログラム手段に実行制御をもどす被デバッグプログ
ラム実行開始手段とを含むことを特徴とする。
ブレークポイント設定時に、ブレークポイント設定手段
が、ブレークさせたいアドレス上にある機械語を、デバ
ッガ本体の特定のアドレスに設定されたブレーク処理へ
分岐させる命令に書き換え、その後1.被デバッグプロ
グラムを実行させ、ブレークポイント設定手段により変
更したアドレスを実行したときに被デバツグ停止手段が
被デバッグプログラムの実行を停止させ、機械語実行手
段が変更した機械語をデバッガ本体内で実行して、被デ
バツグ実行開始手段が被デバッグプログラムに実行制御
をもどす。
が、ブレークさせたいアドレス上にある機械語を、デバ
ッガ本体の特定のアドレスに設定されたブレーク処理へ
分岐させる命令に書き換え、その後1.被デバッグプロ
グラムを実行させ、ブレークポイント設定手段により変
更したアドレスを実行したときに被デバツグ停止手段が
被デバッグプログラムの実行を停止させ、機械語実行手
段が変更した機械語をデバッガ本体内で実行して、被デ
バツグ実行開始手段が被デバッグプログラムに実行制御
をもどす。
このようにして、ある特定の位置(アドレス)で被デバ
ッグプログラムを停止できるハードウェア機能を持たな
いシステムに対して、オペレーティングシステムとの連
系処理を必要とすることなく、高速に被デバッグプログ
ラムを停止させることができる。
ッグプログラムを停止できるハードウェア機能を持たな
いシステムに対して、オペレーティングシステムとの連
系処理を必要とすることなく、高速に被デバッグプログ
ラムを停止させることができる。
次に、本発明実施例方式を図面の簡単な説明する。第1
図は本発明実施例方式の構成を示すブロック図、第2図
は本発明実施例方式の処理の流れを示すフローチャート
である。
図は本発明実施例方式の構成を示すブロック図、第2図
は本発明実施例方式の処理の流れを示すフローチャート
である。
本発明実施例方式は、CRT端末1と、デバッガ本体2
と、デバッグの対象とる被デバッグプログラムを実行途
中で停止させる被デバッグプログラム手段3とを備え、
被デバッグプログラム手段3に、ブレークポイント設定
時にはブレークさせたいアドレス上にある機械語をデバ
ッガ本体2の特定のアドレスに設定されたブレーク処理
へ分岐させる命令に書き換えるブレークポイント設定手
段3−1と、被デバッグプログラムを実行させ、ブレー
クポイント設定手段3−1により指定されたアドレスを
実行したときに被デバッグプログラムの実行を停止させ
る被デバッグプログラム停止手段3−2と、変更した機
械語をデバッガ本体2内で実行させる機械語実行手段3
−3と、この機械語実行手段3−3のプログラム実行が
完了したときに被デバッグプログラム手段3に実行制御
をもどす被デバッグプログラム実行開始手段3−4とを
含む。
と、デバッグの対象とる被デバッグプログラムを実行途
中で停止させる被デバッグプログラム手段3とを備え、
被デバッグプログラム手段3に、ブレークポイント設定
時にはブレークさせたいアドレス上にある機械語をデバ
ッガ本体2の特定のアドレスに設定されたブレーク処理
へ分岐させる命令に書き換えるブレークポイント設定手
段3−1と、被デバッグプログラムを実行させ、ブレー
クポイント設定手段3−1により指定されたアドレスを
実行したときに被デバッグプログラムの実行を停止させ
る被デバッグプログラム停止手段3−2と、変更した機
械語をデバッガ本体2内で実行させる機械語実行手段3
−3と、この機械語実行手段3−3のプログラム実行が
完了したときに被デバッグプログラム手段3に実行制御
をもどす被デバッグプログラム実行開始手段3−4とを
含む。
CRT端末1は、CRT表示装置とキーボードを有し、
オペレータがこのキーボードから希望するデバッグを行
うに必要なコマンドを入力すると、これがデバッガ本体
2により解析実行され、その処理結畢がCRT端末工の
表示装置に表示される。
オペレータがこのキーボードから希望するデバッグを行
うに必要なコマンドを入力すると、これがデバッガ本体
2により解析実行され、その処理結畢がCRT端末工の
表示装置に表示される。
また、被デバッグプログラム手段3には、オペレータが
デバッグの対象としているプログラムを含み、デバッガ
本体2を起動すると、これはデバッガ本体2の制御下に
置かれる。なお、デバッガ本体2にはオペレータがCR
T端末1から入力するコマンドにより次の機能を有する
。
デバッグの対象としているプログラムを含み、デバッガ
本体2を起動すると、これはデバッガ本体2の制御下に
置かれる。なお、デバッガ本体2にはオペレータがCR
T端末1から入力するコマンドにより次の機能を有する
。
(イ) 被デバッグプログラム手段3を実行させる機能
(ロ) 被デバッグプログラム手段3にあらかじめ指定
されたアドレスが実行されたことを検出して、この被デ
バッグプログラム手段3の実行を停止させる機能 (ハ) 現在実行を停止している被デバッグプログラム
手段3の実行を再開する機能 (ニ) 被デバッグプログラム手段3のレジスタ値を任
意の値にセットする機能 (ホ) 被デバッグプログラム手段3の任意のメモリ内
容を参照し書き換える機能 (へ) 被デバッグプログラム手段3の機械語をデコー
ドしどんな命令かを認識できる機能次に、第2図実施例
の処理の流れを示すフローチャートを参照しながらこの
実施例におけるソフトウェアブレーク設定時の処理の内
容について説明する。
されたアドレスが実行されたことを検出して、この被デ
バッグプログラム手段3の実行を停止させる機能 (ハ) 現在実行を停止している被デバッグプログラム
手段3の実行を再開する機能 (ニ) 被デバッグプログラム手段3のレジスタ値を任
意の値にセットする機能 (ホ) 被デバッグプログラム手段3の任意のメモリ内
容を参照し書き換える機能 (へ) 被デバッグプログラム手段3の機械語をデコー
ドしどんな命令かを認識できる機能次に、第2図実施例
の処理の流れを示すフローチャートを参照しながらこの
実施例におけるソフトウェアブレーク設定時の処理の内
容について説明する。
まず、ステップ10の“ブレークポイント設定。
において、メモリ内の被デバッグプログラム手段3に停
止させたい所にある機械語をサブルーチン分岐命令に書
き換える。この分岐先はデバッガ本体20本実施例を達
成するためのロジックが格納されているエントリアドレ
スである。被デバッグプログラム手段3を実行すると、
前述の設定した停止させたいところが実行されたときに
サブルーチン分岐命令が実行されデバッガ本体2に制御
がうつる。
止させたい所にある機械語をサブルーチン分岐命令に書
き換える。この分岐先はデバッガ本体20本実施例を達
成するためのロジックが格納されているエントリアドレ
スである。被デバッグプログラム手段3を実行すると、
前述の設定した停止させたいところが実行されたときに
サブルーチン分岐命令が実行されデバッガ本体2に制御
がうつる。
ステップ11の゛被デバッグプログラム停止゛において
、デバッガ本体2に制御がわたると、被デバッグプログ
ラム手段3の実行を停止させる。このとき被デバッグプ
ログラム手段3が使用していたレジスタなどの内容を破
壊しないように退避する。
、デバッガ本体2に制御がわたると、被デバッグプログ
ラム手段3の実行を停止させる。このとき被デバッグプ
ログラム手段3が使用していたレジスタなどの内容を破
壊しないように退避する。
ついで、ステップ12の゛機械語実行°に移ると、サブ
ルーチン分岐命令に変更した機械語をデコードし、分岐
命令か通常の命令かに分類し、かつ機械語が実行された
ときに次のプログラムカウンタが被デバッグプログラム
手段3上のメモリ位置になるかを算出し、機械語を実行
させる。
ルーチン分岐命令に変更した機械語をデコードし、分岐
命令か通常の命令かに分類し、かつ機械語が実行された
ときに次のプログラムカウンタが被デバッグプログラム
手段3上のメモリ位置になるかを算出し、機械語を実行
させる。
そして、ステップ13の“被デバッグプログラム実行開
始°において、次のプログラムカウンタおよび機械語が
実行されたときに変更となったレジスタに被デバッグプ
ログラム停止手段3−2で退避したレジスタの内容を戻
し、被デバッグプログラム手段3をさらに実行する。
始°において、次のプログラムカウンタおよび機械語が
実行されたときに変更となったレジスタに被デバッグプ
ログラム停止手段3−2で退避したレジスタの内容を戻
し、被デバッグプログラム手段3をさらに実行する。
以上説明したように本発明によれば、被デバッグプログ
ラム中のブレークさせたいアドレスに、デバッガ本体に
設定された特定のアドレスに分岐する命令を埋め込み、
デバッガ本体に制御をわたし、そこで変更した機械語を
実行し、被デバッグプログラム手段に制御を渡すことに
より、ある特定の位置(アドレス)で被デバッグプログ
ラムを停止することができないハードウェア機能を持つ
システムに対し、オペレーティングシステムとの連系処
理を必要とすることなく、高速に被デバッグプログラム
を停止させることができる効果がある。
ラム中のブレークさせたいアドレスに、デバッガ本体に
設定された特定のアドレスに分岐する命令を埋め込み、
デバッガ本体に制御をわたし、そこで変更した機械語を
実行し、被デバッグプログラム手段に制御を渡すことに
より、ある特定の位置(アドレス)で被デバッグプログ
ラムを停止することができないハードウェア機能を持つ
システムに対し、オペレーティングシステムとの連系処
理を必要とすることなく、高速に被デバッグプログラム
を停止させることができる効果がある。
第1図は本発明実施例の構成を示すブロック図。
第2図は本発明実施例の処理の流れを示すフローチャー
ト。 1・・・CRT端末、2・・・デバッガ本体、3・・・
被デバッグプログラム手段、3−1・・・ブレークポイ
ント設定手段、3−2・・・被デバッグプログラム停止
手段、3−3・・・機械語実行手段、3−4・・・被デ
バッグプログラム開始手段。 特許出願人 日本電気株式会社、、、、ワ、代理人
弁理士 井 出 直 孝′□゛・ 7゜
ト。 1・・・CRT端末、2・・・デバッガ本体、3・・・
被デバッグプログラム手段、3−1・・・ブレークポイ
ント設定手段、3−2・・・被デバッグプログラム停止
手段、3−3・・・機械語実行手段、3−4・・・被デ
バッグプログラム開始手段。 特許出願人 日本電気株式会社、、、、ワ、代理人
弁理士 井 出 直 孝′□゛・ 7゜
Claims (1)
- 【特許請求の範囲】 1、CRT端末と、ブレーク処理手段を有するデバッガ
本体と、デバッグの対象となる被デバッグプログラムを
実行途中で停止させる被デバッグプログラム手段とを備
えたソフトウェアブレーク方式において、 ブレークさせたいアドレス上にある機械語を上記デバッ
ガ本体の特定のアドレスに設定されたブレーク処理へ分
岐させる命令に書き換えるブレークポイント設定手段と
、 上記被デバッグプログラムを実行させ、上記ブレークポ
イント設定手段により指定されたアドレスを実行したと
きに上記被デバッグプログラムの実行を停止させる被デ
バッグプログラム停止手段と、 変更した機械語を上記デバッガ本体内で実行させる機械
語実行手段と、 この実行手段のプログラム実行が完了したときに、上記
被デバッグプログラム手段に実行制御をもどす被デバッ
グプログラム実行開始手段とを含むことを特徴とするソ
フトウェアブレーク方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63105183A JPH01274253A (ja) | 1988-04-26 | 1988-04-26 | ソフトウェアブレーク方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63105183A JPH01274253A (ja) | 1988-04-26 | 1988-04-26 | ソフトウェアブレーク方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01274253A true JPH01274253A (ja) | 1989-11-02 |
Family
ID=14400563
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63105183A Pending JPH01274253A (ja) | 1988-04-26 | 1988-04-26 | ソフトウェアブレーク方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01274253A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04263340A (ja) * | 1991-02-18 | 1992-09-18 | Fujitsu Ltd | 実行監視点削減方式 |
| US5963741A (en) * | 1997-01-29 | 1999-10-05 | Nec Corporation | Information processor which rewrites instructions in program to dynamically change program structure and method therefor |
-
1988
- 1988-04-26 JP JP63105183A patent/JPH01274253A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04263340A (ja) * | 1991-02-18 | 1992-09-18 | Fujitsu Ltd | 実行監視点削減方式 |
| US5963741A (en) * | 1997-01-29 | 1999-10-05 | Nec Corporation | Information processor which rewrites instructions in program to dynamically change program structure and method therefor |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6308318B2 (en) | Method and apparatus for handling asynchronous exceptions in a dynamic translation system | |
| JP2005317023A (ja) | データ処理装置のブレークポイント論理ユニット、デバッグ論理、およびブレークポイントの方法 | |
| US6961928B2 (en) | Co-ordinate internal timers with debugger stoppage | |
| JPH01274253A (ja) | ソフトウェアブレーク方式 | |
| JPH0239332A (ja) | ソフトウェアブレーク方式 | |
| JPH0250228A (ja) | デバッグ処理装置 | |
| JPH02135545A (ja) | デバッガの実行制御処理方式 | |
| KR950005523B1 (ko) | 프로그램어블 로직 콘트롤러의 스텝 런 처리방법 | |
| JPS61213936A (ja) | 高級言語プログラムのステツプ実行方式 | |
| JPH02284236A (ja) | プログラムデバッグ処理装置 | |
| JPH0465729A (ja) | シンボリック・デバッガ | |
| KR0175469B1 (ko) | 칠프로그램 변수의 가시성 제어방법 | |
| JP2007004516A (ja) | 組込みシステムのプログラムデバッグ方法 | |
| JPS61180342A (ja) | 高級言語のステツプ実行方式 | |
| JPS63163543A (ja) | 情報処理装置 | |
| JPS61180343A (ja) | ソフトウエアブレ−ク方式 | |
| JPH01152505A (ja) | Pcのプログラムデバッグ方式 | |
| JPS61210439A (ja) | タスクのトレ−ス制御方式 | |
| JPH03175539A (ja) | デバッグ用マイクロプロセッサ | |
| JPS63178343A (ja) | 中断点の設定方式 | |
| JPH0695910A (ja) | 異常処理のための対話型デバッグ制御方式 | |
| JPH0227447A (ja) | デバック方式 | |
| JPH03141436A (ja) | デバッグ装置 | |
| JP2006350676A (ja) | 組込みシステムのプログラムデバッグ方法 | |
| JPH0371345A (ja) | ソフトウェアデバッグ方法 |