JPH0239331A - デバッグ文生成装置 - Google Patents

デバッグ文生成装置

Info

Publication number
JPH0239331A
JPH0239331A JP63190012A JP19001288A JPH0239331A JP H0239331 A JPH0239331 A JP H0239331A JP 63190012 A JP63190012 A JP 63190012A JP 19001288 A JP19001288 A JP 19001288A JP H0239331 A JPH0239331 A JP H0239331A
Authority
JP
Japan
Prior art keywords
debug
source program
source
statement
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
JP63190012A
Other languages
English (en)
Inventor
Susumu Umatani
馬谷 晋
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP63190012A priority Critical patent/JPH0239331A/ja
Publication of JPH0239331A publication Critical patent/JPH0239331A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、プログラム実行時にデバッグ情報を自動的に
出力するデバッグ文自動生成装置に関する。
〔概要〕
本発明は、プログラムを実行させてデバッグを行うとき
にデバッグ情報を収集する手段において、コンパイル時
にデバッグオプションが指定された範囲内でデバッグ文
を作成することにより、プログラム実行時にデバッグ情
報を自動的に出力することができるようにしたものであ
る。
〔従来の技術〕
プログラムを実行させてデバッグを行うときに、デバッ
グ情報を収集する従来方法としては、(1)ソースプロ
グラム中にデバッグ情報を収集する文を挿入する方法、 (2)デバッガでプログラムを中断させ、そのときにデ
バッグ情報を収集する方法 とがある。
〔発明が解決しようとする問題点〕
このような従来方法のうち、(1)の方法では、文の挿
入に手間がかかるとともにソースを年修正する際にプロ
グラムのロジックを誤って破壊する欠点がある。また、
(2)の方法では、デバッガがサポートされてないコン
ピュータや、アドレスに基づくデバッグを行うデバッガ
でサポートされるコンピュータでは、高級言語の知識し
かない利用者にとってはデバッグ効率が著しく低下する
欠点がある。
本発明はこのような欠点を除去するもので、プログラム
実行時にデバッグ情報を自動的に出力することができる
デバッグ文生成装置を提供することを目的とする。
〔問題点を解決するための手段〕
本発明は、デバッグ情報文が含まれるソースプログラム
を格納する格納手段と、与えられたデバッグオプション
を解析し、デバッグ情報文を収集するソースプログラム
の名前およびこのソースプログラム内のデバッグ情報文
を収集する開始位置および終了位置を示す行番号を抽出
するオプション読込手段と、このオプション読込手段で
抽出された名前に一致するソースプログラムを上記格納
手段から抽出するソース読込手段と、このソース読込手
段が抽出したソースプログラムが上記オプション読込手
段で抽出した行番号の間に存在するか否かをfIi認す
る行番号読込手段と、この行番号読込手段で確認された
ソースプログラムが実行文か否かを確認するデバッグ文
生成判定手段と、このデバッグ文生成判定手段で実行文
であることが確認されたソースプログラムに基づきデバ
ッグ情報文を生成するデバッグ情報文生成手段とを備え
たことを特徴とする。
〔作用〕
当該プログラム名、デバッグ開始行番号、デバッグ終了
行番号のデバッグオプションを解析する。
ソースプログラムがこのデバッグオプションと一致する
か否かを確認し、かつソースプログラムの文を読み込む
。デバッグオプションのデバッグ開始行番号とデバッグ
終了行番号に読み込んだソースプログラム文が該当する
か否かを確認する。その読み込んだソースプログラム文
が実行文か否かを判定する。実行文であった場合に、当
該文の変数の型にあったデバッグ情報文を生成する。
〔実施例〕
以下、本発明の一実施例を図面に基づき説明する。第1
図はこの実施例の構成を示すブロック構成図である。
この実施例は、第1図に示すように、プログラム名読込
処理手段1と、ソース読込処理手段2と、行番号読込処
理手段3と、デバッグ文生成判定処理手段4と、デバッ
グ文生成処理手段5と、オブジェクト生成処理手段6と
、ソースプログラム格納手段10とから成る。すなわち
、この実施例は、デバッグ情報文が含まれるソースプロ
グラムを格納する格納手段であるソースプログラム格納
手段10と、与えられたデバッグオプションを解析し、
デバッグ情報文を収集するソースプログラムの名前およ
びこのソースプログラム内のデバッグ情報文を収集する
開始位置および終了位置を示す行番号を抽出するオプシ
ョン読込手段であるプログラム名読込処理手段1と、こ
のオプション読込手段で抽出された名前に一致するソー
スプログラムを上記格納手段から抽出するソース読込手
段であるソース読込処理手段2と、このソース読込手段
が抽出したソースプログラムが上記オプション読込手段
で抽出した行番号の間に存在するか否かを確認する行番
号読込手段である行番号読込処理手段3と、この行番号
読込手段で確認されたソースプログラムが実行文か否か
を確認するデバッグ文生成判定手段であるデバッグ文生
成判定処理手段4と、このデバッグ文生成判定手段で実
行文であることが確認されたソースプログラムに基づき
デバッグ情報文を生成するデバッグ情報文生成手段であ
るデバッグ文生成処理手段5とを備える。
第2図はこの実施例の動作を示すフロー図である。この
実施例の動作を第2図に基づき説明する。
まず、プログラム名読込処理手段1は与えられたデバッ
グオプションを解析し、プログラム名、行番号1および
行番号2を抽出する(ステップS1)。これにつづき、
コンパイル処理が開始される。まず、ソース読込処理手
段2でソースプログラム文を読み込み、プログラム名読
込処理手段1で抽出したプログラム名と一致するか否か
を確認する(ステップS3)。次に、行番号読込処理手
段3で行番号1と行番号2との間に読み込んだソースプ
ログラム文が該当するか否かを確認する(ステップS3
)。この条件が一致した場合にデバッグ文生成判定処理
手段4でその文が実行文か否かの確認を行う(ステップ
S4)。実行文であった場合にデバッグ文生成処理手段
5で当該文の変数の型に適合したデバッグ情報文を自動
的に生成する(ステップS5)。オブジェクト生成処理
手段6で利用者がコーディングした文と同様に翻訳して
機械語を生成する(ステップ36)。人力するソースプ
ログラムがなくなるまでこの一連の処理が繰り返される
第3図はソースプログラムとデバッグオプションとを指
定しコンパイルした結果のオブジェクトのソースプログ
ラムイメージでデバッグ情報文がうめ込まれた状態を示
す図である。
たとえば、デバッグオプションの指定は−DB(プログ
ラム名、行番号1、行番号2)である。
ここで、プログラム名は、デバッグ情報を収集したいプ
ログラムの名前(たとえばC言梧では関数名)であり、
行番号1は、プログラム名で指定したプログラム内のデ
バッグ情報を収集する開始位置を指定するものでプログ
ラム内の第1行目からの相対行番号であり、行番号2は
デバッグ情報の収集を終了する行番号であり、前述の行
番号1に対応するものである。これをコンパイル時のオ
プションとして指定する。デバッグ情報収集文はこのデ
バッグオプションを指定しないと生成されない。第3図
では−DB(main 、 6.7)としてデバッグオ
プションが指定されている。これはプログラム名mai
nの6行目から7行目までのデバッグ情報を出力するこ
とを示す。第3図下方がデバッグオプションでコンパイ
ルした後のソースプログラムイメージである。矢印が示
しているところが行番号6および7にそれぞれ対応する
デバッグ情報文であり、 printf(“main:3a CD =%dl二%
dXXn 、a [i] 、i);を実行すると、 main:3  a Ci’) =Oi=0と表示され
、プログラム名mainの3行目のa (i)の値とi
の値が変数の型にあった書式(%dすなわち10進表示
)で表示される。7行目も同様に表示される。
〔発明の効果〕
本発明は、以上説明したように、コンパイル時のデバッ
グオプションを指定することで、デバッグ情報を容易に
収集できる効果が−ある。
【図面の簡単な説明】
第1図は本発明実施例の構成を示すブロック構成図。 第2図は本発明実施例の動作を示すフロー図。 第3図はソースプログラムとコンパイルしたソースプロ
グラムイメージとを示す対比図。 1・・・プログラム名読込処理手段、2・・・ソース読
込処理手段、3・・・行番号読込処理手段、4・・・デ
バッグ文生成判定処理手段、5・・・デバッグ文生成処
理手段、6・・・オブジェクト生成処理手段、10・・
・ソースプログラム格納手段。

