JPH0766343B2 - プログラムテスト装置 - Google Patents

プログラムテスト装置

Info

Publication number
JPH0766343B2
JPH0766343B2 JP60249656A JP24965685A JPH0766343B2 JP H0766343 B2 JPH0766343 B2 JP H0766343B2 JP 60249656 A JP60249656 A JP 60249656A JP 24965685 A JP24965685 A JP 24965685A JP H0766343 B2 JPH0766343 B2 JP H0766343B2
Authority
JP
Japan
Prior art keywords
program
command
execution
undefined
function
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.)
Expired - Lifetime
Application number
JP60249656A
Other languages
English (en)
Other versions
JPS62108338A (ja
Inventor
昭一 永妻
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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Priority to JP60249656A priority Critical patent/JPH0766343B2/ja
Publication of JPS62108338A publication Critical patent/JPS62108338A/ja
Publication of JPH0766343B2 publication Critical patent/JPH0766343B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Description

【発明の詳細な説明】 <発明の技術分野> 本発明は、プログラムのテスト装置、特に未定義関数を
含むソースレベルのプログラムを対話形式で実行テスト
するものに関する。
<発明の概要> この発明は、ソースレベルのプログラムを逐次実行する
インタプリタタイプのプログラムテスト装置であって、
未定義関数を含むラインを実行したことを検出すると、
プログラムの実行レベルのまま未定義関数に対応した値
を強制的に返して、プログラムの実行を自動的に継続さ
せることにより、トップダウン手法によるプログラム開
発を容易にせんとするものである。
<発明の背景> 一般に「C」等の各種構造化言語は、多数の関数あるい
はサブルーチンにより1つのプログラムが構成されてお
り、コンパイラおよびリンケージエディタを用いて全体
を1つの機械語プログラムとして統合することにより始
めて実行テストが可能となる。更にこの場合、プログラ
ムリスト中に未定義部分を含むことは許されず、従来は
プログラムが全て完成するのを待つか、スタブを予め作
成する為の方法が採られていた。
しかしながらスタブの作成作業それ自体が極めて繁雑な
作業であり、特に未定義部分がテスト中に発見された場
合は、例えその未定義関数が重要でなくそのまま通過し
たい場合でも、再度始めからコンパイル、リンク等の作
業を行わねばならない等、迅速なプログラムの実行テス
トを行うことは困難であった。
上記問題に対し、ソースレベルのプログラムを直接実行
するインタプリタタイプのプログラムテスト装置も提案
されているが、未定義部分に対しては従来と略同様にス
タブの定義およびリンク等の繁雑な作業を必要とし、更
にテスト実行途中に未定義部分が見つかった場合は、依
然としてプログラムの実行テストを一旦停止してインタ
プリタの実行レベルからエディタによる編集レベルに入
る必要があるなど、オペレータにとって能率的で快適な
プログラムテスト環境からはほど遠い。
<発明の目的> 本発明は、上記問題に鑑みてなされたものであって、イ
ンタプリタ形式でソースレベルのプログラムを実行中に
未定義関数に行き着いた場合、自動的に一定のコマンド
を与えてプログラムの実行を強制的に続行させることに
より、未定義関数を含むプログラムの実行テストが迅速
かつ容易に行えるプログラムのテスト装置を提供するこ
とを目的とする。
<発明の構成および効果> この発明は、ソースレベルのプログラムを1行ずつ取り
出して順次解釈実行するプログラムテスト装置におい
て、実行中のプログラムに未定義関数が含まれるか否か
を検出する検出手段と、前記検出手段により未定義関数
が検出されたとき、プログラムの継続を指示するための
コマンドを実行してプログラムの実行を強制的に継続さ
せるプログラム継続実行手段とを備えて成るものであ
る。
この発明の構成によれば、プログラム中に未定義関数を
含んでも自動的にプログラムの実行が継続されるので、
何等コンパイル、リンク等の手間を要することなくその
ままソースレベルでプログラムの実行テストが行え、プ
ログラムの開発能率の向上が図れる利点を有する。
<実施例の説明> 以下図面に示す実施例に基づき、本発明を具体的に説明
する。
なお実施例では、汎用コンピュータを用い、テスト目的
に応じてソフトウェアを取り替えることにより適用範囲
を広げたC言語用のインタプリタタイプのプログラムデ
バッグシステムに本発明を実施した一例を示すがこれに
限らず、それ単独で動作するテスト専用機等にも略同様
に実施でき、又、被デバッグプログラムの記述言語も
「C」以外の各種高級言語に変更して略同様に実施でき
ることは勿論である。
本発明を実施するプログラムデバッグシステムは、第3
図に示す如く、汎用コンピュータを使用したエンジニア
リングワークステーション11と、該ワークステーション
11に対するオペレータの直接的なアクセスを可能とする
端末装置12とから構成される。
ワークステーション11は、マイクロプロセッサを使用し
た演算制御装置21を中心として、RAMから成る内部記憶
装置22と、ハードディスクドライブ等の外部記憶装置23
と、周辺装置に対するインターフェース回路を備えた入
出力装置24とを各種バス25を介して接続したものであっ
て、更にワークステーション11に対し、入出力装置24を
通じて端末装置12が接続される。
端末装置12は、ワークステーション11に対する直接的な
アクセスを可能とするキーボード26と、ワークステーシ
ョン11内でのデータ処理状況を視認しうる形で表示する
CRT等のディスプレイ装置27とから成り、キーボード26
からのコマンド入力により、外部記憶装置23に予め格納
しておいたインタプリタデバッガ、被デバッグプログラ
ムファイル等のプログラム及びデータを内部記憶装置22
にロードしたあとインタプリタの制御の下に、被デバッ
グプログラムを1行づつ取り出して順次解釈実行させる
ことにより、ワークステーション11は全体でプログラム
テスト装置として動作する。
本発明は、被デバッグプログラムの実行中に未定義関数
を含むラインを実行した際、該プログラムの実行を継続
するためのコマンドを上記インタプリタに対して追加し
たことを特徴とする。
すなわち第1図に示す如く、プログラムの作成中に存在
が判っている未定義関数fに対しては、所定の値を自動
的に返す命令“stub"(以下「stubコマンド」という)
を用意し、プログラムリスト31中に予め記述しておく。
一方、プログラムの実行テスト中に見つかった未定義関
数に対しては、手動で任意な値を返す命令“return"
(以下「returnコマンド」という)を用意するととも
に、プログラムの実行を未定義関数を実行した状態で一
旦停止して、端末装置12からのキー入力を受け付け、re
turnコマンドにより直接的に値をインタプリタ側に戻し
てプログラムの実行を継続させる。
より具体的な例をもって説明すると、returnコマンド
は、「return 引数」のフォーマットで記述され、この
命令が実行されると強制的に引数の値を呼び出し側に戻
してプログラムを継続する。
一方stubコマンドは、「stub 関数名 実行文」のフォ
ーマットに記述されるものであって、「関数名」には具
体的な未定義関数の名前“f"を記述するか、あるいは全
ての未定義関数に対して同一の動作をさせるのであれ
ば、“*”のマークを記入する。更に「実行文」には、
単純に数値を戻すものであれば上記ruturnコマンドを用
い、変数に一定の演算処理を加えるのであれば、演算式
を記述することにより、第1図に示す如く、「未定義な
関数f」に到達すると自動的にstubコマンド中の「実行
文」が実行された後に所定値が呼び出し側に戻され、被
デバッグプログラムの実行を継続するのである。
例えば全ての未定義関数が、外部変数aに1を加える動
作で正常にプログラムの実行が継続され得るのであれ
ば、「stub * a++」と定義する。また未定義関数
fに行き着いた時、強制的に1を返してプログラムを継
続したい場合は「stub f return 1」とソースプロ
グラムのリスト31上に記憶しておく。
一方stubコマンドが定義されていない未定義関数に行き
着いた場合に、「0」を返してプログラムを継続したい
時には、プログラムの実行が停止した時点でキーボード
から「return0」を入力する。
なお未定義関数に対して全て同一の処理で良いのなら、
コマンドファイルを別に用意して該ファイル上にreturn
コマンドを記述しておくとともに、未定義関数を実行し
た場合に、コマンドファイルを参照してコマンドを自動
実行させる様にすればよい。
第2図は、インタプリタによる制御の流れを説明するも
のであって、ステップ41において被デバッグプログラム
の実行を開始すると、インタプリタはプログラムリスト
31から1行取り込み(ステップ42)、その行の命令を解
釈実行する(ステップ43)。ここでステップ44で、入力
行に未定義関数を含むか否かの判定がなされ、判定が
“NO"であればステップ42に戻って順次被デバッグプロ
グラムを実行テストして行く。
しかしステップ44の判定が“YES"であれば、未定義関数
を実行中であると判断されるので、次にステップ45でst
ubコマンドが既に定義されているか否かの判定がなさ
れ、判定が“YES"であればstubコマンドを実行したあと
(ステップ46)、ステップ42に戻る。ステップ45の判定
が“NO"であれば、コマンドファイルが存在するか否か
の判断がなされ(ステップ47)、“YES"であればコマン
ドファイル中のコマンドを実行(ステップ48)したあと
ステップ42に戻るが、“NO"であれば、プログラムの実
行を一旦停止して、未定義関数が呼び出された旨のコメ
ントをディスプレイ装置27上に表示(ステップ49)する
とともに、端末装置12からのキー入力を受け付け(ステ
ップ50)、ステップ51でコマンド入力が確認されると、
そのコマンドを実行(ステップ52)したあと、ステップ
42に戻ってプログラムを継続するのである。
【図面の簡単な説明】
第1図はプログラムリスト上の処理の流れを示す説明
図、第2図は制御の処理手順を説明する流れ図、第3図
は本発明を実施する装置の一例を示すブロック図であ
る。 11……ワークステーション 12……端末装置 31……プログラムリスト

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】ソースレベルのプログラムを1行ずつ取り
    出して順次解釈実行するプログラムテスト装置におい
    て、 実行中のプログラムに未定義関数が含まれるか否かを検
    出する検出手段と、 前記検出手段により未定義関数が検出されたとき、プロ
    グラムの継続を指示するためのコマンドを実行してプロ
    グラムの実行を強制的に継続させるプログラム継続実行
    手段とを備えて成るプログラムテスト装置。
  2. 【請求項2】前記コマンドは、プログラム上の未定義関
    数に対応してあらかじめ設定された値を返してプログラ
    ムを継続実行させるコマンドである特許請求の範囲第1
    項記載のプログラムテスト装置。
JP60249656A 1985-11-06 1985-11-06 プログラムテスト装置 Expired - Lifetime JPH0766343B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60249656A JPH0766343B2 (ja) 1985-11-06 1985-11-06 プログラムテスト装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60249656A JPH0766343B2 (ja) 1985-11-06 1985-11-06 プログラムテスト装置

Publications (2)

Publication Number Publication Date
JPS62108338A JPS62108338A (ja) 1987-05-19
JPH0766343B2 true JPH0766343B2 (ja) 1995-07-19

Family

ID=17196262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60249656A Expired - Lifetime JPH0766343B2 (ja) 1985-11-06 1985-11-06 プログラムテスト装置

Country Status (1)

Country Link
JP (1) JPH0766343B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2640477B2 (ja) * 1987-11-24 1997-08-13 株式会社日立製作所 シーケンス制御プログラムのテスト方法
JPH0228839A (ja) * 1988-07-19 1990-01-30 Nec Corp ルーチン単独テスト処理システムにおけるロードモジュール生成方式

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50114138A (ja) * 1974-02-15 1975-09-06
JPS58175061U (ja) * 1983-04-06 1983-11-22 凸版印刷株式会社 綴物

Also Published As

Publication number Publication date
JPS62108338A (ja) 1987-05-19

Similar Documents

Publication Publication Date Title
US6249907B1 (en) Method system and article of manufacture for debugging a computer program by encoding user specified breakpoint types at multiple locations in the computer program
EP0785510B1 (en) Program debugging system for debugging a program having a graphical user interface
US6658649B1 (en) Method, apparatus and article of manufacture for debugging a user defined region of code
JPH02272645A (ja) プログラム・デバツグ支援方法
KR100339697B1 (ko) 반도체 시험장치의 프로그램 작성 시스템
JP2003323318A (ja) 特殊名付き関数によるソフトウェア区切り点の実行装置及びその方法
JP2004164554A (ja) プログラム実行監視装置および方法
JPH0766342B2 (ja) プログラムテスト装置
JPH0766343B2 (ja) プログラムテスト装置
JP4055197B2 (ja) プログラムに含まれる手続きの解析装置
JPH02275539A (ja) デバッグ処理方式
JP2004287869A (ja) プログラム実行監視装置および方法
JP2007004516A (ja) 組込みシステムのプログラムデバッグ方法
JP2659366B2 (ja) デバッグ方法及びその装置
JPH05250221A (ja) シミュレータ実行方式
JPS6292034A (ja) プログラムデバツグ装置
JPS626260B2 (ja)
JP2006350676A (ja) 組込みシステムのプログラムデバッグ方法
JPS6292035A (ja) プログラムデバツグ装置
JPS6033640A (ja) デ−タ・モニタ方式
JPH06242943A (ja) ソースコードレベルデバッグ装置
JPH0546434A (ja) プログラムデバツグ方式
JPS6292032A (ja) プログラムテスト方法
CN112199097A (zh) 安装包生成方法、装置、计算机设备和存储介质
JPS6292033A (ja) プログラムデバツグ装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term