JPS61246845A - プログラムデバツグ方法 - Google Patents

プログラムデバツグ方法

Info

Publication number
JPS61246845A
JPS61246845A JP60088120A JP8812085A JPS61246845A JP S61246845 A JPS61246845 A JP S61246845A JP 60088120 A JP60088120 A JP 60088120A JP 8812085 A JP8812085 A JP 8812085A JP S61246845 A JPS61246845 A JP S61246845A
Authority
JP
Japan
Prior art keywords
program
source code
test data
execution
flag table
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
JP60088120A
Other languages
English (en)
Inventor
Uichiro Goto
後藤 卯一郎
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP60088120A priority Critical patent/JPS61246845A/ja
Publication of JPS61246845A publication Critical patent/JPS61246845A/ja
Pending legal-status Critical Current

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、コンピュータプログラムのデバッグ方法に
係り、特にソースコードをオブジェクトにコンパイルす
ることなくテストデータの適正を判定することのできる
プログラムデバッグ方法に関するものである。
〔従来の技術〕
第4図a、bは例えば特開昭58−56049に示され
た従来のプログラムデバッグ方法を示し、第4図aは図
示しないホストマシン(仮想計算機)、又はターゲット
マシン(実計算機)上のプログラム処理内容を説明する
ための概念図、第4図すはターゲットマシン(図示せず
)上のプログラム実行内容を説明するための概念図であ
る。第4図aにおいて、1はソースコードファイル、7
はこの:/ −ス:7− トファイル1のソースコート
ヲコンパイルするコンパイラであり、ソースコードファ
イル1で書かれているソースコードによる計算機命令を
マシンコード(機械符号)に変換する機能を果たす。8
はコンパイラ7により翻訳され、出力されたオブジェク
トプログラム(目的プログラム)9はコンパイラ7によ
り作られたオブジェクトプログラム8の行番号に対応付
けられたフラグテーブルである。また、第4図すにおい
て、8,9は第4図aの同一符号のものと同一のもので
ある。
図中、4はプログラムの試験を行うためのテストデータ
、8aはオブジェクトプログラム8が実行状態になった
実行プログラムを示している。
次に、動作について説明する。コンパイラ7はソースコ
ードファイル1のソースコードをオブジェクトプログラ
ム8にコンパイルする際に、該オブジェクトプログラム
8の各シーケンス番号に対応したフラグテーブル9を作
成する。以上の処理は、オブジェクトプログラム8が実
際に動作するターゲットマシン上か、あるいはクロスコ
ンパイルシステムをもったホストマシン上で行われる。
次に、ターゲットマシン上で、テストデータ4を用い、
オブジェクトプログラム8を実行プログラム8aとして
テストランする際に、前記テストデータ4に従って、走
行したプログラムのシーケンス番号と対応するフラグテ
ーブル9にフラグを立て、前記フラグテーブル9の内容
に応じて前記テストデータ4の適正度を判別するように
している。
〔発明が解決しようとする問題点〕
従来のプログラムデバッグ方法は、以上のようにソース
プログラムをコンパイルしてオブジェクトプログラムに
変換し、オブジェクトプログラムレベルで、デバッグを
行っているので、高級言語で書かれたプログラムの場合
に、オブジェクトプログラムレベルで実行したシーケン
ス番号が示されても、ソースプログラムとの対応付け、
及びテストデータの適正度を判定するのが困難であり、
又オブジェクトプログラムを実際に実行するため、実計
算機がないとデバッグできないという問題点があった。
この発明は上記のような問題点を解消するためになされ
たもので、ソースプログラムをオブジェクトプログラム
に変換することなく、ソースプログラムレベルでデバッ
グすることの可能なプログラムデバッグ方法を得ること
を目的とする。
〔問題点を解決するための手段〕
この発明に係るプログラムデバッグ方法は、ソースコー
ドをコンパイルしてオブジェクトコードを作成する代り
に、ソースコードの意味を解析し、その解析結果をファ
イルに蓄え、テストデータが与えられた時に前記解析結
果に従って、ソースプログラムの実行制御がどうなるか
を模擬的に実行し、実行したソースコードに対応するソ
ースコード行番号の実行回数カウンタを、カウントアツ
プするようにしたものである。
〔作用〕
この発明におけるプログラムデバッグ方法は、ソースコ
ードレベルでプログラムを模擬実行し、この実行された
ソースコードの行番号の実行回数をフラグテーブルのカ
ウンタに出力するようにしたことにより、ソースコード
でテストデータの適正度が判定でき、判定が容易となる
〔発去考実施例〕
以下、この発明の一実施例を図に基づいて説明する。第
1図は本発明におけるプログラム処理内容を説明するた
めの概念図である。図において、1はデバッグ対象とな
るソースプログラムを有するソースコードファイル、5
はこのソースコードファイル1のソースコードを解析す
るソースコード解析プログラム、2はこのソースコード
解析プログラム5により解析された結果を蓄える解析結
果ファイル、4はデバッグ対象プログラムを試験するだ
めのテストデータ、6は解析結果2からプログラムを模
擬的゛に実行するデータフロー解析プログラム、3はソ
ースコード解析プログラム5によってソースコード行番
号と対応付けられたフラグテーブル3であり、データフ
ロー解析プログラム6Kj りソースコードファイル1
のソースコードを実行する度毎に対応するフラグテーブ
ル3のカウンタ(図示せず)がカウントアツプされる。
以下、ソースコード解析プログラム5と、データフロー
解析プログラム6の動作を第2図と第3図のフローチャ
ートで説明する。
ソースコード解析プログラム5はソースコードファイル
1からソースコードを読み込み(処理11)、ソースコ
ードの字句を解析しく処理12)、解析した結果を解析
結果ファイル2に省き込む。(処理13)、また同時に
、ソースコードの行番号に対応したフラグテーブル3を
作成する。
次に、データフロー解析プログラム6はフラグテーブル
3t−初期状態(零クリア)にセットI、(処理21)
、テストデータ4を読み込む(処理22)。
読み込んだテストデータ4内容を使って解析結果ファイ
ル2に従ってノースコードレベルで、プログラムを模擬
実行(処理23)し、プログラムの終了位置まで模擬実
行を行ったのち、実行したソース行番号に対応したフラ
グテーブル3のカウンタをカウントアツプしていく(処
理24)。そして、テストデータ4全てについて模擬実
行したがどうかを見て、まだ終了していなければ、上述
の処理22〜24をくり返し、ここで全てのテストデー
タ4について終了していれば(判定処理25)、フラグ
テーブル3を出力する(処理26)。
〔発明の効果〕
以上のように、この発明によれば、ソースコードレベル
でプログラムを模擬実行し、実行したソースコードの行
番号の実行回数を出力するようにしたので、ソースコー
ドをコンパイルしてオブジェクトに変換する必要がなく
なり、ソースコードレベルで、テストデータの適正度が
判定でき、判定が容易に行えるという効果があり、さら
にホスト計算機だけを使用して、プログラムの試験がで
きるので、ターゲット計算機で実行する前に十分試験を
行うことが可能であり、プログラムの信頼性を向上する
ことができるという効果がある。
【図面の簡単な説明】
第1図はこの発明の一実施例によるプログラムデバッグ
方式のプログラム処理を示す概念図、第2図は第1図の
ソースコード解析プログラム5の処理手順を示すフロー
図、第3図は第1図のデータフロー解析プログラム6の
処理手順を示すフロー図、第4図は従来のプログラムデ
バッグ方法のプログラム処理を示す概念図である。 図において、1はソースコードファイル、4はテストデ
ータ、12はソースコード解析である。 なお、図中、同一符号は同一、または相当部分を示す。 第3i