Claims (1)

  1. 【特許請求の範囲】 1、デバッグ情報文が含まれるソースプログラムを格納
    する格納手段(10)と、 与えられたデバッグオプションを解析し、デバッグ情報
    文を収集するソースプログラムの名前およびこのソース
    プログラム内のデバッグ情報文を収集する開始位置およ
    び終了位置を示す行番号を抽出するオプション読込手段
    (1)と、 このオプション読込手段で抽出された名前に一致するソ
    ースプログラムを上記格納手段から抽出するソース読込
    手段(2)と、 このソース読込手段が抽出したソースプログラムが上記
    オプション読込手段で抽出した行番号の間に存在するか
    否かを確認する行番号読込手段(3)と、 この行番号読込手段で確認されたソースプログラムが実
    行文か否かを確認するデバッグ文生成判定手段(4)と
    、 このデバッグ文生成判定手段で実行文であることが確認
    されたソースプログラムに基づきデバッグ情報文を生成
    するデバッグ情報文生成手段(5)と を備えたことを特徴とするデバッグ文生成装置。
JP63190012A 1988-07-29 1988-07-29 デバッグ文生成装置 Pending JPH0239331A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63190012A JPH0239331A (ja) 1988-07-29 1988-07-29 デバッグ文生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63190012A JPH0239331A (ja) 1988-07-29 1988-07-29 デバッグ文生成装置

