JPH03263129A - コンパイラ・デバッガ方法 - Google Patents

コンパイラ・デバッガ方法

Info

Publication number
JPH03263129A
JPH03263129A JP2062285A JP6228590A JPH03263129A JP H03263129 A JPH03263129 A JP H03263129A JP 2062285 A JP2062285 A JP 2062285A JP 6228590 A JP6228590 A JP 6228590A JP H03263129 A JPH03263129 A JP H03263129A
Authority
JP
Japan
Prior art keywords
error
debugging
corrected
program
data file
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
JP2062285A
Other languages
English (en)
Inventor
Masayoshi Shirakawa
正芳 白川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2062285A priority Critical patent/JPH03263129A/ja
Publication of JPH03263129A publication Critical patent/JPH03263129A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔発明の概要〕 プログラム可能な評価装置でのソースプログラムのコン
パイル、デバッグ時における、コンパイラ・デバッガ方
法に関し、 デバッグ時間を短かくし、デバッグを容易にすることを
目的とし、 プログラム可能な評価装置にソースプログラムを入力し
、コンパイルして中間ファイルを作り、中間ファイルを
実行して該評価装置によりデバッグするコンパイラ・デ
バッガ方法において、コンパイル時及びデバッグ時にエ
ラーが発生すれば、そのエラーが修正可能なら修正し、
修正不可能ならエラー発生行をマスクし、かつエラー内
容をエラーデータファイルに格納し、こうしてコンパイ
ル及びデバッグを中断することなくプログラムの最後ま
で行ない、その後、エラーデータファイルのエラー内容
に従って未修正エラーを修正し、エラーのないオブジェ
クトプログラムとするよう構成する。
〔産業上の利用分野〕
本発明は、プログラム可能な評価装置でのソースプログ
ラムのコンパイル、デバッグ時における、コンパイラ・
デバッガ方法に関する。
プログラム可能な評価装置においてソースプログラムの
デバッグを行なうとき多大な時間を要しており、この時
間短縮などが要望されている。
〔従来の技術〕
第3図に示すように、高級言語で書かれたソースプログ
ラムは、構文解析し、文法チエツクしてエラーがあれば
それを修正し、機械語プログラムに翻訳して中間ファイ
ルとし、それを実行してバグがあれば除いて、完成オブ
ジェクトプログラムとする。この作業は、コンパイラ・
デバッガ装置(プログラム可能な評価装置)で行なう。
プログラムデバッグの公知例としては特開昭58−19
962がある。これは、被試験機器に内蔵されているプ
ログラムの内容を−たんエミユレーション用のRAMに
取込み、取込んだ内容を処理して不良シーケンスを検出
するマイクロプロセッサアナライザにおいて、前記エミ
ユレーション用RAMに取込まれたシーケンス中の誤り
をマニュアルで修正した場合にその修正したという履歴
を記憶する修正管理メモリを設けた、これによりソース
リストとの対応をつけやすくしてデバッグの繰り返しを
少くすることができる、というものである。
これは、修正事実の記録にとどまるものである。
〔発明が解決しようとする課題〕
ソースプログラムをコンパイラ・デバッグが装置に通し
てオブジェクトプログラムを作成するが、コンパイラは
文法エラーが発生すると、そのエラー発生ポイントとエ
ラーコードをシステムコンソールに表示する。デバッガ
装置は、中間ファイルを実行してバグが発生すると、そ
の実行エラーポイントとエラーコードをシステムコンソ
ールに表示して処理を終了する。
このようにコンパイル時のエラー発生時にはそのエラー
内容(エラーポイントとエラーコード)がシステムコン
ソールに表示され、また実行時のエラー発生時にはその
エラー内容がシステムコンソールに表示されかつ実行停
止するので、プログラマ等はシステムコンソールに表示
されたエラー内容を見てソースプログラムの修正、変更
を行ない、コンパイラ・デバッガ装置を再起動するとい
う動作を繰り返してプログラムのデバッグを行なうので
、デバッグに多大の時間を要している。
本発明はか−る点を改善し、デバッグ時間を短かくし、
デバッグを容易にすることを目的とするものである。
〔課題を解決するための手段〕
第1図に示すように本発明では、プログラム可能な評価
装置10にエラーの修正変更機能を持たせる。また発生
したエラーの内容はエラーデータファイル23に格納し
ておく。
ソースプログラム20をプログラム可能な評価装置lO
にかけてコンパイルし、オブジェクトプログラム22に
するが、この際エラー(文法エラー)が発生すると、そ
のエラーが修正可能なら修正し、修正不可能ならマスク
し、次行へ移る。発生したらエラーの内容はエラーデー
タファイル23に格納する。これを繰り返して最後まで
コンパイルする。21はソースプログラム20に上記修
正・変更を加えたものである。修正できなかったエラー
はプログラマなどがエラーデータファイル23を見て修
正し、文法エラーのないソースプログラムにつきコンパ
イルしてオブジェクトプログラム22を作る。
こうしてできたオブジェクトプログラムは第4図で中間
ファイルと呼んだもので、まだエラー(非文法エラー)
があり得るから、プロセッサにロードして実行し、それ
をチエツクする。コンパイル時と同様に、エラーが発生
すると、そのエラーが修正可能であれば修正し、修正不
可能ならマスクし、エラー内容はエラーデータファイル
に格納し、プログラムの最後まで実行する。然る後プロ
グラマ等はエラーデータファイル23を見てエラー修正
し、修正したプログラムを実行し、これをエラーがなく
なるまで行なう。
〔作用〕
このコンパイル、デバッグ方法によれば、コンパイル、
デバッグ時にエラーが発生すると、それが修正可能なら
修正し、修正不可能ならマスクし、エラー内容は記録し
、これを繰り返して最後までコンパイル、デバッグし、
エラー発生で停止するようなことはないので迅速なコン
パイル、デバッグが可能になる。
〔実施例〕
第1図〜第3図で本発明の詳細な説明する。プログラム
可能な評価装置10はシステムコントローラ11、コン
パイラ装置12、デバッガ装置13、コンパイラエラー
コード表14、デバッガエラーコード表15、システム
コンソール16などからなる。なおコンパイラ装置とデ
バッガ装置は一体のものであるが、機能が異なるのでこ
\では別にして示している。
ソースプログラム20はブロック化されており、A項目
、B項目、・・・・・・はその各ブロックである。
ソースプログラム20が例えば集積回路の試験用である
場合、各ブロックはその各種試験を行なわせるもので、
第3図に示すように設定、計算などの内容を持つ。
ソースプログラム20をシステムコントローラ11に入
カスると、システムコントローラはコンパイラ装置12
を用いてこれをコンパイルし、オブジェクトプログラム
22にする。この際文法エラーがあると、修正できるも
のであれば(文法エラーは修正可能であることが多い)
修正し、修正できないものであればその行をマスクし、
いずれの場合もそのエラー内容をエラーデータファイル
23に格納する。こうして最後までコンパイルしたら、
プログラマ等はエラーデータファイルを見て、未修正エ
ラーを修正し、この修正したソースプログラムをコンパ
イルしてオブジェクトプログラムにする。
修正・変更ソースプログラム21に示すように、本例で
はA項目についてはエラー無し、B項目についてはエラ
ーが有りそれが修正可能であるので修正している(B’
 はこの処理をしたBを示す)。
