JPS61180342A - 高級言語のステツプ実行方式 - Google Patents
高級言語のステツプ実行方式Info
- Publication number
- JPS61180342A JPS61180342A JP60019865A JP1986585A JPS61180342A JP S61180342 A JPS61180342 A JP S61180342A JP 60019865 A JP60019865 A JP 60019865A JP 1986585 A JP1986585 A JP 1986585A JP S61180342 A JPS61180342 A JP S61180342A
- Authority
- JP
- Japan
- Prior art keywords
- emulator
- step execution
- level language
- address
- line
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〈発明の技術分野〉
本発明は、デバッグ装置などの一機能として用いられる
高級言語のステップ実行方式に関する。
高級言語のステップ実行方式に関する。
〈発明の概要〉
本発明による高級言語のステップ実行方式は、高級言語
で記述され九ソースプログラムを機械語に翻訳(コンパ
イル)する際に、前記ソースプログラムの各行番号と、
これらの各行番号と対応する機械語のアドレスとの対応
表を作成し、ステップ実行時に前記対応表を用いて1回
の操作で各行番号に対応した機械語を連続的に実行させ
、高級言語で記述されたソースプログラムのデバッグ作
業を効率良く行なえるようにするものである。
で記述され九ソースプログラムを機械語に翻訳(コンパ
イル)する際に、前記ソースプログラムの各行番号と、
これらの各行番号と対応する機械語のアドレスとの対応
表を作成し、ステップ実行時に前記対応表を用いて1回
の操作で各行番号に対応した機械語を連続的に実行させ
、高級言語で記述されたソースプログラムのデバッグ作
業を効率良く行なえるようにするものである。
〈従来技術とその問題点〉
プログラマ−などによって作成されたプログラムは、よ
ほど注意して作成されたものでもバグが入っていること
が多い。そして、バグが入っていると解ったプログラム
は、一旦、デバッグ装置などにかけて、これをステップ
実行させ、各ステップ毎に演算途中の変数値をプリント
アウトさせてこのプリント結果から該プログラム中の正
しく動作していない部分を見つけ、原因となっている文
を修正しなければならなA6 ところで、従来のステップ実行方式はCP U(中央処
理装置)が1つの機械語を実行する毎に、該CPUをハ
ードウェア的に停止させるものであシ、1回のステップ
実行で1つの機械語しか実行させることかできなかった
。このため、高級言語で記述されたソースプログラムは
1行が数ステップにも分割されてしまい・デバッグしに
くいという不都合がおった。
ほど注意して作成されたものでもバグが入っていること
が多い。そして、バグが入っていると解ったプログラム
は、一旦、デバッグ装置などにかけて、これをステップ
実行させ、各ステップ毎に演算途中の変数値をプリント
アウトさせてこのプリント結果から該プログラム中の正
しく動作していない部分を見つけ、原因となっている文
を修正しなければならなA6 ところで、従来のステップ実行方式はCP U(中央処
理装置)が1つの機械語を実行する毎に、該CPUをハ
ードウェア的に停止させるものであシ、1回のステップ
実行で1つの機械語しか実行させることかできなかった
。このため、高級言語で記述されたソースプログラムは
1行が数ステップにも分割されてしまい・デバッグしに
くいという不都合がおった。
〈発明の目的〉
本発明は上記の事情に鑑み、高級言語で記述されたソー
スプログラムを1行革位でステップ実行させることがで
き、これによってデバッグ作業の効率を高めることがで
きる高級言語のステップ実行方式を提供することを目的
としている。
スプログラムを1行革位でステップ実行させることがで
き、これによってデバッグ作業の効率を高めることがで
きる高級言語のステップ実行方式を提供することを目的
としている。
〈発明の構成〉
この目的を達成するため本発明による高級言語のステッ
プ実行方式では、高級言語で記述されたソースプログラ
ムに基づいて動作する計算機をステップ実行させる高級
言語のステップ実行方式において、前記ソースプログラ
ムの1行をステップ実行単位として前記1行に対応した
機械語を連続的に実行させることを特徴としている。
プ実行方式では、高級言語で記述されたソースプログラ
ムに基づいて動作する計算機をステップ実行させる高級
言語のステップ実行方式において、前記ソースプログラ
ムの1行をステップ実行単位として前記1行に対応した
機械語を連続的に実行させることを特徴としている。
〈発明の効果〉
上記の構成によってこの発明では、1回の操作で高級言
語1行分の機械語を実行させることができ、高級言語で
記述されたソースプログラムのデバッグ作業効率を向上
させることができる。
語1行分の機械語を実行させることができ、高級言語で
記述されたソースプログラムのデバッグ作業効率を向上
させることができる。
〈発明の実施例〉
第1図は本発明による高級言語のステップ実行方式の一
実施例を適用したデバッグ装置を示すブロック図である
。この図に示す装置は、高級言語によって記述されたソ
ースプログラムを行単位でステップ実行するものであり
、CRT (ブラウン管)ターミナル1と、デバッガ本
体2と、エミュレータ3と、被デバツグ装置4とを備え
て構成されている。
実施例を適用したデバッグ装置を示すブロック図である
。この図に示す装置は、高級言語によって記述されたソ
ースプログラムを行単位でステップ実行するものであり
、CRT (ブラウン管)ターミナル1と、デバッガ本
体2と、エミュレータ3と、被デバツグ装置4とを備え
て構成されている。
CRTターミナル1はCRTなどの表示装置と、キーボ
ードとを有し、オペレータが前記キーボードから所望の
デバッグを行なうのに必要なコマンドを入力すれば、こ
れがデバッガ本体2で実行され、その処理結果が前記表
示装置に表示される。
ードとを有し、オペレータが前記キーボードから所望の
デバッグを行なうのに必要なコマンドを入力すれば、こ
れがデバッガ本体2で実行され、その処理結果が前記表
示装置に表示される。
また、被デバツグ装置4はCPUとしてマイクロプロセ
ッサなどを搭載したものであり、この被デバツグ装置4
はエミュレータ3とパス結合されている。
ッサなどを搭載したものであり、この被デバツグ装置4
はエミュレータ3とパス結合されている。
エミュレータ3は前記被デバツグ装置4のCPUに代わ
ってこの被デバッグ装R4を制御するものであり、外部
からのコマンドによって次に述べる機能を実行する。
ってこの被デバッグ装R4を制御するものであり、外部
からのコマンドによって次に述べる機能を実行する。
(イ) 被、デバッグ装置4に記憶されているプログラ
ム中の機械語を、現在停止しているアドレスから1命令
だけ実行して再び停止する機能(1機械語の1ステップ
実行機能)。
ム中の機械語を、現在停止しているアドレスから1命令
だけ実行して再び停止する機能(1機械語の1ステップ
実行機能)。
(ロ) CPUのレジスタ値を参照、更新したシ、被
デバツグ装置4内のメモリ内容を参照、更新したりする
機能およびその他デバッグに必要な機能。
デバツグ装置4内のメモリ内容を参照、更新したりする
機能およびその他デバッグに必要な機能。
また前記デバッガ本体2は前記エミュレータ3を制御す
ることによりこのエミュレータ3が本来持たない高度な
デバッグ機能を実現するものであり、前記CRTターミ
ナル1から入力されたコマンドを解釈し、この解釈結果
でエミュレータ3をコントロールして被デバツグ装置4
を制御し、この制御結果を編集して前記CRTターミナ
ル1に表示する。
ることによりこのエミュレータ3が本来持たない高度な
デバッグ機能を実現するものであり、前記CRTターミ
ナル1から入力されたコマンドを解釈し、この解釈結果
でエミュレータ3をコントロールして被デバツグ装置4
を制御し、この制御結果を編集して前記CRTターミナ
ル1に表示する。
以下このデバッガ本体2を構成するアドレステーブル5
、アドレステーブル検索部6、エミュレータ制御部7お
よび制御部8について詳述する。
、アドレステーブル検索部6、エミュレータ制御部7お
よび制御部8について詳述する。
アドレステーブル5は、高級言語で記述されたソースプ
ログラム、例えば第2図に示すようなC言語で記述され
たソースプログラムをコンパイルして第3図に示す機械
語のオブジェクトプログラムを作成するとき、これと−
緒に生成される行番号・機械語アドレス対応表8を記憶
しているものであり、具体的ては第3図に示すようなテ
ーブルの機械語アドレス部分を記憶している。この場合
、第3図に示すオブジェクトプログラムはマイクロプロ
セッサMC68000をターゲットCPUとして第2図
のソースプログラムをコンパイルしたものであり、また
第4図は第2図に示すソースプログラムの行番号と、第
3図に示す機械語のアドレスとを対応させたものでわる
。このテーブルから明らかなように、ソースプログラム
の1行目の文に対応する機械語は400番地から始まり
、また前記ソースプログラムの3行目の文に対応する機
械語は404番地から始まる。
ログラム、例えば第2図に示すようなC言語で記述され
たソースプログラムをコンパイルして第3図に示す機械
語のオブジェクトプログラムを作成するとき、これと−
緒に生成される行番号・機械語アドレス対応表8を記憶
しているものであり、具体的ては第3図に示すようなテ
ーブルの機械語アドレス部分を記憶している。この場合
、第3図に示すオブジェクトプログラムはマイクロプロ
セッサMC68000をターゲットCPUとして第2図
のソースプログラムをコンパイルしたものであり、また
第4図は第2図に示すソースプログラムの行番号と、第
3図に示す機械語のアドレスとを対応させたものでわる
。このテーブルから明らかなように、ソースプログラム
の1行目の文に対応する機械語は400番地から始まり
、また前記ソースプログラムの3行目の文に対応する機
械語は404番地から始まる。
また前記アドレステーブル検索部6は、制御部9からの
指令に基づいて前記アドレステーブル5を検索するもの
で6D、この検索結果は前記制御部9に送られる。
指令に基づいて前記アドレステーブル5を検索するもの
で6D、この検索結果は前記制御部9に送られる。
また前記エミュレータ制御部7は、前記制御部9からの
指令に基づいて前記エミュレータ3に指示を出したり、
このエミュレ〜り3からの報告を受けたりするものであ
り、前記報告は制御部9に送られる。
指令に基づいて前記エミュレータ3に指示を出したり、
このエミュレ〜り3からの報告を受けたりするものであ
り、前記報告は制御部9に送られる。
制御部9は、デバッガ本体2を制御するものであり、前
記CRTターミナル1からデバッグに必要なコマンドを
入力されれば、これに応じて前記エミュレータ3、被デ
バツグ装置4を制御し、この制御結果を前記CRTター
ミナル1に表示させる。
記CRTターミナル1からデバッグに必要なコマンドを
入力されれば、これに応じて前記エミュレータ3、被デ
バツグ装置4を制御し、この制御結果を前記CRTター
ミナル1に表示させる。
次に、第5図に示すフローチャートを参照しながらこの
実施例の動作を説明する。
実施例の動作を説明する。
まず、デバッグ作業に先だち、高級言語で記述されたソ
ースプログラムをコンパイルして第3図に示すようなオ
ブジェクトプログラムを作成し、これを被デバツグ装置
4内にあるメモリの所定番地、つまりこの例では400
番地から順に記憶させるとともて、コンパイル時に作成
した行番号・アドレス対応表8から各行番号に対応する
機械語アドレス、つまりこの例では400番地を示す値
400゜404番地を示す値404.・・・・・・・・
・をデバッガ本体2のアドレステーブル5に記憶される
。次いで、CRTターミナル1から高級言語のステップ
実行を行なうべきコマンドが入力されれば、デバッガ本
体2がステップ実行を開始し、ステップSTIでエミュ
レータ3に対し被デバツグ装置4のメモリに記憶されて
いる前記オブジェクトプログラムを1機械語だけフェッ
チしてステップ実行を行なうことを指示する。エミュレ
ータ3はこの指示を受けて実際に1機械語だけステップ
実行した後、ステップST2で次の機械語が格納されて
いるアドレスを示すPC(プログラムカウンタ)の値を
デバッガ本体2に報告する。この報告は、例えば%PC
=4001等のメツセージで行なわれる。次いでステッ
プST3で、デバッガ本体2の制御部8がアドレスチー
グル検索部6を制御してステップST2で受けたPCの
値がアドレステーブル5に登録されているか、換言すれ
ば、ソースプログラムの行番号に対応したアドレスであ
るかどうかをチェックする。ここで、前記PCの値がア
ドレステーブル5に存在しなければ、行番号に対応して
いないアドレスに停止中であることを意味し、未だ前記
ソースプログラムにおける行単位のステップ実行を完了
していないので、ステップSTIに戻って上述した処理
が繰返し実行される。また、前記PCの値がアドレステ
ーブル5に存在すれば、前記ソースプログラムにおける
行番号に対応したアドレスに至ったこと、つまり行単位
のステップ実行が完了したことになるから、デバッガ本
体2はCRTターミナルlに行単位のステップ実行が完
了したことを表示させてステップ実行動作を終了する。
ースプログラムをコンパイルして第3図に示すようなオ
ブジェクトプログラムを作成し、これを被デバツグ装置
4内にあるメモリの所定番地、つまりこの例では400
番地から順に記憶させるとともて、コンパイル時に作成
した行番号・アドレス対応表8から各行番号に対応する
機械語アドレス、つまりこの例では400番地を示す値
400゜404番地を示す値404.・・・・・・・・
・をデバッガ本体2のアドレステーブル5に記憶される
。次いで、CRTターミナル1から高級言語のステップ
実行を行なうべきコマンドが入力されれば、デバッガ本
体2がステップ実行を開始し、ステップSTIでエミュ
レータ3に対し被デバツグ装置4のメモリに記憶されて
いる前記オブジェクトプログラムを1機械語だけフェッ
チしてステップ実行を行なうことを指示する。エミュレ
ータ3はこの指示を受けて実際に1機械語だけステップ
実行した後、ステップST2で次の機械語が格納されて
いるアドレスを示すPC(プログラムカウンタ)の値を
デバッガ本体2に報告する。この報告は、例えば%PC
=4001等のメツセージで行なわれる。次いでステッ
プST3で、デバッガ本体2の制御部8がアドレスチー
グル検索部6を制御してステップST2で受けたPCの
値がアドレステーブル5に登録されているか、換言すれ
ば、ソースプログラムの行番号に対応したアドレスであ
るかどうかをチェックする。ここで、前記PCの値がア
ドレステーブル5に存在しなければ、行番号に対応して
いないアドレスに停止中であることを意味し、未だ前記
ソースプログラムにおける行単位のステップ実行を完了
していないので、ステップSTIに戻って上述した処理
が繰返し実行される。また、前記PCの値がアドレステ
ーブル5に存在すれば、前記ソースプログラムにおける
行番号に対応したアドレスに至ったこと、つまり行単位
のステップ実行が完了したことになるから、デバッガ本
体2はCRTターミナルlに行単位のステップ実行が完
了したことを表示させてステップ実行動作を終了する。
このようにこの実施例では、高級言語を行単位でステッ
プ実行させることができるので、1回の操作で行単位の
実行結果を見ることができ、高級言語で記述されたプロ
グラムのデバッグ効率を向上させることができる。
プ実行させることができるので、1回の操作で行単位の
実行結果を見ることができ、高級言語で記述されたプロ
グラムのデバッグ効率を向上させることができる。
第1図はこの発明による高級言語のステップ実行方式の
一実施例を適用したデバッグ装置の一例を示すブロック
図、第2図はこの実施例でデバッグされるソースプログ
ラム例を示す図、第3図は第2図に示す高級言語による
ソースプログラムをコンパイルして生成した機械語の一
例を示す図、第4図は第3図に示す機械語を生成したと
きにコンパイラから出力される行番号・アドレス対応表
の一例を示す図、第5図はこの実施例における高級言語
のステップ実行動作を説明するだめのフローチャートで
ある。 2・・・デバッガ本体、4・・・被デバツグ装置、5・
・・アドレステーブル、6・・・アドレステーブル検索
部、8・・・行番号・アドレス対応表。
一実施例を適用したデバッグ装置の一例を示すブロック
図、第2図はこの実施例でデバッグされるソースプログ
ラム例を示す図、第3図は第2図に示す高級言語による
ソースプログラムをコンパイルして生成した機械語の一
例を示す図、第4図は第3図に示す機械語を生成したと
きにコンパイラから出力される行番号・アドレス対応表
の一例を示す図、第5図はこの実施例における高級言語
のステップ実行動作を説明するだめのフローチャートで
ある。 2・・・デバッガ本体、4・・・被デバツグ装置、5・
・・アドレステーブル、6・・・アドレステーブル検索
部、8・・・行番号・アドレス対応表。
Claims (1)
- 高級言語で記述されたソースプログラムに基づいて動作
する計算機をステップ実行させる高級言語のステップ実
行方式において、前記ソースプログラムの1行をステッ
プ実行単位として前記1行に対応した機械語を連続的に
実行させることを特徴とする高級言語のステップ実行方
式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60019865A JPS61180342A (ja) | 1985-02-06 | 1985-02-06 | 高級言語のステツプ実行方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60019865A JPS61180342A (ja) | 1985-02-06 | 1985-02-06 | 高級言語のステツプ実行方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS61180342A true JPS61180342A (ja) | 1986-08-13 |
Family
ID=12011113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60019865A Pending JPS61180342A (ja) | 1985-02-06 | 1985-02-06 | 高級言語のステツプ実行方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61180342A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0749799A (ja) * | 1990-04-02 | 1995-02-21 | Siemens Ag | 自動化装置および方法 |
US6087870A (en) * | 1997-05-16 | 2000-07-11 | Nec Corporation | Output circuit which switches an output state in accordance with a timing signal and a delay signal of the timing signal |
KR100340049B1 (ko) * | 1999-09-16 | 2002-06-12 | 오길록 | 시나리오를 이용한 칠 프로그램 시험 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56114061A (en) * | 1980-02-12 | 1981-09-08 | Sharp Corp | Program electronic computer |
JPS5752951A (en) * | 1980-09-17 | 1982-03-29 | Nec Corp | Program confirming equipment |
JPS59202546A (ja) * | 1983-05-02 | 1984-11-16 | Omron Tateisi Electronics Co | デバツグ装置 |
JPS59202548A (ja) * | 1983-05-02 | 1984-11-16 | Omron Tateisi Electronics Co | デバツグ装置 |
-
1985
- 1985-02-06 JP JP60019865A patent/JPS61180342A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56114061A (en) * | 1980-02-12 | 1981-09-08 | Sharp Corp | Program electronic computer |
JPS5752951A (en) * | 1980-09-17 | 1982-03-29 | Nec Corp | Program confirming equipment |
JPS59202546A (ja) * | 1983-05-02 | 1984-11-16 | Omron Tateisi Electronics Co | デバツグ装置 |
JPS59202548A (ja) * | 1983-05-02 | 1984-11-16 | Omron Tateisi Electronics Co | デバツグ装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0749799A (ja) * | 1990-04-02 | 1995-02-21 | Siemens Ag | 自動化装置および方法 |
US6087870A (en) * | 1997-05-16 | 2000-07-11 | Nec Corporation | Output circuit which switches an output state in accordance with a timing signal and a delay signal of the timing signal |
KR100340049B1 (ko) * | 1999-09-16 | 2002-06-12 | 오길록 | 시나리오를 이용한 칠 프로그램 시험 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6981248B2 (en) | Conditional breakpoint encountered indication | |
US8448152B2 (en) | High-level language, architecture-independent probe program compiler | |
KR20000028921A (ko) | 반도체 시험장치의 프로그램 작성 시스템 | |
US6330691B1 (en) | Use of dynamic translation to provide breakpoints in non-writeable object code | |
JPS61180342A (ja) | 高級言語のステツプ実行方式 | |
JPS62214443A (ja) | エミユレ−シヨン実行方法 | |
JP2007004516A (ja) | 組込みシステムのプログラムデバッグ方法 | |
JP2659366B2 (ja) | デバッグ方法及びその装置 | |
WO2024069730A1 (ja) | デバッグ装置及びデバッグ方法 | |
JPH0465729A (ja) | シンボリック・デバッガ | |
JPS61180344A (ja) | 高級言語のステツプ実行システム | |
JPH0510692B2 (ja) | ||
JP2827724B2 (ja) | プログラムデバッグ処理方法 | |
JPS626260B2 (ja) | ||
JP2006350676A (ja) | 組込みシステムのプログラムデバッグ方法 | |
JPH06242943A (ja) | ソースコードレベルデバッグ装置 | |
JPS6292034A (ja) | プログラムデバツグ装置 | |
JPS6292032A (ja) | プログラムテスト方法 | |
JPH0262639A (ja) | 言語デバッガの中断方式 | |
JP2697230B2 (ja) | デバッグ支援装置 | |
JP2002073370A (ja) | デバッグ支援装置およびその装置によるデバッグ方法 | |
JPS63180142A (ja) | デバツグ装置 | |
JPS63163543A (ja) | 情報処理装置 | |
JPS63292338A (ja) | 最適化プログラムデバツグ方式 | |
JPH0255811B2 (ja) |