JPH02207343A - デバッグ装置 - Google Patents

デバッグ装置

Info

Publication number
JPH02207343A
JPH02207343A JP1027701A JP2770189A JPH02207343A JP H02207343 A JPH02207343 A JP H02207343A JP 1027701 A JP1027701 A JP 1027701A JP 2770189 A JP2770189 A JP 2770189A JP H02207343 A JPH02207343 A JP H02207343A
Authority
JP
Japan
Prior art keywords
conversion table
machine language
terms
translation
program
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
Application number
JP1027701A
Other languages
English (en)
Inventor
Masaya Ishikawa
雅也 石川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1027701A priority Critical patent/JPH02207343A/ja
Publication of JPH02207343A publication Critical patent/JPH02207343A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、デバッグ装置に関し、特に、作成したコンピ
ュータプログラムに対して、ソースプログラムレベルの
用語でデバッグを行うため、ソースプログラムレベルの
用語と機械語レベルの用語との間の対応関係を示す変換
テーブルを有するデバッグ装置に関するものである。
〔従来の技術〕
従来、生成したコンピュータプログラムに対して、ソー
スレベルの用語でデバッグを行うためのデバッグ作業に
は、ソースプログラムレベルの用語と機械語レベルの用
語との間の対応関係を示す変換テーブルが備えられてい
る。デバッグ装置では、この変換テーブルを利用して、
ソースレベルの用語でデバッグ作業を行う。このため1
例えば、特開昭57−23154号公報に記載されるよ
うに、デバッグ装置において、プログラム翻訳時に、機
械語プログラム中に割込みコードを付加すると共に、変
換テーブルに用語の対応関係を付加するような構成とさ
れる。すなわち、翻訳プログラムでソースプログラムを
機械語プログラムに翻訳すると同時に、翻訳した機械語
プログラムに割込みコードを挿入し、かつ翻訳により決
定されたソースレベルの用語と機械語レベルの用語との
間の対応関係を変換テーブルに登録し、付加するように
している。
また、例えば、特開昭58−94041号公報に記載の
ように、この種のデバッグ装置には、シンボルテーブル
を機械語プログラムとは別に保持しているデバッグ装置
の例もある。
〔発明が解決しようとする課題〕
ところで、上述したような従来の技術のデバッグ装置に
おいては、複数の翻訳単位の間でソースレベルの用語が
共用される場合の配慮がなされていない、このため、各
々の翻訳単位毎に、その翻訳単位内で必要となるソース
レベルの用語に対する変換テーブルが出力されるため、
共用する用語に対しては、その変換テーブルが重複して
出力され、変換テーブルの量が多く出力されてしまうと
いう問題がある。
また、複数の翻訳単位の間で共用するソースレベル用語
の追加、変更があった場合、その用語を利用している翻
訳単位を翻訳し直し、変換テーブルを再作成する必要が
あるが、共通する用語に対して重複して出力されている
変換テーブルに対して、全ての変換テーブルを正しく再
作成する必要がある。このため、一部の変換テーブルで
も再翻訳し忘れると、翻訳単位の変換テーブルの内容が
不正となり、その修正の作業が煩雑になる。また、この
場合には、正しいデバッグ作業を行うことができない。
本発明は、上記問題点を解決するためになされたもので
ある。
本発明の目的は、ソースレベルの用語と機械語レベルの
用語の変換テーブルの量を少なくし、デバッグ作業が効
率よく行えるデバッグ装置を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本
明細書の記述及び添付図面によって明らかになるであろ
う。
〔課題を解決するための手段〕
上記目的を達成するため、本発明においては、翻訳プロ
グラムに対して、ソースレベルの用語と機械語レベルの
用語との間の対応関係を示す変換テーブルを有するデバ
ッグ装置において、変換テーブルを、1つの翻訳単位に
個有な用語に対する第1変換テーブルと、複数の翻訳単
位に共用する用語に対する第2変換テーブルとに分けて
設けることを特徴とする。
また、本発明においては、デバッグ装置の変換テーブル
を構成する場合に、ソースレベルの用語を1つの翻訳単
位に個有な用語と複数のコンパイル単位が共用される用
語に分類し、翻訳単位に個有な用語の変換対応のみを第
1変換テーブルに出力し、共用する用語についてはその
用語に対する第2変換テーブルの存在場所に関する情報
のみを出力して、変換テーブルを構成する。
〔作用〕
前記手段によれば、デバッグ装置において、翻訳プログ
ラムに対してソースレベルの用語と機械語レベルの用語
と間の変換テーブルは、1つの翻訳単位に個有な用語に
対する第1変換テーブルと。
複数の翻訳単位に共用する用語に対する第2変換テーブ
ルとに分けて設けた構成とする。
これにより、複数の翻訳単位に共用する用語に対する変
換テーブルは一元化され、生成される変換テーブルは多
くならない。
また、前記手段によれば、デバッグ装置の変換テーブル
を構成する場合に、ソースレベルの用語を1つの翻訳単
位に個有な用語と複数のコンパイル単位が共用される用
語に分類し、翻訳単位に個有な用語の変換対応のみを第
1変換テーブルに出力し、共用する用語についてはその
用語に対する第2変換テーブルの存在場所に関する情報
のみを出力して、変換テーブルを構成する。
これにより、共用する用語に対する参照側では、共用す
る用語の変換テーブルの存在場所の情報のみを参照のた
めに持つことになる。従って、デバッグ時に必要となる
変換テーブルの容量が削減され、また、共用する用語に
対する変換テーブルの情報の不一致を防止することがで
きる。
すなわち、ソースレベルの用語には、コードに関する用
語(翻訳プログラムが生成する文番号等)とデータに関
する用語(データ名称等)とがある。
コードに関する用語は、翻訳単位毎に異なり、個有な用
語となっている。また、データに関する用語は、ある翻
訳単位内で定義され、その翻訳単位に個有な用語と、別
の翻訳単位内で定義され、複数の翻訳単位で共用される
用語とがある。このため、翻訳時に出力する変換テーブ
ルは、その翻訳単位に個有なソースレベルの用語に対す
る機械語レベルの情報と、共用している用語が存在する
翻訳単位名の情報とで構成される。与えられたデバッグ
指示が翻訳単位に個有な用語に関するものであれば、そ
の翻訳単位に対する変換テーブルより、機械語レベルの
情報を取得し、また、共用する用語に関するものであれ
ば、その用語が定義されている翻訳単位に対する変換テ
ーブルから機械語レベルの情報を取得する。そして、取
得した機械語レベルの情報をもとに、デバッグ指示に対
応する処理を行う、このような処理を行うことにより、
デバッグ作業を効率よく行うことができる。
〔実施例〕
以下、本発明の一実施例を図面を用いて具体的に説明す
る。
なお、実施例を説明するための全回において、同一要素
のものは同一符号を付け、その繰り返しの説明は省略す
る。
第1図は1本発明の一実施例にかかるデバッグ装置の全
体のシステム構成を示すブロック図である。第1図にお
いて、1は各々の翻訳単位に分割された高級言語のソー
スプログラム、2は翻訳処理部、3は各々の翻訳単位の
機械語プログラムである。この機械語プログラム8には
、当該翻訳プログラム3に個有の用語の変換テーブルを
含んでいる。4は結合編集処理部、5は共用する用語の
変換テーブル、6はデバッグ機能処理実行部、7は実行
単位の機械語プログラムである。実行単位の機械語プロ
グラム7には、当該機械語プログラム7に個有の用語の
変換テーブルを含んでいる。
8はデバッグ指示入力装置、9はデバッグ結果出力装置
である。
このデバッグ装置の全体のシステム構成を参照して、翻
訳プログラムが生成され、デバッグ処理が行われる一連
の処理システムを説明する。各々の翻訳単位に分けられ
たソースプログラム1が翻訳処理部2に供給され、翻訳
処理部2は、各々のソースプログラム1を翻訳し、機械
語プログラム3および共用の用語に対する変換テーブル
5を作成する。そして、それぞれの翻訳単位で翻訳した
機械語プログラム3を結合編集処理部4により、計算機
上での動作に適した形に結合編集して実行単位の機械語
プログラム7を作成する。また、デバッグ機能処理実行
部6は、デバッグ指示入力装置8より与えられたソース
レベルの用語によるデバッグ指示により、実行単位とし
た機械語プログラム7に対するデバッグ処理を行う、こ
の場合、デバッグ機能処理実行部6が、実行単位の機械
語プログラム7に含まれている変換テーブルおよび共用
する用語に対する変換テーブル5を参照して解釈し、デ
バッグ処理を行い、デバッグ結果をデバッグ結果出力装
置9に出力する。
第2図、第3図、第4図、および第5図は、各々の種類
の異なる翻訳単位のソースプログラムに対して翻訳処理
部が生成した機械語プログラムと共用データに対する用
語の変換テーブルとの翻訳処理例を説明するための図で
ある。
第2図は、翻訳単位のソースプログラムに共用する共用
データの記述は無く、共用する用語の変換テーブルが生
成されない場合のソースプログラムから翻訳処理され生
成された機械語プログラムを示す図である。この場合、
図示するように、翻訳単位のソースプログラム12の記
述は、個有データの記述12aおよび処理の記述12b
により形成されている。このソースプログラム12を翻
訳処理部2により翻訳処理すると、機械語プログラム3
2としては1個有データの記述12aに対応して機械語
コードの個有データコード32aが生成され、処理の記
述12bに対応して、処理記述の個々のステートメント
の機械語コードとして、デバッガの呼出しコード30を
付加した機械語コードの各々の文コード32bが生成さ
れる。また1個有データコード32aに対して、ソース
レベルの用語と機械語レベルの用語との間の関係を示す
個有データ用の変換テーブル32cが生成される。
なお、処理記述の個々のステートメントの機械語コード
として、デバッガの呼出しコード30が付加されて、機
械語コードの各々の文コード32bが生成されるのは、
デバッグオプション指定有で翻訳された場合である。デ
バッグオプション指定無しで翻訳された場合には、機械
語プログラムは。
デバッガの呼出しコード30が付加されず、機械語コー
ドの各々処理の文コードのみで生成された機械語プログ
ラムとなる。
このように1個有データの記述と処理の記述からなるソ
ースプログラム12をデバッグオプション指定有で翻訳
した場合、個有データコード32aとデバッグ機能の呼
出コードが挿入付加された処理の文コード32bと、個
有データおよび処理の記述からなるソースプログラム1
2に個有なソースレベルの用語と機械語レベルの用語の
間の変換テーブル32cとで構成される翻訳単位の機械
語プログラム32が作成される。
第3図は、翻訳単位のソースプログラムにおいて共用デ
ータを参照するための参照データの記述はあるが、共用
データおよび個有データの記述はなく、共用データの用
語の変換テーブルが生成されない場合のソースプログラ
ムと翻訳処理され生成された機械語プログラムとを示す
図である。この場合、図示するように、翻訳単位のソー
スプログラム13の記述は、参照データの記述13aお
よび処理の記述13bにより形成されている。このソー
スプログラム13を翻訳処理部2により翻訳処理すると
、機械語プログラム33としては、参照データの記述1
3aに対応しての機械語コードは生成されず、処理の記
述13bに対応してのみ、処理記述の個々のステートメ
ントの機械語コードとして、デバッガの呼出しコード3
0を付加した機械語コードの各々の文コード33bが生
成される。また、ソースレベルの用語と機械語レベルの
用語との間の関係を示すため、この翻訳単位で用いられ
ているデータ(参照データおよび個有データ)に対して
の用語の変換テーブル33cが生成される。
このように、参照データの記述13aと処理の記述13
1?からなるソースプログラム13を、デバッグオプシ
ョン指定有で翻訳すると、デバッグ機能の呼出コードが
挿入された処理の文コード33b、および参照データと
処理の記述からなるソースプログラム13が参照してい
る参照データの変換テーブルの存在場所および当該翻訳
単位に個有な用語の変換テーブル33cで構成される機
械語プログラム33が作成される。
第4図は、翻訳単位のソースプログラムに共用データの
記述があり、共用データの用語の変換テーブルが生成さ
れる場合のソースプログラムと翻訳処理され生成された
機械語プログラムとを示す図である。この場合、図示す
るように、翻訳単位のソースプログラム14の記述は、
共用データの記述14aおよび処理の記述14bにより
形成されており、データの記述として共用データの記述
14aのみがある場合である。このソースプログラム1
4を翻訳処理部2によりデバッグオプション指定無しで
翻訳処理すると、生成される機械語プログラム34とし
ては、共用データの記述14aに対応して機械語コード
の共用データコード34aが生成され、処理の記述14
bに対応して、処理記述の個々のステートメントの機械
語コードとして、処理の各々の文コード34bが生成さ
れる。なお、この翻訳処理ではデバッグオプションが指
定されておらず、文コード34bにデバッガの呼出しコ
ードは付加されない、また、この翻訳処理では、ここで
用いられる共用データに対して、ソースレベルの用語と
機械語レベルの用語との間の関係を示すための変換テー
ブルとして、別に、共用データに対する関係を示す用語
の変換テーブル54が生成される。これにより、この変
換テーブル54は、他の翻訳単位の機械語プログラムか
らの参照が可能となる。
このように、共用データの記述14aと処理の記述14
bからなるソースプログラム14をデバッグオプション
指定無しで翻訳処理部2により翻訳処理すると、共用デ
ータコード34aおよび処理の各々の文コード34bか
ら構成される機械語プログラム34が生成され、また、
別に、共用データに対するソースレベルの用語と機械語
レベルの用語の変換テーブル54が作成される。
第5図は、翻訳単位のソースプログラムにデータの記述
として、参照データ、共用データ、および個有データの
記述があり、共用データの用語の変換テーブルが生成さ
れる場合のソースプログラムと翻訳処理され生成された
機械語プログラムとを示す図である。この場合、翻訳単
位のソースプログラム15の記述は、データの記述とし
て、参照データの記述15a、共用データの記述15b
、および個有データの記述15cを含んでいる。このデ
ータの記述と処理の記述15dにより、ソースプログラ
ムの全体の記述を形成している。このソースプログラム
15を翻訳処理部2によりデバッグオプション指定有で
翻訳処理すると、前述の処理と同様にして、生成される
機械語プログラム35は、各データの記述(共用データ
の記述15bおよび個有データの記述15G)に対応し
て機械語コードの各々のデータコード(共用データコー
ド35bおよび個有データコード35c)が生成され、
処理の記述15dに対応して、処理記述の個々のステー
トメントの機械語コードとして、デバッガの呼出しコー
ドが付加された処理の各々の文コード35dが生成され
て、構成される。また、この翻訳処理では、ここ、で用
いられる共用データに対して、ソースレベルの用語と機
械語レベルの用語との間の関係を示すための変換テーブ
ルとして、別に、共用データに対する関係を示す用語の
変換テーブル55が生成される。これにより、この変換
テーブル55は、他の翻訳単位の機械語プログラムから
の参照が可能となる。
このように、構成されているソースプログラム15を、
デバッグオプション指定有で翻訳処理した場合、共用デ
ータコード35b9個有データコード35C,デバッガ
の呼出しコード30が挿入付加された処理の各々の文コ
ード35d、および各々のデータ(参照データ、共用デ
ータ、個有データ)の記述と処理の記述からなるソース
プログラム15が参照している各々のデータの変換テー
ブルの存在場所および翻訳単位に個有な用語の変換テー
ブル35eから構成される機械語プログラム35と、更
に別に、共用データの記述に対するソースレベルの用語
と機械語レベルの用語の変換テーブル55が作成される
第6図は、ソースレベルの用語で与えられたデバッグ指
示によりデバッグ処理を行い、デバッグ結果を得る処理
を示すフローチャートである。
第6図を参照して、デバッグ作業の一連の処理フローを
説明する。このデバッグ処理は、デバッグ機能処理実行
部6(第1図)が主体として行う処理プロセスである。
すなわち、ソースレベルの用語で与えられるデバッグ指
示からデバッグ結果を得るまでの処理を例として説明す
る。この処理は、デバッグ指示入力装置8から、ソース
レベルの用語によるデバッグ指示が入力されることによ
り開始される。デバッグ機能処理実行部6が、このデバ
ッグ指示入力を解釈し、デバッグ指示に対応してデバッ
グ処理動作を行う。
まず、ステップ61において、ソースレベルの用語によ
るデバッグ指示が入力されると、ステップ62の判定処
理、ステップ63の判定処理、またはステップ64の判
定処理により、デバッグ指示入力の内容を判定する。す
なわち、デバッグ指示入力が終了指示であれば、ステッ
プ62において、これを判定して、デバッグ処理を終了
する。
個有データに対する指示であれば、ステップ63におい
て、これを判定して、ステップ67に進み、ステップ6
7の処理で、実行単位の機械語プログラム7中の個有デ
ータに対する変換テーブルを探す0次に、ステップ68
からのデバッグ処理を行う。
ステップ68において、探し出した実行単位の機械語プ
ログラム7中の変換テーブルをもとにソースレベルの用
語で与えられたデバッグ指示を機械語レベルの用語によ
るデバッグ指示に変換する。
次に、ステップ69において、機械語レベルでのデバッ
グ指示を実行する6次に、ステップ70で。
デバッグ指示の実行により得られた機械語レベルのデバ
ッグ結果を、先に使用した変換テーブルをもとに機械語
レベルの用語に対するソースレベルの用語に逆変換し、
ソースレベルの情報を得る。
次に、ステップ71において、デバッグ結果を出力装置
9に表示し、ステップ61に戻り、ステップ61からの
処理を続行して、次のデバッグ指示入力に対する処理を
行う。
一方、参照データに対するデバッグ指示であれば、この
デバッグ指示をステップ64で判定して。
ステップ65に進む、ステップ65の処理では。
実行単位の機械語プログラム7中の参照データに対する
変換テーブルを探し、変換テーブル中の参照データに対
する共用データの変換テーブル5の情報を得る1次に、
ステップ66に進んで、得た情報をもとに共用データの
変換テーブルを探す。
次に、ステップ68に進み1個有データに対するデバッ
グ指示の場合と同様に、ステップ68からのデバッグ処
理を行う。
また、ステップ62.ステップ63.およびステップ6
4の判定処理の判別されない他のデバッグ指示であれば
、すなわち、共用データに対するデバッグ指示であれば
、そのまま、共用データの変換テーブルを探す処理に移
れば良いので、ステップ66に進み、共用データに対す
る変換テーブルを探し1次にステップ68に進んで、上
述のようなステッ゛プロ8からのデバッグ処理を行う。
以下、デバッグの終了指示が入力されるまで、前述の処
理を繰り返す。
以上、説明したように、本実施例のデバッグ装置によれ
ば、共用データに対する変換テーブルを一元化して、ソ
ースレベルの用語と機械語レベルの用語の変換テーブル
の量を少なくできる。また、変換テーブルの量が少なく
なるので、翻訳し忘れ等の作業ミスが防止することがで
き、変換テーブルの内容が不正となることを防止するこ
とができる。結果的に、デバッグ作業が効率よく行える
以上1本発明を実施例にもとづき具体的に説明したが、
本発明は、前記実施例に限定されるものではなく、その
要旨を逸脱しない範囲において種々変更可能であること
は言うまでもない。
〔発明の効果〕
以上、説明したように1本発明によれば、共用するデー
タに対する変換テーブルは、一元化され、参照側では参
照する共用データの変換テーブルの存在場所の情報のみ
を持つので、デバッグ時に必要となる変換テーブルの容
量が削減および共用データに対する情報の不一致が防止
できる。結果として、デバッグ作業が効率よく行える。
【図面の簡単な説明】
第1図は、本発明の一実施例にかかるデバッグ装置の全
体のシステム構成を示すブロック図、第2図、第3図、
第4図、および第5図は、各々の種類の異なる翻訳単位
のソースプログラムに対して翻訳処理部が生成した機械
語プログラムと共用データに対する用語の変換テーブル
との翻訳処理例を説明するための図、 第6図は、ソースレベルの用語で与えられたデバッグ指
示によりデバッグ処理を行い、デバッグ結果を得る処理
を示すフローチャートである。 図中、 1 、12.13.14.15・・・ソースプ
ログラム、2・・・翻訳処理部、3 、32.33.3
4.35・・・機械語プログラム(翻訳単位)、4・・
・結合編集処理部、5゜54、55・・・共用データの
変換テーブル、6・・・デバッグ機能処理実行部、7・
・・機械語プログラム(実行単位)、8・・・デバッグ
指示入力装置、9・・・デバッグ結果出力装置。

