JPH06168111A - デバッグ文の自動作成方式 - Google Patents

デバッグ文の自動作成方式

Info

Publication number
JPH06168111A
JPH06168111A JP4319862A JP31986292A JPH06168111A JP H06168111 A JPH06168111 A JP H06168111A JP 4319862 A JP4319862 A JP 4319862A JP 31986292 A JP31986292 A JP 31986292A JP H06168111 A JPH06168111 A JP H06168111A
Authority
JP
Japan
Prior art keywords
statement
debug
information
debug statement
output
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.)
Withdrawn
Application number
JP4319862A
Other languages
English (en)
Inventor
Nobuo Taguchi
信夫 田口
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.)
Fuji Facom Corp
Original Assignee
Fuji Facom Corp
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 Fuji Facom Corp filed Critical Fuji Facom Corp
Priority to JP4319862A priority Critical patent/JPH06168111A/ja
Publication of JPH06168111A publication Critical patent/JPH06168111A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 本発明はデバッグ文の自動作成方式に関し、
自動的にデバッグ文を挿入したプログラムの作成を可能
とすることを目的としている。 【構成】 ソースプログラム群11を入力処理部12で
読み込んだのち、構文解析処理部13で構文解析する。
この構文解析結果を変数抽出処理部14、関数抽出処理
部15、出力処理部16へそれぞれ出力する。上記変数
抽出処理部14及び関数抽出処理部15で抽出された変
数情報及び関数情報は、ラベル情報ファイル17に記憶
される。また、出力処理部16は構文解析結果をデバッ
グ文位置検出処理部18とデバッグ文作成処理部19へ
渡す。このデバッグ文位置検出処理部18は構文解析結
果とデバッグ文出力定義ファイル20に設定された内容
により挿入位置を検出する。そしてさらに、デバッグ文
作成処理部19にてデバッグ文位置検出処理部18の結
果及びラベル情報ファイル17、デバッグ文出力定義フ
ァイル20の内容をもとにデバッグ文の作成を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は情報処理装置におけるプ
ログラムのデバッグに係わり、デバッグ文を挿入したプ
ログラムを自動作成するためのデバッグ文の自動作成方
式に関する。
【0002】
【従来の技術】マルチタスクシステムのような複数プロ
グラムで構成されるシステムのデバッグや、デバッガが
使用できないクロス開発環境でデバッグを行う場合、プ
ログラムにデバッグ文を挿入して行うデバッグ方法が、
原始的な方法ではあるが最も簡単でデバッグ効率が良い
ことが知られている。
【0003】デバッグ文を用いたデバッグにおいて、デ
バッグ文の使用方法には、おもに以下のようなものがあ
る。 (1)トレーサとして、プログラムの動きを調べる。
【0004】(2)特定変数の値の変化を調べる。 (3)関数の引数と復帰値を調べる。 (4)制御フローを確認するためのメッセージを出力す
る。
【0005】
【発明が解決しようとする課題】しかしながら、デバッ
グ文を用いたデバッグには次のような問題がある。 (a)デバッグ文は、エディタを用いてソースプログラ
ムに手作業で挿入しなければならない。
【0006】(b)デバッグ文で出力する情報を追加・
変更する場合、エディタを用いてソースプログラムに手
作業で編集しなければならない。 (c)デバッグ終了後、ソースプログラムに挿入したデ
バッグ文を無効化する必要がある。
【0007】(d)プログラムの完了後、デバッグ時と
同様なデバッグを行えるようにするために、ソースプロ
グラムにデバッグ文を無効化した形で残してメンテナン
スする必要がある。
【0008】このように、デバッグ文を使用したデバッ
グは、デバッグ文の挿入・変更・追加を行うには、手作
業で行わなければならず、デバッグするプログラムの規
模に比例してその作業量が増大する。また、デバッグ文
が出力する情報を変更する場合、例えば、出力する特定
変数を変更・追加するとき、その情報を出力する場所を
決めることは、プログラム量に比例して難しくなるとい
う問題があった。
【0009】本発明は、デバッグ文の挿入位置とデバッ
グ文の出力形式を自動判定し、ソースプログラムにデバ
ッグ文を挿入したプログラムを自動的に作成可能とする
ことを目的としている。
【0010】
【課題を解決するための手段】一般に、プログラム言語
の構文解析処理では、言語定義にしたがって読み込んだ
プログラムの各ステートメントを解析して、名前(変数
名・関数名)、型指定子、記憶クラス指定子、演算子、
関数の開始と終了、文のタイプ(代入文・if文・for 文
・while 文・switch文など)、ブロック文の開始と終了
などのステートメント情報を出力する。本発明は、この
構文解析処理の解析結果を利用している。
【0011】図1は本発明の原理を説明するブロック図
である。同図において、1は上記構文解析結果から抽出
された変数情報と関数情報を記憶するラベル情報記憶手
段、2はプログラムに挿入すべきデバッグ文の挿入条
件、デバッグ文出力種別情報、出力形式などが設定され
るデバッグ文出力定義設定手段、3は上記構文解析情報
と上記デバッグ文出力定義設定手段2に設定されたデバ
ッグ文挿入条件およびデバッグ文出力種別情報とにより
デバッグ文の挿入位置を検出するデバッグ挿入位置検出
手段、4は上記ラベル情報記憶手段1で記憶された変数
情報及び関数情報とデバッグ文出力定義設定手段2に設
定されたデバッグ文出力形式及び構文解析情報をもとに
プログラムに挿入するデバッグ文の作成を行うデバッグ
文作成手段である。
【0012】
【作用】上記のような構成において、変数情報と関数情
報の記憶方式、デバッグ文の挿入条件の指定及びデバッ
グ文挿入位置の検出方式、デバッグ文の作成方式につい
てを以下に説明する。
【0013】(1)変数情報と関数情報の記憶方式 構文解析処理から出力される名前、その名前の変数・関
数または関数引数の識別・型・記憶クラス、定義されて
いるファイル名・行番号情報を、名前を検索キーとして
記憶する。ここで記憶する名前の型情報は、その名前が
占有するメモリ領域の大きさを示しており、その名前が
変数または関数の引数の場合、デバッグ文の作成処理に
おいて変数の値を出力するときに、その名前の型情報よ
り変数のサイズを知ることができる。
【0014】上記記憶クラス情報は、その名前の有効範
囲を示しており、「名前はプログラム全体で有効」、
「名前はファイル内で有効」、「名前は関数内で有効」
の情報を持ち、さらに、名前の有効範囲が関数内の場
合、記憶クラス情報に対応する関数名を持つことによっ
て、同一の名前であってもその名前の記憶クラス情報に
よって、別のものと識別することができ、デバッグ文作
成処理において変数の値を出力するときに、変数の名前
と処理しているファイル名と関数名より記憶している変
数情報を検索することにより、その名前の正しい変数情
報を知ることができる。
【0015】(2)デバッグ文の挿入条件の指定とデバ
ッグ文挿入位置の検出方式 デバッグ文の挿入位置を検出するため、デバッグ文の挿
入条件をデバッグ文出力形式定義として登録する。ここ
で登録するデバッグ文の挿入条件は、行番号情報ではな
く、構文解析処理が出力するステートメント情報と比較
可能な情報を挿入条件として採用する。デバッグ文の挿
入条件として、(a)関数の入口、(b)関数の出口、
(c)変数への代入、(d)if文、(e)for 文、
(f)while文、(g)switch文等をその条件とする。
【0016】デバッグ文挿入位置検出手段3は、構文解
析処理の出力情報を入力とすることにより、現在処理し
ているプログラムのステートメントが何であるか、ま
た、現在処理しているプログラムのファイル名とステー
トメントに対応した行番号を認識することができる。さ
らに、現在処理しているステートメントがどの関数内で
あるかの識別は、関数名を構文解析処理から出力される
関数の開始を示す情報から関数の終了を示す情報を受け
取るまで保持することによって行うことができる。
【0017】デバッグ文挿入位置検出手段3は、構文解
析処理から入力されるステートメント情報をもとに、デ
バッグ文出力定義設定手段2に登録されているデバッグ
文挿入条件を検索し、ステートメント情報と登録されて
いるデバッグ文の挿入条件が一致したとき、デバッグ文
を挿入すべき位置としてファイル名・行番号・関数名を
検出することができる。
【0018】デバッグ文挿入位置検出手段3は、デバッ
グ文の挿入位置を検出すると、デバッグ文挿入位置情報
のファイル名・行番号・関数名と、デバッグ文挿入条件
に対応したデバッグ文の種別情報をデバッグ文作成手段
4へ渡す。
【0019】(3)デバッグ文の出力情報の指定とデバ
ッグ文の作成方式 デバッグ文を作成するために、デバッグ文の表示形式と
出力する情報の種別情報をデバッグ文出力形式定義とし
てデバッグ文出力定義手段2に登録する。ここで登録す
る表示形式には、(1)ファイル名・行番号付き、
(2)関数名付き、(3)変数値の表示形式(2進数/
8進数/10進数/16進数)、(4)変数アドレス付
き等があり、登録する種別情報には、(1)関数名、
(2)関数の引数、(3)関数の復帰値、(4)変数名
がある。
【0020】デバッグ文作成手段4では、デバッグ文挿
入位置検出手段3より通知される作成すべきデバッグ文
の種別情報と、デバッグ文出力定義設定手段2に登録さ
れているデバッグ文として出力する情報の種別情報によ
って、表示すべき情報を選択することができ、デバッグ
文挿入位置検出手段3により通知されるファイル名、関
数名と選択されたデバッグ文で出力する情報(関数名、
関数の引数名または変数名)によって、ラベル情報記憶
手段1に記憶している変数情報または関数情報を検索す
ることにより、出力する情報の型とそのサイズを知るこ
とができる。さらに、デバッグ文出力定義設定手段2に
登録されているデバッグ文の表示形式によって、デバッ
グ文で出力する情報の出力フォーマットを決定すること
ができる。
【0021】上記したように本発明では、プログラム言
語の構文解析結果を利用し、上記した方式によりデバッ
グ文を作成するために必要な情報をすべて得ることがで
きるとともに、デバッグ文の挿入位置を知ることができ
る。そして、デバッグ文出力定義設定手段に登録されて
いるデバッグ文の表示形式によってデバッグ文として出
力する情報のフォーマットを決定することができる。こ
れにより、デバッグ文を挿入したプログラムを自動的に
作成することができる。
【0022】
【実施例】次に本発明の実施例を説明する。図2は本発
明の実施例を説明する構成図である。同図において、1
1はソースプログラム群であり、その内容は入力処理部
12によって読み込まれ、構文解析部13に渡される。
構文解析部13は、ソースプログラム11の内容を構文
解析し、その構文解析結果を変数抽出処理部14、関数
抽出処理部15、出力処理部16へそれぞれ出力する。
【0023】上記変数抽出処理部14は、構文解析部1
2の構文解析結果から変数情報を抽出してラベル情報フ
ァイル17に出力する。また上記関数抽出処理部15
は、構文解析部13の構文解析結果から関数情報を抽出
してラベル情報ファイル17に出力する。また、上記出
力処理部16は、構文解析部13の構文解析結果をデバ
ッグ文挿入位置判定処理部18、デバッグ文作成処理部
19へ出力する。
【0024】上記デバッグ文挿入位置検出処理部18
は、構文解析部13の解析結果とラベル情報ファイル1
7の内容とデバッグ文出力定義ファイル20に設定され
た内容とにより、デバッグ文を挿入する位置か否かの判
定を行うもので、デバッグ文を挿入する位置を検出する
と、デバッグ文の型情報とデバッグ文として出力するた
めのラベル情報を、デバッグ文作成処理部19に出力す
る。また、このデバッグ文挿入位置検出処理部18は、
デバッグ文を挿入する位置を検出しなかった場合は、そ
の旨を出力処理部16へ通知する。
【0025】デバッグ文作成処理部19は、構文解析部
13の解析結果及びデバッグ挿入位置検出処理部18の
判定結果とラベル情報ファイル17及びデバッグ文出力
定義ファイル20の内容とにより、デバッグ文を作成し
て出力処理部16へ出力する。これにより出力処理部1
6ではデバッグ文挿入位置検出処理部18とデバッグ文
作成処理部19の結果を受け取った順番に出力プログラ
ム群21に送出する。
【0026】上記ラベル情報ファイル17に記憶される
変数情報と関数情報の例およびデバッグ文出力定義ファ
イル20の設定例を次に示す。まず、ラベル情報ファイ
ル17に記憶される変数情報は、変数の名前をキーとし
て「その変数の型」、「記憶クラス(global/local/aut
o)」、「定義されているファイル名」、「行番号」で構
成され、変数ごとに記憶される。また、関数情報は、関
数の名前をキーとして、「その関数の型」、「記憶域
(global/local)」、「引き数の個数」、「定義されて
いるファイル名」、「行番号」さらにその関数の引き数
の個数分の引き数情報として、「引き数の名前」、
「型」で構成されており、関数ごとに記憶される。
【0027】次にデバッグ文出力定義ファイル20に設
定される内容の例として、デバッグ文の挿入条件には、
(a)関数入口で挿入する、(b)関数出口で挿入す
る、(c)指定変数への代入で挿入する、(d)if文で
挿入する、(e)for 文で挿入する、(f)while 文で
挿入する、(g)switch文で挿入する等がある。またデ
バッグ文で出力する情報種別には、(1)関数名、
(2)関数の引数、(3)関数の復帰値、(4)変数名
等がある。そして、デバッグ文の出力形式には、(1)
ファイル名・行番号付き、(2)関数名付き、(3)変
数値の表示形式(2進数/8進数/10進数/16進
数)、(4)変数アドレス付き等がある。
【0028】これら各設定内容、つまりデバッグ文の挿
入条件(a)〜(g)、デバッグ文で出力する情報種別
(1)〜(4)、デバッグ文の出力形式(1)〜(4)
は、それぞれの場合に応じて、予め指定することによっ
てデバッグ文出力定義ファイル20にその指定された項
目が設定されるものである。
【0029】また上記デバッグ文挿入位置検出処理部1
8におけるデバッグ文の挿入位置の検出方法の具体例と
して、挿入条件の設定が、上記(a)関数の入口で挿入
するという条件の場合の挿入位置検出処理を図3のフロ
ーチャートにより説明する。
【0030】すなわち、デバッグ文挿入位置検出処理部
18は、構文解析処理部13の構文解析結果として、関
数エントリと関数名が通知されると、デバッグ文出力定
義ファイル20を参照して、設定されているデバッグ文
挿入条件を取り出し(ステップS1)、そのデバッグ文
挿入条件の関数入口が指定されているか否かを判定する
(ステップS2)。そして、デバッグ文の挿入条件とし
て関数入口が指定されていれば、デバッグ文出力定義フ
ァイル20を参照して、デバッグ文として出力する情報
種別を取り出し(ステップS3)、情報種別として関数
名が指定されているか否かを判定する(ステップS
4)。そして、情報種別として関数名が指定されている
場合、その関数名と構文解析部13からの関数名と一致
するか否かの判定を行い(ステップS5)、一致すれば
デバッグ文を挿入する位置であると判定する(ステップ
S6)。
【0031】このようにして、デバッグ文の挿入位置の
判定が行われる。次にデバッグ文作成処理部19におけ
るデバッグ文の作成方式の具体例として、関数入口での
デバッグ文の作成方式を示す。
【0032】まず、上記デバッグ文挿入位置検出処理部
18から通知されるデバッグ文タイプ(関数エントリ)
と関数名より、この関数名をキーとしてラベル情報ファ
イル17を検索し、関数情報を取り出す。そして、デバ
ッグ文出力定義ファイル20を参照し、デバッグ文とし
て出力する情報種別が、関数の引き数の指定であるか否
かを判定することによって、デバッグ文で関数の引き数
を表示するか否かを決定する。このようにデバッグ文の
出力形式の指定とラベル情報ファイル17から取り出し
た関数情報によりデバッグ文として出力されるデータフ
ォーマットを決定する。
【0033】以下に実際のプログラムに本発明を適用し
てデバッグ文を挿入したプログラムの作成例を説明す
る。ここでは、原始プログラムのファイル名を「sr
c.c」、デバッグ文が挿入されたプログラムのファイ
ル名を「dbg−src.c」、デバッグ情報を出力す
る関数を「DBG−PRINT」とする。
【0034】図4はC言語で書かれた原始プログラムの
一例を示すもので、このような原始プログラム「sr
c.c」に本発明方式を用いてデバッグ文を自動挿入し
たプログラム例を図5に示す。図5の如く作成されたプ
ログラムは、デバッグ文出力定義ファイル20に前記し
たデバッグ文の挿入条件(a)〜(g)、デバッグ文の
表示形式(1)〜(4)、出力する情報種別(1)〜
(4)の各設定項目のうち、設定項目の指定を次のよう
にした場合である。
【0035】デバッグ文挿入条件:(a)関数の入口で
挿入、(b)関数の出口で挿入 デバッグ文の表示形式:(1)ファイル名・行番号付
き、(3)変数値の表示形式として10進数 出力する情報種別:(1)関数名、(2)関数の引数、
(3)関数の復帰値 このような設定のもとに作成されたプログラム(図5)
において、(A),(B),(A)′,(B)′は本発
明により原始プログラム「src.c」に自動的に挿入
されたデバッグ文であり、(A),(A)′は上記デバ
ッグ文の挿入条件として(a)関数の入口で挿入の条件
で作成されるデバッグ文である。ここで、作成されるデ
バッグ文の出力フォーマットは次のように決定される。
【0036】フォーマット記述子は、”%d %s: functio
n %s(%d)¥n”であり、これら各記述子は次のような意
味を持っている。 %d %s: ・・・デバッグ文の表示形式として(1)ファ
イル名・行番号付き指定により、ファイル名と行番号を
出力することを示す。
【0037】function・・・デバッグ文挿入条件とし
て、(a)関数の入口で挿入するという条件より、関数
入口のデバッグ文であることを示す。 %s ・・・出力する情報種別として、(1)関数名
指定により、関数名を表示することを示す。
【0038】(%d) ・・・出力する情報種別として、
(2)関数の引数、表示形式として(3)10進数指定
により、関数の引数を10進数で表示することを示す。
【0039】また、デバッグ文で出力する情報は以下の
ように決定される。 ファイル名・・・デバッグ文挿入位置検出処理部18か
ら通知される現在処理しているファイルのファイル名が
選択される。
【0040】行番号 ・・・デバッグ文挿入位置検出
処理部18から通知される関数名とファイル名より、ラ
ベル情報ファイル17に記憶している関数情報を検索
し、一致した関数の定義されている行番号が選択され
る。
【0041】関数名 ・・・デバッグ文挿入位置検出
処理部18から通知される関数名が選択される。 関数の引数・・・デバッグ文挿入位置検出処理部18か
ら通知される関数名とファイル名より、ラベル情報ファ
イル17に記憶している関数情報を検索し、一致した関
数の引数情報が選択される。
【0042】(B),(B)′は、デバッグ文の挿入条
件として、(b)関数の出口で作成されるデバッグ文で
ある。ここで、作成されるデバッグ文の出力フォーマッ
トは以下のように決定される。
【0043】フォーマット記述子は、”%d %s: returns
%s(%d) ¥n”であり、これら各記述子は次のような意
味を持っている。 %d %s: ・・・デバッグ文の表示形式として、(1)フ
ァイル名・行番号付き指定により、ファイル名と行番号
を出力することを示す。
【0044】returns ・・・デバッグ文挿入条件とし
て、(b)関数の出口で挿入するという条件より、関数
出口のデバッグ文であることを示す。 %s ・・・出力する情報種別として、(1)関数名
指定により、関数名を表示することを示す。
【0045】(%d) ・・・出力する情報種別として、
(3)関数の復帰値、表示形式として(3)10進数指
定により、関数の復帰値を10進数で表示することを示
す。また、デバッグ文で出力する情報は以下のように決
定される。 ファイル名・・・デバッグ文挿入位置検出処理部18か
ら通知される現在処理しているファイルのファイル名が
選択される。
【0046】行番号 ・・・デバッグ文挿入位置検出
処理部18から通知される現在処理しているファイルの
行番号が選択される。 関数名 ・・・デバッグ文挿入位置検出処理部18か
ら通知される現在処理している関数名が選択される。
【0047】復帰値 ・・・デバッグ文挿入位置検出
処理部18から通知されるreturn文の識別情報によって
return文で返す値を復帰値として選択される。図6はデ
バッグ文出力定義ファイル20に、デバッグ文の挿入条
件、デバッグ文の表示形式として、次のような設定とす
る指定を行った場合のプログラム作成例を示すものであ
る。
【0048】デバッグの挿入条件:(d)if文 デバッグの表示形式:(1)ファイル名・行番号付き 図6において、(A)・(B)は原始プログラム「sr
c.c」に自動的に挿入されたデバッグ文である。
【0049】(A)は、デバッグ文の挿入条件として、
(d)if文で条件式が真の場合に作成されるデバッグ文
である。ここで作成されるデバッグ文の出力フォーマッ
トは以下のように決定される。
【0050】フォーマット記述子は、“%d %s:if(true)
%s(%d) ¥n”であり、これら、各記述子は次のような
意味を持っている。 %d %s: ・・・デバッグ文の表示形式として、(1)
ファイル名・行番号付き指定により、ファイル名と行番
号を出力することを示す。
【0051】if (true) ・・・デバッグ文挿入条件とし
て、(a)if文より、条件式が真のデバッグ文であるこ
とを示す。また、デバッグ文で出力する情報は以下のよ
うに決定される。
【0052】ファイル名・・・デバッグ文挿入位置検出
処理部18から通知される現在処理しているファイルの
ファイル名が選択される。 行番号 ・・・デバッグ文挿入位置検出処理部18か
ら通知される現在処理しているif文の行番号が選択され
る。
【0053】(B)は、デバッグ文の挿入条件としての
(d)if文で条件式が偽の場合に作成されるデバッグ文
である。ここで、作成されるデバッグ文の出力フォーマ
ットは以下のように決定される。
【0054】フォーマット記述子は、”%d %s: (false)
%s(%d) ¥n”であり、これら各記述子は次のような意
味を持っている。 %d %s: ・・・デバッグ文の表示形式として、(1)
ファイル名・行番号付き指定により、ファイル名と行番
号を出力することを示す。
【0055】if(false) ・・・デバッグ文挿入条件とし
て、(a)if文より、条件式が偽のデバッグ文であるこ
とを示す。また、デバッグ文で出力する情報は以下のよ
うに決定される。
【0056】ファイル名・・・デバッグ文挿入位置検出
処理部18から通知される現在処理しているファイルの
ファイル名が選択される。 行番号 ・・・デバッグ文挿入位置検出処理部18か
ら通知される現在処理しているelse文の行番号が選択さ
れる。
【0057】以上のように、ソースプログラムを読み込
んでその構文を解析して、指定されたデバッグ文の出力
形式によってデバッグ文の挿入位置を検出し、自動的に
デバッグ文を挿入したプログラムを作成することができ
る。
【0058】
【発明の効果】本発明によれば、 1)ソースプログラムを読み込みその構文を解析して、
指定されたデバッグ文の出力形式によってデバッグ文の
挿入位置を検出し、自動的にデバッグ文を挿入したプロ
グラムを作成することにより、手作業によるデバッグ文
の挿入・変更・追加を行う必要がなくなる。
【0059】2)デバッグ文で出力する情報を指定でき
るため、出力する特定変数を指定し、上記機能によって
デバッグ文の挿入位置を検出することができるため、容
易にデバッグ文が出力する情報を変更することができ
る。
【0060】3)本発明では、デバッグ文出力定義ファ
イルを導入し、ソースプログラムよりデバッグ文を挿入
したデバッグ用のプログラムを作成し、ソースプログラ
ムに一切の変更を加えないため、デバッグ終了後、デバ
ッグ文を無効化する必要がない。
【0061】4)また、プログラム完成後、デバッグ文
を挿入したプログラムは簡単に作成できるため、ソース
プログラムとデバッグ文出力定義ファイルのみをメンテ
ナンスするだけで良く、デバッグ文を挿入したプログラ
ムを保管する必要がない。
【0062】という効果が得られる。
【図面の簡単な説明】
【図1】本発明の原理を説明するブロック図である。
【図2】本発明の一実施例を説明する構成図である。
【図3】同実施例におけるデバッグ文挿入位置検出処理
の一例を説明するフローチャートである。
【図4】同実施例にて用いられる原始プログラムの一例
を示す図である。
【図5】図4の原始プログラムにデバッグ文を挿入した
第1のプログラム作成例を示す図である。
【図6】図4の原始プログラムにデバッグ文を挿入した
第2のプログラム作成を示す図である。
【符号の説明】
1 ラベル情報記憶手段 2 デバッグ文出力定義設定手段 3 デバッグ文挿入位置検出手段 4 デバッグ文作成手段

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 プログラムを構文解析した構文解析情報
    から抽出した変数情報及び関数情報を記憶するラベル情
    報記憶手段(1)と、 上記プログラムに挿入すべきデバッグ文の挿入条件、そ
    のデバッグ文の出力種別情報、そのデバッグ文の出力形
    式が設定されるデバッグ文出力定義設定手段(2)と、 上記構文解析情報と上記デバッグ文出力定義手段(2)
    に設定されたデバッグ文挿入条件およびデバッグ文出力
    種別情報とによりデバッグ文の挿入位置を判定するデバ
    ッグ文挿入位置検出手段(3)と、 上記ラベル情報記憶手段(1)で記憶された変数情報及
    び関数情報とデバッグ文出力定義設定手段(2)に設定
    されたデバッグ文の出力形式及び上記デバッグ文挿入位
    置検出手段(3)からの情報をもとにプログラムに挿入
    すべきデバッグ文を作成するデバッグ文作成手段(4)
    と、 を有したことを特徴とするデバッグ文の自動作成方式。
  2. 【請求項2】 上記デバッグ文挿入位置検出手段(3)
    は、構文解析情報をもとにデバッグ文出力定義設定手段
    (2)に設定されているデバッグ挿入条件を検索し、上
    記構文解析情報と設定されているデバッグ挿入条件の一
    致を監視してデバッグ文挿入位置処理を行うことを特徴
    とする請求項1記載のデバッグ文の自動作成方式。
