JPH01260548A - デバッグ用ソースリスト出力処理方式 - Google Patents

デバッグ用ソースリスト出力処理方式

Info

Publication number
JPH01260548A
JPH01260548A JP63090115A JP9011588A JPH01260548A JP H01260548 A JPH01260548 A JP H01260548A JP 63090115 A JP63090115 A JP 63090115A JP 9011588 A JP9011588 A JP 9011588A JP H01260548 A JPH01260548 A JP H01260548A
Authority
JP
Japan
Prior art keywords
debugging
list
source list
source
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.)
Granted
Application number
JP63090115A
Other languages
English (en)
Other versions
JP2672968B2 (ja
Inventor
Fujie Ozaki
尾崎 不二江
Mitsuru Inada
満 稲田
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
Nippon Telegraph and Telephone Corp
Original Assignee
Fujitsu Ltd
Nippon Telegraph and Telephone 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 Fujitsu Ltd, Nippon Telegraph and Telephone Corp filed Critical Fujitsu Ltd
Priority to JP63090115A priority Critical patent/JP2672968B2/ja
Publication of JPH01260548A publication Critical patent/JPH01260548A/ja
Application granted granted Critical
Publication of JP2672968B2 publication Critical patent/JP2672968B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 データ処理システムにおいて、プログラムのテスト/デ
バッグに対する操作性を向上させたデバッグ用ソースリ
スト出力処理方式に関し。
被デバツグプログラムとそのソースリストとを一元管理
し、デバッグ時に必要なソースリストを簡単に参照でき
るようにすることを目的とし。
コンパイル時にコンパイルされたソースリスト情報を、
オブジェクトモジュールにおけるシンボリック情報域に
出力するソースリスト組込み処理部と7デバッグ時に指
定範囲内のソースリストを出力することを指示するリス
ト出力コマンドを受け付けるデバッグ用コマンド受け付
は処理部と。
リスト出力コマンドを受け(−1けることにより、前記
オブジェクトモジュールまたはそれを結合編集したロー
ドモジュールにおりるシンボリック情報域を参照し、指
定範囲内のソースリストを表示出力するりスト出力処理
部とを備えるように構成する。
〔産業上の利用分野〕
本発明は、データ処理システムにおいて、プログラムの
ナス1〜/デバッグに対する操作性を向上させたデバッ
グ用ソースリスI−出力処理方式に関する。
〔従来の技術〕
例えばCOB OL言語で記述されたプログラムをデバ
ッグする場合に、それをC0BOLコンパイラでコンパ
イルし、対話型デハソガにより、適当なデバッグ指示を
行いながら実際に動作させて。
正常/異常の確認をすることが行われている。このよう
なデハソガでは、プログラムモジュール内に設定された
変数情報や行番号情報を持つシンホリソク情報域を参照
し、デバッグ指示により指定された変数情報の出力や、
トランプ発生時における行番号の出力なと金行う処理機
能を持っている。
しかし、従来、被デバツグプログラJ、のソースリスト
を、プログラムモジュール内に組込んておき、デハ・7
グ時に、指定範囲内のソースリストを。
対話的に表示し出力するものはなかった。
〔発明が解決しようとする課題] テハソク時に、変数情報の出力や行番号の出力があった
場合に、実際に正しく動作しているか否かの確認や、異
常個所の発見のために、そのつど2ソースリストの内容
を調へなげればならないことがよくある。
従来方式によれば、プログラムモジュールを格納するフ
ァイルと、ソースリストのファイルとは。
全く別に作成されているため、ソースリストを予めライ
ンプリンタ (LP)で印刷して、L、Pリス1−とじ
て持つか、または磁気ティスフ装置に格納されたソース
ファイルの内容を、デハソガとは別のプログラムにより
、参照しなげればならなかった。
そのため、デバッグ時にL Pリストをめくりながら端
末を操作しなければならず、デバッグに時間がかかると
いう問題や、必要な個所をすくに探しにくいという問題
があった。また、ソースプログラムを変更するたびに、
必ずソースリストを印刷するのでは2プリンタ用紙と印
刷のための計算機時間が無駄になるので2変更量が多く
なったときだけLPリストを出力することが多く、その
ため、リストの世代が古くなって1行番号に食い違いが
生じるというような問題があった。
さらに、ソースファイルを直接参照する場合には、コン
パイラが自動的に付与した行番号がわからないとか、い
わゆるインライン展開やプリコンパイラレベルの情報が
見えないというような不便さがあった。
本発明は上記問題点の解決を図り、被デバツグプログラ
ムとそのソースリストとを一元管理し、デバッグ時に必
要なソースリストを籠屯に参照できるようにすることを
目的としている。
〔課題を解決するための手段〕
第1図は本発明の構成例を示す。
第1図において、10はソースプログラムが格納された
ソースファイル、11はソースプログラムを機械語に翻
訳するコンパイラ、12はコンパイラ11が生成するオ
ブジェクトモジュール中にコンパイルしたソースリスト
を出力するソースリスト組込み処理部、13はコンパイ
ル結果のオブジェクトモジュールが格納されたオブジェ
クトモジュールファイル、14は機械語の命令列などか
らなるテキスト部、15はプログラム名などの管理情報
を持つヘッダ部、16はシンボリツク・デバッグ用の情
報が格納されるシンボリック情報域。
17はソースリストの文字コード列が格納されるソース
リスI・情報域、18は結合編集処理を行い実行可能形
式のロードモジュールを作成するリンカ、19はオブジ
ェクトモジュールファイル13と同しオブジェクトモジ
ュールまたは結合編集されたロードモジュールを持つプ
ログラムモジュールファイル、20ばシンボリツク・デ
バッグ処理機能を持つ対話型デバッガ、21は端末から
の各種デバッグ指示要求を受け付けるデバッグ用コマン
ド受け付は処理部、22はデバッグ時に端末からの指示
により被デバツグプログラムのソースリストを出力する
リスト出力処理部、23はデイスプレィやキーボードな
どからなる端末を表す。
本発明では2 コンパイラ11内に、ソースリスト組込
み処理部12が設けられ、ソースリスト組込み処理部1
2は、オブジェクト生成時に、オブジェクトモジュール
ファイル13におけるシンボリック情報域16内に、コ
ンパイラ11によってマクロ展開等がなされた結果のソ
ースリストを出力する。
リンカ18は、ロードモジュール作成時に、シンボリッ
ク情報域16の内容についても、結合編集処理を行う。
これにより、ソースリストも結合編集の対象となる。プ
ログラムモジュールファイル19は、オブジェクトモジ
ュールまたはリンカ18の出力であるロードモジュール
からなる被デパックプログラムのモジュールが格納され
たファイルである。
対話型デバッガ20は、プログラムモジュールファイル
19に格納された被デバツグプログラムを動作させ、端
末23から入力された各種デバッグ指示に応じた被デバ
ツグプログラムの制御およびデバッグ情報の収集・出力
を行う。本発明では。
デバッグ用コマンドの1つとして、リスト出力コマンド
が設けられ、デバッグ用コマンド受け付は処理部21は
、このコマンドを受け付ける。
リスト出力処理部22は、リスト出力コマンドの入力に
より、プログラムモジュールファイル19におけるシン
ボリック情報域を検索し、指定された範囲のソースリス
トを端末23に表示出力する処理を行うようになってい
る。
〔作用〕
コンパイラ11によって、シンボリツク・デハ7一 ソグのためのシンボリック情報域16内に、コンパイル
リストであるソースリスl−が組込まれるので、対話型
デバッガ20は7デハツグ時に、シンボリック情報域1
6をサーチし、被デバツグプログラムのソースリストを
参照することができる。
被デバツグプログラムとそのソースリストとが。
1つのプログラムモジュールファイル19として一元管
理されるため、デバッグ時に、そのプログラムモジュー
ルファイル19だけがあればよく。
ペーパレスによるデバッグが可能になる。
〔実施例〕
第2図は本発明の一実施例に係るコンパイラの処理の例
、第3図はシンボリック情報域の例、第4図はソースリ
スト出力処理の例、第5図は本発明の一実施例によるデ
バッガの処理を説明するための図を示す。
以下、計算機言語の1つであるC OB’ OL言語の
プログラムに対するコンパイラおよびデバッガを例に説
明する。
第2図において、C0BOLコンパイラ32は。
最初にソースプログラム30に対する前処理を行うため
に、プリプロセッサ33を起動する。プリプロセッサ3
3ば、指定されたソースプログラム30を入力すると、
その中のCoPY句を探す。
行番号が120の位置にrcOPY 、C0PF IL
E、jの文があるので、そこで指定されたCOP F 
I 1.、Eの名前を持つインクルートファイル31を
参照し2行番号120の位置に、インクルートファイル
31の内容を展開する。この結果を。
マクロ展開ソース36として作業ファイルに出力する。
次に、構文解析部34は、マクロ展開ソース36を1行
ずつ入力し、構文を解析する。その解析結果により、ソ
ースプログラムを中間言語に変換し、中間言語ファイル
37に出力する。コード生成部35ば、中間言語ファイ
ル37から入力した中間言語に基づき、必要に応じて最
適化を行い。
機械語の命令列からなるコートを生成して、オブジェク
トモジュールファイル13に、そのテキス1−を出力す
る。また、C0BOLコンパイラ32の起動時に、デバ
ッグオプションが指定されていれば、変数情報2行番号
情報などのシンボリック情報を生成し、オブジェクl−
モジュールファイル13に格納する。
以上の処理は従来と同様であるが1本発明では。
さらにソースリスト組込み処理部12によって。
マクロ展開ソース36の内容を、シンボリック情報が格
納されるオブジェクトモジュールファイル13中のシン
ボリック情報域に組込む。
このシンボリック情報([SD)域は2例えば第3図に
示すようになっている。
シンボリック情報域16において、ディレクトリ (D
IR)部40.変数情報(IST)部41゜行番号情報
(LNT)部42は、従来と同様な形式である。たたし
2本実施例では、デイレクトυ部40内に3本実施例に
より新設された行番号・ソースリスI・相対番号対応表
43へのポインタ情報と、ソースリスト情報域17への
ポインタ情報とが追加して登録されるよ・うになってい
る。
変数情報部41は、ソースプログラム中で用いられてい
る名標、その属性、そのアドレス情報などを持つテーブ
ルである。行番何悄叩部42は。
ソースプロクラムの各行番号と、対応するアドレスと、
カートIDjIJ叩等を持つ。
行番号・ソースリスト相対番号対応表43は2ソースリ
ストの出力にあたって、指定された行番号の検索を高速
化するために、各行番号が、ソースリスト情報域17に
おけるどの位置に対応するかを示す情報を持つテーブル
である。コンパイラが行番号を自動的に付与し1行番号
の増分が一定の場合には、計算により、直接、ソースリ
スト情報域17の該当位置を参照できるので9行番号・
ソースリスト相対番号対応表43は不要である。
行番号・ソースリス1へ相対番号対応表43の有無に関
する情報は、ディレクトリ部40内に設定される。
ソースリスト情報域17には、ユーザがソースプログラ
ムとしてコーディングしたものではなく。
C0PY句の展開なと、コンパイラか編集した結−] 
1− 果のリストが格納される。
本実施例におけるC OB OLデバッガによるソース
リストの出力処理は、第4図に示すように行われる。
デバッガに対し2例えばrTYPE  1.00/20
0、”MOVB”」というような、リスト出力コマンド
50か入力されると、第4図に示す処理51により、こ
のコマンドで指定された参照行番号、検索文字列等を解
析する。このコマンド50は、ソースリス1へにおげろ
行番号が100から200までの中で9文字列”MOV
B”を持つ行を出力することを指示している。
このコマンドの解析結果に従って、処理52により、ソ
ースリスト情報を検索し、処理53により2出力1青報
54のように、8亥当するソースリストの行をユーザの
端末に出力する。
全体のデバッガの処理の流れは、第5図に示すようにな
っている。
第5図において、第1図と同符号のものは、第1図に示
すものに対応し、60はCPUおよびメ−1,2−− モリなどからなる処理装置、61ばC0BOL言語で記
述されたソースプログラムをコンパイルした被デバツグ
プログラム、62ばシンボリック・デハソク機能を持つ
対話型C0BOLデハソガである。以下、第5図に示ず
■〜■に従って説明する。
■ 端末23から、デバッグしようとする被デバツグプ
ログラムが格納されたプログラムモジュールファイル1
9を指定して、対話型C0BOLデバツガ62を起動す
る。
■ また、出力させる変数情報や、中断点情報などの各
種デバッグ指示情報を入力する。
■ 対話型COB OLデバッガ62は、プログラムモ
ジュールファイル19からテキスト部14を入力し5メ
モリにテキスI一部〕4の内容である被デバツグプログ
ラム61をロードする。
■ そして、指示された中断点の設定などを行い。
被デバツグプログラム61を起動する。
■ 被デバツグプログラム61の実行により、トラップ
が発生した場合、対話型C0BOLデバノガロ2へ制御
が移行する。
■ 対話型C0BOLデハソガ62では、中断しノ た行番号情報等を端末23に表示出力すると共に。
デバッグ指示の入力要求を行う。
■ ここで、端末から第4図で説明したリスト出力コマ
ンドが投入されると、そのコマンI−を受げ付け、パラ
メータを解析する。
■ 解析結果に従って、ソースリスト情報域17を検索
し、該当する行のソースリストを、端末23に表示出力
する。ユーザは、これにより、中断点に関連するソース
を直ちにチエツクできることになる。以下、従来と同様
に、端末23からの指示に応じて、対話型COB OL
 −1”r (”ツカゞ62の停止または被デバッグプ
ログラム61の再起動などを行う。
〔発明の効果〕
以上説明したように9本発明によれば、ユーザは、プロ
グラムモジュールファイルを持つだけで必要なテスト/
デバッグを行うことができるようになり、デバッグを進
めなから2各種デバッグ情報と同様に、簡単な操作でソ
ースリストの情報を取得することができるようになる。
オブジェクトとソースリストの世代かソースプログラム
の変更によってずれることばなく1世代管理を一元化で
きるため、ファイルの管理が容易になると共に。
デバッグにおけるミスが少なくなる。また、ラインプリ
ンタへの出力リストなどが不要となるため。
デバッグ・修正のサイクルを短縮し、かつペーパレスに
よるテスト/デバッグを進めることができるようになる
【図面の簡単な説明】
第1図は本発明の構成例。 第2図は本発明の一実施例に係るコンパイラの処理の例
5 第3図はシンボリック情報域の例。 第4図はソースリスト出力処理の例。 第5図は本発明の一実施例によるデハソガの処理を説明
するための図を示す。 −15〜 II中、10はソースファイル、11はコンパイラ、1
2はソースリスト組込み処理部、13はオブジェクトモ
ジュールファイル、14はテキスト部、15はヘッダ部
、16はシンボリック情報域。 17はソースリスト情報域、18はリンカ、19はプロ
グラムモジュールファイル、20は対話型デバ・ツガ、
2]ばデバッグ用コマンド受&J付は処理部、22はリ
スト出力処理部、23は端末を表す。

Claims (1)

  1. 【特許請求の範囲】 計算機用言語で記述されたソースプログラムを機械語に
    コンパイルしオブジェクトモジュールを生成するコンパ
    イル処理機能と、該オブジェクトモジュールまたはそれ
    を結合編集したロードモジュールを試験動作させるデバ
    ッグ処理機能とを有するデータ処理システムにおいて、 コンパイル時にコンパイルされたソースリスト情報を、
    オブジェクトモジュールにおけるシンボリック情報域に
    出力するソースリスト組込み処理部(12)と、 デバッグ時に指定範囲内のソースリストを出力すること
    を指示するリスト出力コマンドを受け付けるデバッグ用
    コマンド受け付け処理部(21)と、リスト出力コマン
    ドを受け付けることにより、前記オブジェクトモジュー
    ルまたはそれを結合編集したロードモジュールにおける
    シンボリック情報域を参照し、指定範囲内のソースリス
    トを表示出力するリスト出力処理部(22)とを備えた
    ことを特徴とするデバッグ用ソースリスト出力処理方式
JP63090115A 1988-04-12 1988-04-12 デバッグ用ソースリスト出力処理方式 Expired - Lifetime JP2672968B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63090115A JP2672968B2 (ja) 1988-04-12 1988-04-12 デバッグ用ソースリスト出力処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63090115A JP2672968B2 (ja) 1988-04-12 1988-04-12 デバッグ用ソースリスト出力処理方式

Publications (2)

Publication Number Publication Date
JPH01260548A true JPH01260548A (ja) 1989-10-17
JP2672968B2 JP2672968B2 (ja) 1997-11-05

Family

ID=13989516

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63090115A Expired - Lifetime JP2672968B2 (ja) 1988-04-12 1988-04-12 デバッグ用ソースリスト出力処理方式

Country Status (1)

Country Link
JP (1) JP2672968B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04215143A (ja) * 1990-12-13 1992-08-05 Nec Corp アセンブラのシンボル・デバッグ情報処理方式
JP2013210920A (ja) * 2012-03-30 2013-10-10 Nec Corp コンパイル装置、コンパイル方法及びコンパイラ

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5245114B2 (ja) * 1972-01-13 1977-11-12
JPS6371003A (ja) * 1986-09-13 1988-03-31 Daifuku Co Ltd 物品仕分け設備

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5245114B2 (ja) * 1972-01-13 1977-11-12
JPS6371003A (ja) * 1986-09-13 1988-03-31 Daifuku Co Ltd 物品仕分け設備

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04215143A (ja) * 1990-12-13 1992-08-05 Nec Corp アセンブラのシンボル・デバッグ情報処理方式
JP2013210920A (ja) * 2012-03-30 2013-10-10 Nec Corp コンパイル装置、コンパイル方法及びコンパイラ

Also Published As

Publication number Publication date
JP2672968B2 (ja) 1997-11-05

Similar Documents

Publication Publication Date Title
US9141603B2 (en) Computer program product and computer system for language-enhanced programming tools
EP0643851B1 (en) Debugger program which includes correlation of computer program source code with optimized objet code
US6415396B1 (en) Automatic generation and maintenance of regression test cases from requirements
US6055369A (en) Apparatus for visual programming with screen flow
US6421822B1 (en) Graphical user interface for developing test cases using a test object library
Fischer et al. The POE language-based editor project
US6978440B1 (en) System and method for developing test cases using a test object library
CA2819008C (en) Method and system for displaying selectable autocompletion suggestions and annotations in mapping tool
US7552418B2 (en) Systems and methods for creating and providing templates in a single file
US7581206B2 (en) Systems and methods for creating and providing templates in a single file
Reiss The Field programming environment: A friendly integrated environment for learning and development
US7426717B1 (en) System and method for debugging files in a runtime environment
US20040225957A1 (en) Modular application development in a spreadsheet using indication values
JPH0383153A (ja) メツセージ処理システム及び方法
Rößling et al. Animalscript: An extensible scripting language for algorithm animation
US7203925B1 (en) Graphical compiler
Samuel et al. A novel test case design technique using dynamic slicing of UML sequence diagrams
JPH01260548A (ja) デバッグ用ソースリスト出力処理方式
JP4387288B2 (ja) 制御用表示装置、エディタ装置、プログラムおよび記録媒体
JPH10289123A (ja) 最適化コードデバッグ方式
Cross Update of grasp/ada reverse engineering tools for ada
Melcer et al. ProofViz: An Interactive Visual Proof Explorer
CN117931157A (zh) Otx语言引擎构建和编辑方法、装置及计算机设备
Rößling et al. Animalipse–An Eclipse Plugin for AnimalScript
CN117075874A (zh) Scade模型与c代码的映射工具

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080711

Year of fee payment: 11