Claims (1)

  1. 【特許請求の範囲】 1、翻訳プログラムに対して、ソースレベルの用語と機
    械語レベルの用語との間の対応関係を示す変換テーブル
    を有するデバッグ装置において、前記変換テーブルを、
    1つの翻訳単位に個有な用語に対する第1変換テーブル
    と、複数の翻訳単位に共用する用語に対する第2変換テ
    ーブルとに分けて設けることを特徴とするデバッグ装置
    。 2、請求項1に記載のデバッグ装置の変換テーブル構成
    方法であって、ソースレベルの用語を1つの翻訳単位に
    個有な用語と複数のコンパイル単位が共用される用語に
    分類し、翻訳単位に個有な用語の変換対応のみを第1変
    換テーブルに出力し、共用する用語についてはその用語
    に対する第2変換テーブルの存在場所に関する情報のみ
    を出力して、変換テーブルを構成することを特徴とする
    デバッグ装置の変換テーブル構成方法。
JP1027701A 1989-02-08 1989-02-08 デバッグ装置 Pending JPH02207343A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1027701A JPH02207343A (ja) 1989-02-08 1989-02-08 デバッグ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1027701A JPH02207343A (ja) 1989-02-08 1989-02-08 デバッグ装置

Publications (1)

Publication Number Publication Date
JPH02207343A true JPH02207343A (ja) 1990-08-17

