JPH02244341A - 実行サブルーチンデバツグ情報出力トレース方式 - Google Patents
実行サブルーチンデバツグ情報出力トレース方式Info
- Publication number
- JPH02244341A JPH02244341A JP1066937A JP6693789A JPH02244341A JP H02244341 A JPH02244341 A JP H02244341A JP 1066937 A JP1066937 A JP 1066937A JP 6693789 A JP6693789 A JP 6693789A JP H02244341 A JPH02244341 A JP H02244341A
- Authority
- JP
- Japan
- Prior art keywords
- subroutine
- debugging
- debug
- trace
- statement
- 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 16
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明線、サブルーチン名と引数とを表示すルフログラ
ムを生成する実行サブルーチンデバッグ情報出カドレー
ス方式に関する。
ムを生成する実行サブルーチンデバッグ情報出カドレー
ス方式に関する。
(従来の技術)
従来から、プログラムをデバッグするには、なんらかの
形でデバッグ情報を収集しているのは公知である。デバ
ッグ情報を収集するには。
形でデバッグ情報を収集しているのは公知である。デバ
ッグ情報を収集するには。
下記の2つの方式がある。
第1は、ソースプログラム中にデバッグ情報を収集する
文を挿入するものである。第2は、ソフトウェアデバッ
ガでブレークポイントを設定し、プログラム実行途中に
実行を停止させてデバッグ情報を収集するものである。
文を挿入するものである。第2は、ソフトウェアデバッ
ガでブレークポイントを設定し、プログラム実行途中に
実行を停止させてデバッグ情報を収集するものである。
(発明が解決しようとする課題)
上述し次従来のデバッグトレース情報収束方式において
、上記第1の方式ではプログラム中に人手によりロジッ
クを挿入する必要がある九め、非常に操作が面倒であり
、且つ、ロジックの誤りを犯しやすいという欠点がある
。いっぼう、上記第2の方式では実行中に何度も実行動
作を停止させるようにソフトウェアデバッガに対して指
示させる必要があるので、操作が面倒であると云う欠点
がある。
、上記第1の方式ではプログラム中に人手によりロジッ
クを挿入する必要がある九め、非常に操作が面倒であり
、且つ、ロジックの誤りを犯しやすいという欠点がある
。いっぼう、上記第2の方式では実行中に何度も実行動
作を停止させるようにソフトウェアデバッガに対して指
示させる必要があるので、操作が面倒であると云う欠点
がある。
本発明の目的は、コンパイラの翻訳処理の一部において
ソースプログラムを読込み、読込まれ次ソースプログラ
ム中にサブルーチンコールがあるか否かを認識しておき
、コンパイル時のデバッグオプションによりデバッグト
レース文の出力可否t−n断し、デバッグトレース出力
時にはサブルーチンのサブルーチン名、およびその引数
値を書式に従つ良形式で表示し、実行文を生成し、コン
パイラの翻訳処理を行うことによって上記欠点全除去し
、操作t−m易化できるように構成し次実行サブルーチ
ンデバッグ情報出カドレース方式を提供することにある
。
ソースプログラムを読込み、読込まれ次ソースプログラ
ム中にサブルーチンコールがあるか否かを認識しておき
、コンパイル時のデバッグオプションによりデバッグト
レース文の出力可否t−n断し、デバッグトレース出力
時にはサブルーチンのサブルーチン名、およびその引数
値を書式に従つ良形式で表示し、実行文を生成し、コン
パイラの翻訳処理を行うことによって上記欠点全除去し
、操作t−m易化できるように構成し次実行サブルーチ
ンデバッグ情報出カドレース方式を提供することにある
。
(課題を解決するための手段)
本発明による実行サブルーチンデパック情報量カドレー
ス方式はソース読込み手段と、サブルーチンコール認識
手段と、デバッグトレース生成判断手段と、デバッグト
レース生成手段と。
ス方式はソース読込み手段と、サブルーチンコール認識
手段と、デバッグトレース生成判断手段と、デバッグト
レース生成手段と。
翻訳処理手段とを具備して構成し念ものである。
ソース読込み手段は、コンバイ2の翻訳処理の一部でソ
ースプログラムの文を読込む念めのものである。
ースプログラムの文を読込む念めのものである。
サブルーチンコール認識手段は、上記読込まれ九ソース
プログラム中にサブルーチンコールが存在するか否かを
認識するためのものである。
プログラム中にサブルーチンコールが存在するか否かを
認識するためのものである。
デバッグトレース生成判断手段は、コンパイル時のデバ
ッグオプションによりデパックトレース文の出力の可否
を判断するためのものである。
ッグオプションによりデパックトレース文の出力の可否
を判断するためのものである。
デバッグトレース生成手段に、デバッグトレース出力時
にはサブルーチンのサブルーチン名およびサブルーチン
の引数値を表示する九め、実行文を生成する九めのもの
である。
にはサブルーチンのサブルーチン名およびサブルーチン
の引数値を表示する九め、実行文を生成する九めのもの
である。
翻訳処理手段は、コンパイラの翻訳処理を行う几めのも
のである。
のである。
(実 施 例)
次に、本発明について図面を参照して説明する。
第1図は1本発明による実行サブルーチンデバッグ情報
出カドレース方式の一実施例を示すブロック図である。
出カドレース方式の一実施例を示すブロック図である。
第1図は、デバッグ情報出力の一実施例を示すブロック
図であり、ここでの処理の流れはコンパイラの処理の一
部として組込まれている。
図であり、ここでの処理の流れはコンパイラの処理の一
部として組込まれている。
第1図において、1はソース読込み手段、2はサブルー
チンコールiil!識手段、3はデバッグトレース生成
判定手段、4はデバッグトレース生成手段、5は翻訳処
理手段である。
チンコールiil!識手段、3はデバッグトレース生成
判定手段、4はデバッグトレース生成手段、5は翻訳処
理手段である。
まず、ソース読込み手段1により、ソースプログラムの
文を一行づつ読込む。続いて、サブルーチンコール認識
手段2では、ソース読込み手段1により読込まれ構文に
対して構文解析を行い、その文の中にサブルーチンコー
ルカ6 ルか否かを認識する。
文を一行づつ読込む。続いて、サブルーチンコール認識
手段2では、ソース読込み手段1により読込まれ構文に
対して構文解析を行い、その文の中にサブルーチンコー
ルカ6 ルか否かを認識する。
ソース読込み手段1により読込まれ九ソースプログラム
中にサブルーチンコールがあった場合、デバッグトレー
ス生成判定手段3ではサブルーチンデバッグトレース文
を生成するか否かを判定する。この判定の指示は、コン
パイル時ノテバッグオプションの有無による。デバッグ
トレース生成判定手段3によってデバッグ文を生成する
指示があった場合、デバッグトレース生成手段4は当該
サブルーチンに対してデバッグフラックと、関数名と、
引数名と、サブルーチンの書式に従つ九実行時値を表示
させるためのプリント文とを当該サブルーチンの機械語
命令の前に生成する。
中にサブルーチンコールがあった場合、デバッグトレー
ス生成判定手段3ではサブルーチンデバッグトレース文
を生成するか否かを判定する。この判定の指示は、コン
パイル時ノテバッグオプションの有無による。デバッグ
トレース生成判定手段3によってデバッグ文を生成する
指示があった場合、デバッグトレース生成手段4は当該
サブルーチンに対してデバッグフラックと、関数名と、
引数名と、サブルーチンの書式に従つ九実行時値を表示
させるためのプリント文とを当該サブルーチンの機械語
命令の前に生成する。
翻訳処理手段5は、通常のコンパイル処理である。
第2図は、ソースプログラムとサブルーチンデバッグト
レース文とが埋込まれ友サンプルプログラムであり、C
言語で記述し次ものである。
レース文とが埋込まれ友サンプルプログラムであり、C
言語で記述し次ものである。
理解を容易にするために、第2図によりサンプルプログ
ラムの実例を説明する。
ラムの実例を説明する。
第2図における入力ソースプログラムの実例では0言語
記述によっている。変更プログラムはコンパイラにより
デバッグオプションを指定した後のものである。
記述によっている。変更プログラムはコンパイラにより
デバッグオプションを指定した後のものである。
該当処理は、サンプルプログラム中の8行目の行番号に
相当する。すなわち、Put2 (c sb);の文が
サブルーチンコールにあ九る。
相当する。すなわち、Put2 (c sb);の文が
サブルーチンコールにあ九る。
0言語で社、これを関数コールと云う。そこで、コンパ
イル時の処理により if(debug) Pr1nt f (’Put2−
(cm%8 、 b−厄)■ ■ ■
■ ■\n”* Csb) : という文を生成する。
イル時の処理により if(debug) Pr1nt f (’Put2−
(cm%8 、 b−厄)■ ■ ■
■ ■\n”* Csb) : という文を生成する。
■のi f (debug ) Bデバッグフラッグが
オンのときに、以降の文が実行されることを示している
。
オンのときに、以降の文が実行されることを示している
。
この種のdebugは、変換後の第1行目に外部宣言文
として実数形の変数で生成される。この文の目的は、当
該サンプルプログラムの実行時に設定されるので、当該
デバッグ情報の出力可否を選択できることにある。例え
ば、ソフトウェアデバッガと併用して使用すれば1部分
的なデバッグ情報の収集が可能となる。
として実数形の変数で生成される。この文の目的は、当
該サンプルプログラムの実行時に設定されるので、当該
デバッグ情報の出力可否を選択できることにある。例え
ば、ソフトウェアデバッガと併用して使用すれば1部分
的なデバッグ情報の収集が可能となる。
■のPrfnt(・・・は、0記述で1・・・”の内容
を表示すると云う意味をもつ。■のPu12m(c−は
、コンパイラが宣言され次間数名と、変数名とを表示で
きるように埋込んだものである。
を表示すると云う意味をもつ。■のPu12m(c−は
、コンパイラが宣言され次間数名と、変数名とを表示で
きるように埋込んだものである。
■および■は、変数名Cとbとの書式(Cμ文字列、b
は実数)t−満足する形式で表示できるように、コンパ
イラにより生成されたものである。サンプルプログラム
では翻訳処理手段5によりPut2の文に対厄する機械
Rが生成される。
は実数)t−満足する形式で表示できるように、コンパ
イラにより生成されたものである。サンプルプログラム
では翻訳処理手段5によりPut2の文に対厄する機械
Rが生成される。
(発明の効果)
以上説明したように本発明は、コンパイル時(7)f/
(ツ/オプシ目ンを活用することにより、デバッグトレ
ース情報全容鳥に収集することができると云う効果があ
る。
(ツ/オプシ目ンを活用することにより、デバッグトレ
ース情報全容鳥に収集することができると云う効果があ
る。
第1図は1本発明による実行サブルーチンデバッグ情報
量カドレース方式の一実施例全示すブロック図である。 第2図はソースプログラム例を示すサンプログラム図で
ある。 l・・・ソース読込み手段 2・・φサブルーチンコール認識手段 3・・・デバッグトレース生成判定手段4・・・デバッ
グトレース化成手段 5・・・翻訳処理手段 オス
量カドレース方式の一実施例全示すブロック図である。 第2図はソースプログラム例を示すサンプログラム図で
ある。 l・・・ソース読込み手段 2・・φサブルーチンコール認識手段 3・・・デバッグトレース生成判定手段4・・・デバッ
グトレース化成手段 5・・・翻訳処理手段 オス
Claims (1)
- コンパイラの翻訳処理の一部でソースプログラムの文を
読込むためのソース読込み手段と、前記読込まれたソー
スプログラム中にサブルーチンコールが存在するか否か
を認識するためのサブルーチンコール認識手段と、コン
パイル時のデバッグオプションによりデバッグトレース
文の出力の可否を判断するためのデバッグトレース生成
判断手段と、デバッグトレース出力時には前記サブルー
チンのサブルーチン名および前記サブルーチンの引数値
を表示するために実行文を生成するためのデバッグトレ
ース生成手段と、前記コンパイラの翻訳処理を行うため
の翻訳処理手段とを具備して構成したことを特徴とする
実行サブルーチンデバッグ情報出力トレース方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1066937A JPH02244341A (ja) | 1989-03-17 | 1989-03-17 | 実行サブルーチンデバツグ情報出力トレース方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1066937A JPH02244341A (ja) | 1989-03-17 | 1989-03-17 | 実行サブルーチンデバツグ情報出力トレース方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02244341A true JPH02244341A (ja) | 1990-09-28 |
Family
ID=13330414
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1066937A Pending JPH02244341A (ja) | 1989-03-17 | 1989-03-17 | 実行サブルーチンデバツグ情報出力トレース方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02244341A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04307630A (ja) * | 1991-04-04 | 1992-10-29 | Nippon Denki Micom Technol Kk | 簡易デバック・オプション付きコンパイラ |
-
1989
- 1989-03-17 JP JP1066937A patent/JPH02244341A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04307630A (ja) * | 1991-04-04 | 1992-10-29 | Nippon Denki Micom Technol Kk | 簡易デバック・オプション付きコンパイラ |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Bouchhima et al. | Automatic instrumentation of embedded software for high level hardware/software co-simulation | |
| US5132972A (en) | Assembly language programming potential error detection scheme sensing apparent inconsistency with a previous operation | |
| Rask et al. | Visual studio code vdm support | |
| JPH02244341A (ja) | 実行サブルーチンデバツグ情報出力トレース方式 | |
| JPS62113244A (ja) | プログラムテスト装置 | |
| JP4055197B2 (ja) | プログラムに含まれる手続きの解析装置 | |
| JPH10187461A (ja) | 言語処理方式 | |
| JP2000353112A (ja) | 中間言語レベルのデバッグ方法及びシステム | |
| Cox et al. | Advanced programming aids in PROGRAPH | |
| JP2001147832A (ja) | ソースプログラム対応表示方式 | |
| van den Brand et al. | TIDE—A Generic Debugging Framework | |
| JPH08212105A (ja) | プログラム管理装置 | |
| JPH0272407A (ja) | ラダー・プログラム変換装置 | |
| JPH0353334A (ja) | 言語処理プログラムのデバッグ情報出力処理方式 | |
| JPH04209029A (ja) | 並列処理プログラム翻訳処理装置 | |
| JPS6365542A (ja) | デバツグ方式 | |
| JPH06231003A (ja) | 実行可能ファイルのデバッガ | |
| JPH04307630A (ja) | 簡易デバック・オプション付きコンパイラ | |
| JPH05250221A (ja) | シミュレータ実行方式 | |
| JPH0239331A (ja) | デバッグ文生成装置 | |
| JPH05108372A (ja) | コンパイラ最適化処理内容の出力方式 | |
| JPH0350641A (ja) | 言語処理プログラムのデバッグ情報出力方式 | |
| JPH0588939A (ja) | 副プログラム単体テスト方式 | |
| JPH04250530A (ja) | プログラム変換/翻訳装置 | |
| JPH02130636A (ja) | コンパイラ並びにプログラム開発支援システム |