このエラー発生箇所(プログラムの行番号)及びエラー
内容をコードで表わしたものはエラーデータファイル2
3のエラーポイント、エラーコード、の欄に格納する。
本例ではC項目にもエラーがあり、しかしこれは修正不
可であったのでそれをマスクしくエラー行をコメントに
する)、そのエラー発生箇所およびエラー内容をエラー
データファイル23に格納し、以下これらに準じ、そし
て最終のZ項目ではエラー無しであった、としている。
こうして最後までコンパイルする。未修正エラーは手作
業で修正し、コンパイルし直す。
こうしてできたオブジェクトプログラムはまだ未完成で
、第4図で中間ファイルと呼んだものである。この中間
ファイルをプロセッサにロードして実行させ、デバッガ
装置13によりバグを検出する。この実行時のバグはデ
ータエラーなどで、修正不可能なものが多い。修正可能
なら修正するが、修正不可能なエラーは上記C′項目の
ように、そのエラー箇所をマスクして次の行くプログラ
ムステップ)へ進めるようにし、かつエラーは修正済み
/未了を問わずデータファイルへ記録を残す。
こうして中間ファイルを最後まで実行し、その後プログ
ラマ等がエラーデータファイル23を読出してエラー行
の修正し、再び実行してまだバグがあるかどうかチエツ
クし、バグがなくなった所で、完成オブジェクトプログ
ラムとする。
第2図は上記処理を流れ図で示す。先ずn行(nは最初
は1)をコンパイルし■、エラー発生か否かをみる■。
エラー発生でなければ最終行か否かチエツクし■、最終
行でなければnをn+xにしてステップ■に戻り、以下
これを繰り返す。
ステップ■でエラー発生であれば、その行は前の行と関
係があるか否かチエツクし■、関係がなければエラー修
正・変更可能か否かチエツクし■、可能ならコンパイル
データファイルを用いてそれを行ない■、エラーファイ
ルを作成して■、ステップ■へ移る。
ステップ■で前の行と因果関係があることが分ると、そ
の因果関係を確認して■、エラー修正・変更が可能か否
か調べ[相]、可能ならステップ■へ移る。またステッ
プ■、[相]でエラー修正・変更が不可能であることが
分ると、ニジ−ファイルを作成し0、その行をコメント
にして(マスクして)@、ステップ■へ移る。
以上の処理を繰り返して中間ファイルを作成し、これを
実行してバグ有無を調べる。このデバッグ処理もコンパ
イル処理と同じであり、第2図中の「コンパイル」を「
デバッグ」に置き換えるだけである。唯、コンパイル中
のエラー修正は可能な場合が多いので、■または[相]
、■、■のコースが多いが、デバッグ中のエラー修正は
殆んどが不可能なので、■または[相]、■、■のコー
スになる。
コンパイル時の文法エラーには、次の如きものがある。
例えば数値は小数点2桁まで示すことになっているので
10なら10.00とすべきであるのに、これが10.
0となっている、また変数の範囲は××までなのにこれ
を越えた変数が使われている、等である。前者はルール
に従って簡単に修正できる。
エラーデータファイル23はプリントアウトしてプログ
ラマが使用し、完成したオブジェクトプログラムは外部
記憶装置へ格納する。
〔発明の効果〕
以上説明したように本発明によれば、コンパイル及びデ
バッグ時間の短縮、作業の容易化が図れ、甚だ有効であ
る。
【図面の簡単な説明】
第1図は本発明の原理図、 第2図は本発明のコンパイル/デバッグ要領を示す流れ
図、 第3図はソースプログラムの構成の説明図、第4図はソ
ース/オブジェクト変換要領の説明図である。 第1図で10はプログラム可能な評価装置、20はソー
スプログラム、22はオブジェクトプログラム、23は
エラーデータファイルである。