JP4319862A 1992-11-30 1992-11-30 デバッグ文の自動作成方式 Withdrawn JPH06168111A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4319862A JPH06168111A (ja) 1992-11-30 1992-11-30 デバッグ文の自動作成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4319862A JPH06168111A (ja) 1992-11-30 1992-11-30 デバッグ文の自動作成方式

Publications (1)

Publication Number Publication Date
JPH06168111A true JPH06168111A (ja) 1994-06-14

Family

ID=18115065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4319862A Withdrawn JPH06168111A (ja) 1992-11-30 1992-11-30 デバッグ文の自動作成方式

Country Status (1)

Country Link
JP (1) JPH06168111A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1083326A (ja) * 1996-05-01 1998-03-31 Internatl Business Mach Corp <Ibm> トレース・データ収集方法およびコンピュータ読み取り可能コード
JP2000235510A (ja) * 1999-02-15 2000-08-29 Hitachi Ltd プロセッサおよびそのためのコンパイルプログラム記録媒体
JP2002236595A (ja) * 2001-02-09 2002-08-23 Fujitsu Ten Ltd 電子機器ならびにそのデバッグ支援装置および方法
JP2003526135A (ja) * 1998-11-16 2003-09-02 インシグニア・ソリューションズ・ピーエルシー コンピュータ・システム、コンピュータ読取り可能な記憶媒体および同媒体を動作させる方法、およびコンピュータ・システムを動作させる方法
JP2007094707A (ja) * 2005-09-28 2007-04-12 Hitachi Software Eng Co Ltd アプリケーション動作追跡支援装置
WO2011013235A1 (ja) * 2009-07-30 2011-02-03 株式会社 東芝 不変条件の動的検証のための装置および方法
JP2013080406A (ja) * 2011-10-05 2013-05-02 Fujitsu Ltd コンパイル装置、情報処理システム、コンパイル方法、コンパイルプログラム、記録媒体

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1083326A (ja) * 1996-05-01 1998-03-31 Internatl Business Mach Corp <Ibm> トレース・データ収集方法およびコンピュータ読み取り可能コード
JP2003526135A (ja) * 1998-11-16 2003-09-02 インシグニア・ソリューションズ・ピーエルシー コンピュータ・システム、コンピュータ読取り可能な記憶媒体および同媒体を動作させる方法、およびコンピュータ・システムを動作させる方法
JP2000235510A (ja) * 1999-02-15 2000-08-29 Hitachi Ltd プロセッサおよびそのためのコンパイルプログラム記録媒体
JP2002236595A (ja) * 2001-02-09 2002-08-23 Fujitsu Ten Ltd 電子機器ならびにそのデバッグ支援装置および方法
JP2007094707A (ja) * 2005-09-28 2007-04-12 Hitachi Software Eng Co Ltd アプリケーション動作追跡支援装置
JP4641238B2 (ja) * 2005-09-28 2011-03-02 株式会社日立ソリューションズ アプリケーション動作追跡支援装置
WO2011013235A1 (ja) * 2009-07-30 2011-02-03 株式会社 東芝 不変条件の動的検証のための装置および方法
JP2013080406A (ja) * 2011-10-05 2013-05-02 Fujitsu Ltd コンパイル装置、情報処理システム、コンパイル方法、コンパイルプログラム、記録媒体