Family

ID=12228287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1027701A Pending JPH02207343A (ja) 1989-02-08 1989-02-08 デバッグ装置

Country Status (1)

Country Link
JP (1) JPH02207343A (ja)

Similar Documents

Publication Publication Date Title
EP0406602B1 (en) Method and apparatus for debugging parallel programs by serialization
US6219831B1 (en) Device and method for converting computer programming languages
JPH08202545A (ja) ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法
JPH0766342B2 (ja) プログラムテスト装置
JPH02207343A (ja) デバッグ装置
JP3327674B2 (ja) プログラム翻訳装置及び方法
Spencer How to Steal Code-or-Inventing The Wheel Only Once.
JPS5922140A (ja) 対話型コンパイル方式
JP2659366B2 (ja) デバッグ方法及びその装置
JP2827724B2 (ja) プログラムデバッグ処理方法
JPH03144832A (ja) プリコンパイラ言語プログラムのシンボリックデバッグ装置
JP2590083B2 (ja) ソース・プログラム翻訳処理方法
JPH01273144A (ja) ソフトウエア開発支援装置
JPS6139134A (ja) プログラム変換方法
JPH0250730A (ja) 共通機械語による言語変換方式
JPH0236419A (ja) ソースコードの自動翻訳実行方式
JPH01147624A (ja) 言語処理系システム
JPH02253443A (ja) プログラム生成方法
JPH05127945A (ja) プログラム実行状況解析方式
JPH06110750A (ja) 関係データベースをアクセス可能なアプリケーションプログラムのメイクファイルの自動生成方法
Kiper Techniques for the Integration of Existing Tools
JPH0193826A (ja) 高級言語プログラムのダイナミックステップカウント方式
JPH04209029A (ja) 並列処理プログラム翻訳処理装置
Metcalf Design conventions for FORTRAN programs
JPH0353334A (ja) 言語処理プログラムのデバッグ情報出力処理方式