JPS63259736A - デバツグ用セグメント分割方式 - Google Patents
デバツグ用セグメント分割方式Info
- Publication number
- JPS63259736A JPS63259736A JP62094558A JP9455887A JPS63259736A JP S63259736 A JPS63259736 A JP S63259736A JP 62094558 A JP62094558 A JP 62094558A JP 9455887 A JP9455887 A JP 9455887A JP S63259736 A JPS63259736 A JP S63259736A
- Authority
- JP
- Japan
- Prior art keywords
- debugging
- program
- segment
- instruction
- information
- 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 18
- 238000000926 separation method Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は計算機システムにおいてデバッグ手段を有する
コンパイラを用いて行われるプログラムデバッグ方式に
関し、特に目的プログラム中にデバッグ用命令およびデ
バッグ用情報を出力可能なコンパイラによるデバッグ用
セグメント分割方式〔従来の技術〕 プログラミング言語で作成されたプログラムのデバッグ
を支援するために、例えばルーチン間の引数の整合性を
チェックしたり、配列要素の添字値の範囲をチェックし
たり、動的なトレースを可能としたりするためのデバッ
グ用命令およびデバッグ用情報を出力する機能をもつ従
来のコンパイラにおいては、デバッグ用命令およびデバ
ッグ用情報を目的プログラム中の命令セグメントおよび
データセグメントに混在させて出力していた。
コンパイラを用いて行われるプログラムデバッグ方式に
関し、特に目的プログラム中にデバッグ用命令およびデ
バッグ用情報を出力可能なコンパイラによるデバッグ用
セグメント分割方式〔従来の技術〕 プログラミング言語で作成されたプログラムのデバッグ
を支援するために、例えばルーチン間の引数の整合性を
チェックしたり、配列要素の添字値の範囲をチェックし
たり、動的なトレースを可能としたりするためのデバッ
グ用命令およびデバッグ用情報を出力する機能をもつ従
来のコンパイラにおいては、デバッグ用命令およびデバ
ッグ用情報を目的プログラム中の命令セグメントおよび
データセグメントに混在させて出力していた。
第4図は、従来のコンパイラによりデバッグ用オプショ
ン指定時に生成される目的プログラム6゜の構造の一例
を示す図である。この図がらも判るように、目的プログ
ラム60の命令セグメント61中にデバッグ用命令63
等が出力されて埋め込まれるとともに、データセグメン
ト62中にデバッグ用情報64.65等が出力されて埋
め込まれるのでデバッグ用の部分を簡単には分離するこ
とができない。
ン指定時に生成される目的プログラム6゜の構造の一例
を示す図である。この図がらも判るように、目的プログ
ラム60の命令セグメント61中にデバッグ用命令63
等が出力されて埋め込まれるとともに、データセグメン
ト62中にデバッグ用情報64.65等が出力されて埋
め込まれるのでデバッグ用の部分を簡単には分離するこ
とができない。
このような従来のコンパイラのデバッグ用命令およびデ
バッグ用情報の出力方式では、第3図に示すように、デ
バッグを支援するためのデバッグ用命令およびデバッグ
用情報を使用したり使用しなかったりするたびに、原始
プログラム4oのコンパイラ50による目的プログラム
60へのコンパイルおよび目的プログラム60のプログ
ラム実行手段70による実行の繰返しが必要であった。
バッグ用情報の出力方式では、第3図に示すように、デ
バッグを支援するためのデバッグ用命令およびデバッグ
用情報を使用したり使用しなかったりするたびに、原始
プログラム4oのコンパイラ50による目的プログラム
60へのコンパイルおよび目的プログラム60のプログ
ラム実行手段70による実行の繰返しが必要であった。
また、プログラムのデバッグが完了したときに、目的プ
ログラム60のサイズを小さくするためにデバッグ用オ
プションの指定無しで原始プログラム40を再コンパイ
ルすることが必要であった。
ログラム60のサイズを小さくするためにデバッグ用オ
プションの指定無しで原始プログラム40を再コンパイ
ルすることが必要であった。
さらに、プログラムを再びデバッグをしたいときには、
デバッグ用オプションの指定有りで原始プログラム40
を再コンパイルすることが必要であった。
デバッグ用オプションの指定有りで原始プログラム40
を再コンパイルすることが必要であった。
上述した従来のデバッグ方式では、プログラムのデバッ
グが完了してデバッグ用情報が不要になったときでも目
的プログラム中にデバッグ用情報が混在していたので、
必要以上に目的プログラムのサイズが大きくなり、また
デバッグ用命令が部分的に実行されることによりプログ
ラムの実行性能が低下するという欠点がある。
グが完了してデバッグ用情報が不要になったときでも目
的プログラム中にデバッグ用情報が混在していたので、
必要以上に目的プログラムのサイズが大きくなり、また
デバッグ用命令が部分的に実行されることによりプログ
ラムの実行性能が低下するという欠点がある。
また、プログラムの実行性能を向上させるには、デバッ
グ用オプションの指定無しで原始プログラムを再コンパ
イルしなければならないという欠点がある。
グ用オプションの指定無しで原始プログラムを再コンパ
イルしなければならないという欠点がある。
さらに、プログラムの運用とデバッグとを繰り返すとき
には、再コンパイルの繰返しとなり、そのためのオーバ
ヘッドが生じるという欠点がある。
には、再コンパイルの繰返しとなり、そのためのオーバ
ヘッドが生じるという欠点がある。
本発明の目的は、上述の点に鑑み、目的プログラムをプ
ログラムの運用に必要なセグメントとデバッグに必要な
セグメントとに分割して出力することにより、プログラ
ムの運用に必要なセグメントとデバッグに必要なセグメ
ントとの分離および併合を容易に行えるようにしたデバ
ッグ用セグメント分割方式を提供することにある。
ログラムの運用に必要なセグメントとデバッグに必要な
セグメントとに分割して出力することにより、プログラ
ムの運用に必要なセグメントとデバッグに必要なセグメ
ントとの分離および併合を容易に行えるようにしたデバ
ッグ用セグメント分割方式を提供することにある。
本発明のデバッグ用セグメント分割方式は、コンパイラ
に与えられるデバッグ用オプションを解析するオプショ
ン解析手段と、このオプション解析手段により解析され
たデバッグ用オプションに基づいてデバッグ用命令およ
びデバッグ用情報を第1の目的プログラム中に出力する
デバッグ用命令・情報出力手段と、このデバッグ用命令
・情報出力手段により出力された前記デバッグ用情報か
らなるデバッグ用セグメントを他のセグメントとは分割
して前記第1の目的プログラムをセグメント別に出力す
るセグメント分割手段と、前記第1の目的プログラムか
ら前記デバッグ用セグメントを分離して前記他のセグメ
ントからなる第2の目的プログラムと前記デバッグ用セ
グメントからなる第3の目的プログラムとに分離するセ
グメント分離手段と、このセグメント分離手段により分
離された前記第2の目的プログラムと前記第3の目的プ
ログラムとを併合して前記第1の目的プログラムと同等
の第4の目的プログラムを出力するセグメント併合手段
と、前記第2の目的プログラムおよび前記第4の目的プ
ログラム中の前記デバッグ用命令を有効にするモードと
無効にするモードとを選択的に指定可能にするモード指
定手段とを存する。
に与えられるデバッグ用オプションを解析するオプショ
ン解析手段と、このオプション解析手段により解析され
たデバッグ用オプションに基づいてデバッグ用命令およ
びデバッグ用情報を第1の目的プログラム中に出力する
デバッグ用命令・情報出力手段と、このデバッグ用命令
・情報出力手段により出力された前記デバッグ用情報か
らなるデバッグ用セグメントを他のセグメントとは分割
して前記第1の目的プログラムをセグメント別に出力す
るセグメント分割手段と、前記第1の目的プログラムか
ら前記デバッグ用セグメントを分離して前記他のセグメ
ントからなる第2の目的プログラムと前記デバッグ用セ
グメントからなる第3の目的プログラムとに分離するセ
グメント分離手段と、このセグメント分離手段により分
離された前記第2の目的プログラムと前記第3の目的プ
ログラムとを併合して前記第1の目的プログラムと同等
の第4の目的プログラムを出力するセグメント併合手段
と、前記第2の目的プログラムおよび前記第4の目的プ
ログラム中の前記デバッグ用命令を有効にするモードと
無効にするモードとを選択的に指定可能にするモード指
定手段とを存する。
本発明のデバッグ用セグメント分割方式では、オプショ
ン解析手段がコンパイラに与えられるデバッグ用オプシ
ョンを解析し、デバッグ用命令・情報出力手段がオプシ
ョン解析手段により解析されたデバッグ用オプションに
基づいてデバッグ用命令およびデバッグ用情報を第1の
目的プログラム中に出力し、セグメント分割手段がデバ
ッグ用命令・情報出力手段により出力されたデバッグ用
情報からなるデバッグ用セグメントを他のセグメントと
は分割して第1の目的プログラムをセグメント別に出力
し、セグメント分離手段が第1の目的プログラムからデ
バッグ用セグメントを分離して他のセグメントからなる
第2の目的プログラムとデバッグ用セグメントからなる
第3の目的プログラムとに分離し、セグメント併合手段
がセグメント分離手段により分離された第2の目的プロ
グラムと第3の目的プログラムとを併合して第1の目的
プログラムと同等の第4の目的プログラムを出力し、モ
ード指定手段が第2の目的プログラムおよび第4の目的
プログラム中のデバッグ用命令を有効にするモードと無
効にするモードとを選択的に指定可能にする。
ン解析手段がコンパイラに与えられるデバッグ用オプシ
ョンを解析し、デバッグ用命令・情報出力手段がオプシ
ョン解析手段により解析されたデバッグ用オプションに
基づいてデバッグ用命令およびデバッグ用情報を第1の
目的プログラム中に出力し、セグメント分割手段がデバ
ッグ用命令・情報出力手段により出力されたデバッグ用
情報からなるデバッグ用セグメントを他のセグメントと
は分割して第1の目的プログラムをセグメント別に出力
し、セグメント分離手段が第1の目的プログラムからデ
バッグ用セグメントを分離して他のセグメントからなる
第2の目的プログラムとデバッグ用セグメントからなる
第3の目的プログラムとに分離し、セグメント併合手段
がセグメント分離手段により分離された第2の目的プロ
グラムと第3の目的プログラムとを併合して第1の目的
プログラムと同等の第4の目的プログラムを出力し、モ
ード指定手段が第2の目的プログラムおよび第4の目的
プログラム中のデバッグ用命令を有効にするモードと無
効にするモードとを選択的に指定可能にする。
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例の構成を示すブロック図で
ある。本実施例のデバッグ用セグメント分割方式は、原
始プログラム1と、コンパイラ2と、第1の目的プログ
ラム3と、セグメント分離手段4と、第2の目的プログ
ラム5と、第3の目的プログラム6と、セグメント併合
手段7と、第4の目的プログラム8と、モード指定手段
9と、プログラム実行手段10とを含んで構成されてい
る。
ある。本実施例のデバッグ用セグメント分割方式は、原
始プログラム1と、コンパイラ2と、第1の目的プログ
ラム3と、セグメント分離手段4と、第2の目的プログ
ラム5と、第3の目的プログラム6と、セグメント併合
手段7と、第4の目的プログラム8と、モード指定手段
9と、プログラム実行手段10とを含んで構成されてい
る。
コンパイラ2は、コンパイラ2を起動するジョブ制御言
語(以下、JCLと略記する)中に含まれるデバッグ用
オプションを解析するオプション解析手段21と、オプ
ション解析手段21により解析されたデバッグ用オプシ
ョンに基づいてデバッグ用命令34(第2図参照)およ
びデバッグ用情報を第1の目的プログラム3中に出力す
るデバッグ用命令・情報出力手段22と、デバッグ用情
報からなるデバッグ用セグメント33(第2図参照)と
命令セグメント31(第2図参照)およびデータセグメ
ント(第2図参照)32とをセグメント別に分割して第
1の目的プログラム3を出力するセグメント分割手段2
3とを含んで構成されている。
語(以下、JCLと略記する)中に含まれるデバッグ用
オプションを解析するオプション解析手段21と、オプ
ション解析手段21により解析されたデバッグ用オプシ
ョンに基づいてデバッグ用命令34(第2図参照)およ
びデバッグ用情報を第1の目的プログラム3中に出力す
るデバッグ用命令・情報出力手段22と、デバッグ用情
報からなるデバッグ用セグメント33(第2図参照)と
命令セグメント31(第2図参照)およびデータセグメ
ント(第2図参照)32とをセグメント別に分割して第
1の目的プログラム3を出力するセグメント分割手段2
3とを含んで構成されている。
セグメント分離手段4は、第1の目的プログラム3から
デバッグ用セグメント33を分離して、プログラムの運
用に必要な命令セグメント31およびデータセグメント
32からなる第2の目的プログラム5と、プログラムの
デバッグに必要となるデバッグ用セグメント33からな
る第3の目的プログラム6とを分離して出力する。
デバッグ用セグメント33を分離して、プログラムの運
用に必要な命令セグメント31およびデータセグメント
32からなる第2の目的プログラム5と、プログラムの
デバッグに必要となるデバッグ用セグメント33からな
る第3の目的プログラム6とを分離して出力する。
セグメント併合手段7は、セグメント分離手段4により
分離された第2の目的プログラム5と第3の目的プログ
ラム6とを併合して、第1の目的プログラム3と同等の
第4の目的プログラム8を出力する。
分離された第2の目的プログラム5と第3の目的プログ
ラム6とを併合して、第1の目的プログラム3と同等の
第4の目的プログラム8を出力する。
モード指定手段9は、第2の目的プログラム5または第
4の目的プログラム8中のデバッグ用命令34を有効に
するモードと無効にするモードとを選択的に指定可能と
する。
4の目的プログラム8中のデバッグ用命令34を有効に
するモードと無効にするモードとを選択的に指定可能と
する。
第2図は、本実施例のデバッグ用セグメント分割方式に
おけるデバッグ用オプション指定時の各目的プログラム
の構造と各手段との関係を示す図である。第2図を参照
すると、第1の目的プログラム3および第4の目的プロ
グラム8には、命令セグメント31と、データセグメン
ト32と、デバッグ用セグメント33とが含まれており
、命令セグメント31にはデバッグ用の手続きを呼び出
すためのデバッグルーチン呼出し命令でなるデバッグ用
命令34が含まれている。また、第2の目的プログラム
5には、命令セグメント31と、データセグメント32
とが含まれており、第3の目的プログラム6には、デバ
ッグ用セグメント33が含まれている。
おけるデバッグ用オプション指定時の各目的プログラム
の構造と各手段との関係を示す図である。第2図を参照
すると、第1の目的プログラム3および第4の目的プロ
グラム8には、命令セグメント31と、データセグメン
ト32と、デバッグ用セグメント33とが含まれており
、命令セグメント31にはデバッグ用の手続きを呼び出
すためのデバッグルーチン呼出し命令でなるデバッグ用
命令34が含まれている。また、第2の目的プログラム
5には、命令セグメント31と、データセグメント32
とが含まれており、第3の目的プログラム6には、デバ
ッグ用セグメント33が含まれている。
さらに、モード指定手段9によりデバッグ用命令34を
無効にするモードが指定された場合には、第2の目的プ
ログラム5の命令セグメント31に含まれるデバッグ用
命令34は無効命令51に置き換えられる。
無効にするモードが指定された場合には、第2の目的プ
ログラム5の命令セグメント31に含まれるデバッグ用
命令34は無効命令51に置き換えられる。
次に、このように構成された本実施例のデバッグ用セグ
メント分割方式の動作について説明する。
メント分割方式の動作について説明する。
コンパイラ2は、JCLにより起動されると、オプショ
ン解析手段21によりJCL中のデバッグ用オプション
の解析を行う。JCL中にデバッグ用オプションの指定
があれば、コンパイラ2は、原始プログラム1を入力し
て翻訳しながら、デバッグ用命令・情報出力手段22に
よりプログラムのデバッグを支援するためのデバッグ用
命令34およびデバッグ用情報を第1の目的プログラム
3中に出力し、さらにセグメント分割手段23によりデ
バッグ用情報を含むデバッグ用セグメント33を他の命
令および情報を含む命令セグメント31およびデータセ
グメント32から分割して第1の目的プログラム3を出
力する。
ン解析手段21によりJCL中のデバッグ用オプション
の解析を行う。JCL中にデバッグ用オプションの指定
があれば、コンパイラ2は、原始プログラム1を入力し
て翻訳しながら、デバッグ用命令・情報出力手段22に
よりプログラムのデバッグを支援するためのデバッグ用
命令34およびデバッグ用情報を第1の目的プログラム
3中に出力し、さらにセグメント分割手段23によりデ
バッグ用情報を含むデバッグ用セグメント33を他の命
令および情報を含む命令セグメント31およびデータセ
グメント32から分割して第1の目的プログラム3を出
力する。
プログラム実行手段10は、第1の目的プログラム3の
命令セグメント31に含まれるデバッグ用命令34に基
づいてデバッグ用セグメント33に含まれるデバッグ用
情報を使用して第1の目的プログラム3を実行しながら
デバッグを行う。
命令セグメント31に含まれるデバッグ用命令34に基
づいてデバッグ用セグメント33に含まれるデバッグ用
情報を使用して第1の目的プログラム3を実行しながら
デバッグを行う。
第1の目的プログラム3のデバッグが完了したならば、
セグメント分離手段4により第1の目的プログラム3を
、プログラムの運用に必要な部分である命令セグメント
31およびデータセグメント32からなる第2の目的プ
ログラム5と、デバッグに必要なデバッグ用情報を含む
デバッグ用セグメント33からなる第3の目的プログラ
ム6とに分離する。
セグメント分離手段4により第1の目的プログラム3を
、プログラムの運用に必要な部分である命令セグメント
31およびデータセグメント32からなる第2の目的プ
ログラム5と、デバッグに必要なデバッグ用情報を含む
デバッグ用セグメント33からなる第3の目的プログラ
ム6とに分離する。
プログラムの運用時には、モード指定手段9により第2
の目的プログラム5に対してデバッグ用命令34を無効
とするモードを指定し、デバッグ用命令34を無効命令
51に置き換えてプログラム実行手段10により第2の
プログラム5の実行を行う。
の目的プログラム5に対してデバッグ用命令34を無効
とするモードを指定し、デバッグ用命令34を無効命令
51に置き換えてプログラム実行手段10により第2の
プログラム5の実行を行う。
プログラムの運用が開始されてから再びデバッグ用命令
34およびデバッグ用情報を使用してプログラムのデバ
ッグを行う必要が生じたときには、セグメント併合手段
7により第2の目的プログラム5と第3の目的プログラ
ム6との併合を行って、第1の目的プログラム3と同等
の第4の目的プログラム8を出力させ、第4の目的プロ
グラム8に対してモード指定手段9によりデバッグ用命
令34を有効とするモード設定を行い、デバッグ用セグ
メント33に含まれるデバッグ用情報を使用して第4の
目的プログラム8を実行してデバッグを行う。
34およびデバッグ用情報を使用してプログラムのデバ
ッグを行う必要が生じたときには、セグメント併合手段
7により第2の目的プログラム5と第3の目的プログラ
ム6との併合を行って、第1の目的プログラム3と同等
の第4の目的プログラム8を出力させ、第4の目的プロ
グラム8に対してモード指定手段9によりデバッグ用命
令34を有効とするモード設定を行い、デバッグ用セグ
メント33に含まれるデバッグ用情報を使用して第4の
目的プログラム8を実行してデバッグを行う。
このように本実施例のデバッグ用セグメント分割方式で
は、第1の目的プログラム3を出力するときに命令セグ
メント31およびデータセグメント32とデバッグ用セ
グメント33とを分割して出力しているので、デバッグ
が不要になったときにはセグメント分離手段4を使用す
ることにより高速にデバッグ用セグメント33を第3の
目的プログラム6として分離して、運用される第2の目
的プログラム5のサイズを小さくすることができる。
は、第1の目的プログラム3を出力するときに命令セグ
メント31およびデータセグメント32とデバッグ用セ
グメント33とを分割して出力しているので、デバッグ
が不要になったときにはセグメント分離手段4を使用す
ることにより高速にデバッグ用セグメント33を第3の
目的プログラム6として分離して、運用される第2の目
的プログラム5のサイズを小さくすることができる。
また、モード指定手段9によりデバッグ用命令34を無
効命令51に変換することにより、デバッグ用命令34
の実行によるプログラムのオーハヘソドを減らすことが
できる。
効命令51に変換することにより、デバッグ用命令34
の実行によるプログラムのオーハヘソドを減らすことが
できる。
さらに、再びプログラムのデバッグが必要になったとき
には、分離されているデバッグ用セグメント33を含む
第3の目的プログラム6と第2の目的プログラム5とを
セグメント併合手段7により併合して第4の目的プログ
ラム8を容易に作成することができるので、原始プログ
ラム1を再コンパイルするよりも高速にプログラムをデ
バッグ可能状態とすることができる。
には、分離されているデバッグ用セグメント33を含む
第3の目的プログラム6と第2の目的プログラム5とを
セグメント併合手段7により併合して第4の目的プログ
ラム8を容易に作成することができるので、原始プログ
ラム1を再コンパイルするよりも高速にプログラムをデ
バッグ可能状態とすることができる。
以上説明したように本発明は、オプション解析手段とデ
バッグ用命令・情報出力手段とセグメント分割手段とを
設けてデバッグ用セグメントを他のセグメントとは分割
して第1の目的プログラム中に出力するようにしたこと
により、プログラムのデバッグの完了後にセグメント分
離手段を用いて第1の目的プログラムをプログラムの運
用に必要な部分を含む第2の目的プログラムとデバッグ
に必要な部分を含む第3の目的プログラム6とに分離す
ることができ、運用時の第2の目的プログラムのサイズ
を減らすことができるという効果がある。
バッグ用命令・情報出力手段とセグメント分割手段とを
設けてデバッグ用セグメントを他のセグメントとは分割
して第1の目的プログラム中に出力するようにしたこと
により、プログラムのデバッグの完了後にセグメント分
離手段を用いて第1の目的プログラムをプログラムの運
用に必要な部分を含む第2の目的プログラムとデバッグ
に必要な部分を含む第3の目的プログラム6とに分離す
ることができ、運用時の第2の目的プログラムのサイズ
を減らすことができるという効果がある。
また、モード指定手段を設けたことにより、プログラム
の運用時にはデバッグ用命令を無効にしてプログラムの
実行性能を向上させることができるとともに、プログラ
ムのデバッグ時にはデバッグ命令を有効にして容易にデ
バッグを行うことができるという効果がある。
の運用時にはデバッグ用命令を無効にしてプログラムの
実行性能を向上させることができるとともに、プログラ
ムのデバッグ時にはデバッグ命令を有効にして容易にデ
バッグを行うことができるという効果がある。
さらに、プログラムの運用を始めてから再びデバッグを
行うときには、セグメント併合手段を用いて分離された
第2の目的プログラムと第3の目的プログラムとを併合
してデバッグ用命令を有効にすることにより、デバッグ
が容易に可能となってプログラムの再コンパイル等によ
るオーバヘッドを減らすことができる効果がある。
行うときには、セグメント併合手段を用いて分離された
第2の目的プログラムと第3の目的プログラムとを併合
してデバッグ用命令を有効にすることにより、デバッグ
が容易に可能となってプログラムの再コンパイル等によ
るオーバヘッドを減らすことができる効果がある。
なお、これらの効果は、特にプログラムのステツプ数が
大きいときに顕著となる。
大きいときに顕著となる。
第1図は本発明の一実施例の構成を示すブロック図、
第2図は本実施例のデバッグ用セグメント分割方式にお
けるデバッグ用オプション指定時の目的プログラムの構
造と各手段との関連を示す図、第3図は従来のデバッグ
方式を示す図、第4図は従来のデバッグ方式においてデ
バッグ用オプション指定時にコンパイラが出力する目的
プログラムの構造を示す図である。 図において、 1・・・原始プログラム、 2・・・コンパイラ、 3・・・第1の目的プログラム、 4・・・セグメント分離手段、 5・・・第2の目的プログラム、 6・・・第3の目的プログラム、 7・・・セグメント併合手段、 8・・・第4の目的プログラム、 9・・・モード指定手段、 10・・・プログラム実行手段、 21・・・オプション解析手段、 22・・・デバッグ用命令・情報出力手段、23・・・
セグメント分割手段、 31・・・命令セグメント、 32・・・データセグメント、 33・・・デバッグ用セグメント、 34・・・デバッグ用命令、 51・・・無効命令である。
けるデバッグ用オプション指定時の目的プログラムの構
造と各手段との関連を示す図、第3図は従来のデバッグ
方式を示す図、第4図は従来のデバッグ方式においてデ
バッグ用オプション指定時にコンパイラが出力する目的
プログラムの構造を示す図である。 図において、 1・・・原始プログラム、 2・・・コンパイラ、 3・・・第1の目的プログラム、 4・・・セグメント分離手段、 5・・・第2の目的プログラム、 6・・・第3の目的プログラム、 7・・・セグメント併合手段、 8・・・第4の目的プログラム、 9・・・モード指定手段、 10・・・プログラム実行手段、 21・・・オプション解析手段、 22・・・デバッグ用命令・情報出力手段、23・・・
セグメント分割手段、 31・・・命令セグメント、 32・・・データセグメント、 33・・・デバッグ用セグメント、 34・・・デバッグ用命令、 51・・・無効命令である。
Claims (1)
- 【特許請求の範囲】 コンパイラに与えられるデバッグ用オプションを解析す
るオプション解析手段と、 このオプション解析手段により解析されたデバッグ用オ
プションに基づいてデバッグ用命令およびデバッグ用情
報を第1の目的プログラム中に出力するデバッグ用命令
・情報出力手段と、 このデバッグ用命令・情報出力手段により出力された前
記デバッグ用情報からなるデバッグ用セグメントを他の
セグメントとは分割して前記第1の目的プログラムをセ
グメント別に出力するセグメント分割手段と、 前記第1の目的プログラムから前記デバッグ用セグメン
トを分離して前記他のセグメントからなる第2の目的プ
ログラムと前記デバッグ用セグメントからなる第3の目
的プログラムとに分離するセグメント分離手段と、 このセグメント分離手段により分離された前記第2の目
的プログラムと前記第3の目的プログラムとを併合して
前記第1の目的プログラムと同等の第4の目的プログラ
ムを出力するセグメント併合手段と、 前記第2の目的プログラムおよび前記第4の目的プログ
ラム中の前記デバッグ用命令を有効にするモードと無効
にするモードとを選択的に指定可能にするモード指定手
段と、 を有することを特徴とするデバッグ用セグメント分割方
式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62094558A JPS63259736A (ja) | 1987-04-17 | 1987-04-17 | デバツグ用セグメント分割方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62094558A JPS63259736A (ja) | 1987-04-17 | 1987-04-17 | デバツグ用セグメント分割方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63259736A true JPS63259736A (ja) | 1988-10-26 |
Family
ID=14113653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62094558A Pending JPS63259736A (ja) | 1987-04-17 | 1987-04-17 | デバツグ用セグメント分割方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63259736A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0377140A (ja) * | 1989-08-18 | 1991-04-02 | Fujitsu Ltd | コンパイル装置 |
-
1987
- 1987-04-17 JP JP62094558A patent/JPS63259736A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0377140A (ja) * | 1989-08-18 | 1991-04-02 | Fujitsu Ltd | コンパイル装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11232138A (ja) | エミュレーション方法 | |
JPS63259736A (ja) | デバツグ用セグメント分割方式 | |
JPH01273136A (ja) | オペレーティングシステムのファームウェア化方式 | |
JP3372387B2 (ja) | プログラム検査方法 | |
JPS59212907A (ja) | プログラマブルコントロ−ラ | |
JPS63178343A (ja) | 中断点の設定方式 | |
JPH0659933A (ja) | コード変換装置 | |
JPH03144830A (ja) | 並列処理方式 | |
JPS63158632A (ja) | インタプリタシステムにおけるシステムプログラム実行方式 | |
JPH04169941A (ja) | デバッグ情報出力処理方式 | |
JPH03246734A (ja) | デバッガのジャンプ先アドレスチェック方法および装置 | |
JPH02285425A (ja) | 実行時オプション処理方式 | |
JPH01288931A (ja) | Pl/iプログラムのデバック方式 | |
JPH0588878A (ja) | Lisp命令実行方式 | |
Revision | Lahey/Fujitsu Fortran 95 User’s Guide Linux Edition | |
JPS63205740A (ja) | プログラム実行トレ−ス処理方式 | |
JPH0573335A (ja) | プログラムの自動インライン展開方式 | |
JPH0488438A (ja) | 高級言語による原始プログラムに対するデバッガの一命令実行方式 | |
JPH04308934A (ja) | 電子計算機 | |
JPH10133901A (ja) | テスト支援ツール | |
JPS62159235A (ja) | リスト処理方式 | |
JPS63317839A (ja) | プログラムデバッグ方法 | |
JPH02135529A (ja) | コンパイル方式 | |
JPH05298149A (ja) | プログラムデバッグ処理方式 | |
JPH03290739A (ja) | プログラムの動的解析方式 |