Similar Documents

Publication Publication Date Title
CN109800175B (zh) 一种基于代码插桩的以太坊智能合约重入漏洞检测方法
EP0688448B1 (en) Incremental build system
US5987250A (en) Transparent instrumentation for computer program behavior analysis
US6367068B1 (en) Dynamic parsing
US5142679A (en) Method and apparatus for collecting execution status data of structured program
US7353427B2 (en) Method and apparatus for breakpoint analysis of computer programming code using unexpected code path conditions
US6550056B1 (en) Source level debugger for debugging source programs
US5862382A (en) Program analysis system and program analysis method
EP0785510A1 (en) Program debugging system for debugging a program having a graphical user interface
US5987248A (en) Debugging information display device
US7086033B2 (en) Software debugger having a monitor for monitoring conditional statements within a software program
JPH06168111A (ja) デバッグ文の自動作成方式
US7062760B2 (en) System and method for measuring syntax coverage percentage
JPH09244921A (ja) ソフトウエア試験の自動化システム
EP2535813B1 (en) Method and device for generating an alert during an analysis of performance of a computer application
CN113434385A (zh) 一种针对软件模型检查工具的测试用例自动生成方法和系统
JP4055197B2 (ja) プログラムに含まれる手続きの解析装置
JP2000207246A (ja) デバッグ支援装置及び方法並びにデバッグ支援用ソフトウェアを記録した記録媒体
JP2005056183A (ja) ルール検査システム、ルール検査装置、ルール検査方法、及びルール検査プログラム
JPH0926897A (ja) プログラム解析装置及びプログラム解析方法
JPH09101880A (ja) プログラム分析装置
JPH01177165A (ja) 配列の定義/引用関係検査方式
JPH04540A (ja) デバック装置
JPH05298082A (ja) プログラム編集装置及びその方法
JPH08272649A (ja) プログラムモジュールの単体試験に用いる試験項目票の作成方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000201