Claims (1)

  1. 【特許請求の範囲】 1、プログラム可能な評価装置(10)にソースプログ
    ラム(20)を入力し、コンパイルして中間ファイルを
    作り、中間ファイルを実行して該評価装置によりデバッ
    グするコンパイラ・デバッガ方法において、 コンパイル時及びデバッグ時にエラーが発生すれば、そ
    のエラーが修正可能なら修正し、修正不可能ならエラー
    発生行をマスクし、かつエラー内容をエラーデータファ
    イル(23)に格納し、こうしてコンパイル及びデバッ
    グを中断することなくプログラムの最後まで行ない、そ
    の後、エラーデータファイルのエラー内容に従って未修
    正エラーを修正し、エラーのないオブジェクトプログラ
    ム(22)とすることを特徴とするソースプログラムの
    修正変更機能を備えたコンパイラ・デバッガ方法。
JP2062285A 1990-03-13 1990-03-13 コンパイラ・デバッガ方法 Pending JPH03263129A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2062285A JPH03263129A (ja) 1990-03-13 1990-03-13 コンパイラ・デバッガ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2062285A JPH03263129A (ja) 1990-03-13 1990-03-13 コンパイラ・デバッガ方法

Publications (1)

Publication Number Publication Date
JPH03263129A true JPH03263129A (ja) 1991-11-22

Family

ID=13195701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2062285A Pending JPH03263129A (ja) 1990-03-13 1990-03-13 コンパイラ・デバッガ方法

Country Status (1)

Country Link
JP (1) JPH03263129A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010067103A (ja) * 2008-09-12 2010-03-25 Nec Corp プログラムのエラー情報出力装置、エラー情報出力方法およびエラー情報出力プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010067103A (ja) * 2008-09-12 2010-03-25 Nec Corp プログラムのエラー情報出力装置、エラー情報出力方法およびエラー情報出力プログラム

Similar Documents

Publication Publication Date Title
US7284237B2 (en) Testing flow control at test assertion level
US7080360B2 (en) Breakpoint safety net
JP2003131902A (ja) ソフトウェアデバッガ、システムレベルデバッガ、デバッグ方法、及びデバッグプログラム
CN105354045A (zh) 补丁的制作方法及装置、补丁的激活方法及装置
Wahler et al. CAST: Automating software tests for embedded systems
JPH0748182B2 (ja) プログラム・エラー検出方法
US20220137586A1 (en) Method, computer program and apparatus for analysing a programmable logic controller program
JP2002532804A (ja) ハイブリッドコンピュータプログラミング環境
Curzon et al. A Verified Compiler for a Structured Assembly Language.
JPH03263129A (ja) コンパイラ・デバッガ方法
JPH0736734A (ja) アーギュメント値のチェック方法
EP3660602A1 (en) Testing code for an industrial control program in an ancillary environment
JPH01155438A (ja) コンパイラ試験方式
Brunner et al. Bug path reduction strategies for symbolic execution
JPH01205348A (ja) プログラムデバッグ方式
JPH10214205A (ja) モジュール検査装置
CN114490422A (zh) 一种利用Makefile实现监控工业软件中文件的方法
JP2002073370A (ja) デバッグ支援装置およびその装置によるデバッグ方法
JPH01154204A (ja) プラント監視方法
JPS63305434A (ja) ディバッギングエイド装置
Grötker et al. How Static Checking Can Help
CN112650497A (zh) 一种面向异构多目标平台的供应商库统一编译方法及系统
JPS63200243A (ja) デバッグ方法及びその装置
JPH03290739A (ja) プログラムの動的解析方式
JPH07200353A (ja) プログラムデバッグ方式