Claims (1)

    【特許請求の範囲】
  1. ソースプログラムのソースコードを解析し、この解析結
    果に従い、テストデータを用いてデータフローを解析し
    、この解析による結果に従つて模擬的に前記ソースプロ
    グラムを実行し、この実行毎に前記ソースコードに対応
    するソースコード行番号のフラグテーブル上のカウンタ
    をカウントアップし、このカウントアップされた前記カ
    ウンタの内容に応じて前記テストデータの適正度を判別
    するようにしたプログラムデバッグ方法。
JP60088120A 1985-04-24 1985-04-24 プログラムデバツグ方法 Pending JPS61246845A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60088120A JPS61246845A (ja) 1985-04-24 1985-04-24 プログラムデバツグ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60088120A JPS61246845A (ja) 1985-04-24 1985-04-24 プログラムデバツグ方法

Publications (1)

Publication Number Publication Date
JPS61246845A true JPS61246845A (ja) 1986-11-04

Family

ID=13934039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60088120A Pending JPS61246845A (ja) 1985-04-24 1985-04-24 プログラムデバツグ方法

Country Status (1)

Country Link
JP (1) JPS61246845A (ja)

Similar Documents

Publication Publication Date Title
CN101739339B (zh) 一种基于程序动态依赖关系的软件故障定位方法
Ramamoorthy et al. Application of a methodology for the development and validation of reliable process control software
US5132972A (en) Assembly language programming potential error detection scheme sensing apparent inconsistency with a previous operation
JPS6116100B2 (ja)
US5857093A (en) Cross-compiled simulation timing backannotation
JP2017162130A (ja) ハードウェア/ソフトウェア協調検証装置およびハードウェア/ソフトウェア協調検証方法
Zielasko et al. 3D visualization of symbolic execution traces
JPS61246845A (ja) プログラムデバツグ方法
JP4149047B2 (ja) シミュレータ
CN114676064A (zh) 一种面向硬件语言代码的通用测试系统和方法
JP3745968B2 (ja) 試験システム及び試験方法及び試験プログラム及び試験プログラムを記録した計算機で読み取り可能な記録媒体
CN110647467A (zh) 基于单步异常的目标码覆盖率测试方法、系统及介质
JPH01154256A (ja) プログラムのエラー位置検出方法
Berg Correctness of firmware-An overview
Cunha et al. A distributed debugging tool for a parallel software engineering environment
JPS6365542A (ja) デバツグ方式
JPH06242943A (ja) ソースコードレベルデバッグ装置
JP2001043110A (ja) プログラムのデバッグ方法
JPS62235652A (ja) プログラムデバツグ方法
JPH0954709A (ja) デバッグ情報表示方法及び表示構造
Lourenço et al. A Distributed Debugging Tool for a Parallel Software Engineering Environment
JPH02171938A (ja) プログラム開発支援装置
JPH08314817A (ja) エラー解析方式
JPH02266440A (ja) 動的デバッグエキスパートシステム
JP2006163684A (ja) プロセッサシミュレータ