Publications (1)

Publication Number Publication Date
JPH0239331A true JPH0239331A (ja) 1990-02-08

Family

ID=16250905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63190012A Pending JPH0239331A (ja) 1988-07-29 1988-07-29 デバッグ文生成装置

Country Status (1)

Country Link
JP (1) JPH0239331A (ja)

Similar Documents

Publication Publication Date Title
JP3380390B2 (ja) デバッグ情報表示装置
JPH0736680A (ja) 並列化プログラム開発支援装置
JPH0239331A (ja) デバッグ文生成装置
US20040064301A1 (en) Software development system, simulator, and recording medium
JP4055197B2 (ja) プログラムに含まれる手続きの解析装置
CN111367937B (zh) 一种数据处理方法和装置
JP2956591B2 (ja) ループ外への条件付き飛び出しがあるループの並列化方法及び装置
JPS59183441A (ja) 拡張言語のデバツグ処理方式
JP2811804B2 (ja) 変数出力範囲指定方式
JPH04540A (ja) デバック装置
JPH02244341A (ja) 実行サブルーチンデバツグ情報出力トレース方式
JPH01155438A (ja) コンパイラ試験方式
JPH0566929A (ja) コンパイラの再コンパイル時間の短縮方式
JPH0628165A (ja) コーディング規則に基づくコード自動診断装置
JP2786689B2 (ja) コンパイラ処理方法
JP3018783B2 (ja) コンパイル方式
JPH1139155A (ja) コンパイル時の情報収集による実行時性能の静的解析方法
JPH0439703B2 (ja)
JPH03268029A (ja) 構文チェッカ
JPH05341973A (ja) プログラム解析装置
JPH01291329A (ja) 高速コンパイル処理方式
JPH1185533A (ja) マイクロコンピュータの品種別ツール自動生成装置およびそれに用いる品種別データ
JP2001034482A (ja) コンパイル装置、プログラム最適化装置、コンパイル処理方法及び記録媒体
JPH0231236A (ja) コンパイラ
JPH0477928A (ja) 言語処理装置