JPH06242986A - 外部行番号によるデバッグ方式 - Google Patents

外部行番号によるデバッグ方式

Info

Publication number
JPH06242986A
JPH06242986A JP5048611A JP4861193A JPH06242986A JP H06242986 A JPH06242986 A JP H06242986A JP 5048611 A JP5048611 A JP 5048611A JP 4861193 A JP4861193 A JP 4861193A JP H06242986 A JPH06242986 A JP H06242986A
Authority
JP
Japan
Prior art keywords
line number
source program
program
text
address
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
JP5048611A
Other languages
English (en)
Other versions
JPH0750442B2 (ja
Inventor
Yukie Inoue
幸恵 井上
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 JP5048611A priority Critical patent/JPH0750442B2/ja
Publication of JPH06242986A publication Critical patent/JPH06242986A/ja
Publication of JPH0750442B2 publication Critical patent/JPH0750442B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 コンパイルリストを採取することなしにソー
スプログラムおよび登録集原文の外部行番号を用いて登
録集原文内の行までデバッグ可能とする。 【構成】 コンパイラ3では、行番号作成手段4がソー
スプログラム1の外部行番号を用いてソースプログラム
行番号を作成し、登録集原文行番号作成手段5がソース
プログラム1が引用した登録集原文の外部行番号を用い
て登録集原文行番号を作成し、デバッグ情報出力手段6
がオブジェクトプログラム7の出力時にソースプログラ
ム行番号および登録集原文行番号とオブジェクトプログ
ラム7のアドレスとを組にしたデバッグ情報8を出力す
る。デバッガ9では、デバッグ実行手段11が端末12
から指定されたソースプログラム行番号および登録集原
文行番号を行番号アドレス変換手段10によりオブジェ
クトプログラム7のアドレスに変換してデバッグ指示を
実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は外部行番号によるデバッ
グ方式に関し、特にデバッグ情報出力機能を有するコン
パイラとデバッグ情報を参照してデバッグを行うデバッ
ガとを使用する外部行番号によるデバッグ方式に関す
る。
【0002】
【従来の技術】従来、デバッグ情報出力機能を有するコ
ンパイラでは、オプションで次の2種類のデバッグ情報
が出力できるようになっていた。
【0003】 ソースプログラム内の一連の行番号
(=外部行番号)とオブジェクトプログラムのアドレス
とを組にしたデバッグ情報。このデバッグ情報には、ソ
ースプログラムで引用している登録集原文内の行番号
(=外部行番号)は含まれない。
【0004】 引用している登録集原文をすべて展開
したソースプログラムイメージに対してコンパイラが生
成および付加した一連の行番号(=内部行番号)とオブ
ジェクトプログラムのアドレスとを組にしたデバッグ情
報。
【0005】
【発明が解決しようとする課題】上述した従来ののデ
バッグ情報を参照してデバッグを行う場合、デバッガに
対して登録集原文の外部行番号を指定してもオブジェク
トプログラムのアドレスに変換することができなかった
ので、登録集原文内の行をデバッグ対象とすることがで
きないという問題点があった。
【0006】また、従来ののデバッグ情報を参照して
デバッグを行う場合、デバッガに対してソースプログラ
ムの外部行番号および登録集原文の外部行番号を指定し
てもオブジェクトプログラムのアドレスに変換すること
ができなかったので、引用している登録集原文をすべて
展開したソースプログラムイメージに対してコンパイラ
が生成および付加した一連の行番号(=内部行番号)を
含むコンパイルリストを採取して、デバッグ対象とした
い行が内部行番号で何番であるのかを調べる必要がある
という問題点があった。
【0007】本発明の目的は、上述の点に鑑み、引用し
ている登録集原文を展開したソースプログラムイメージ
に対してコンパイラが生成および付加した内部行番号を
含むコンパイルリストを採取しなくても、ソースプログ
ラムの外部行番号および登録集原文の外部行番号を用い
て登録集原文内の行までデバッグ対象とすることができ
るようにしたデバッグ方式を提供することにある。
【0008】
【課題を解決するための手段】本発明の外部行番号によ
るデバッグ情報出力方式は、デバッグ情報出力機能を有
するコンパイラにおいて、ソースプログラムの解析中に
ソースプログラムの外部行番号を用いてソースプログラ
ム行番号を作成する行番号作成手段と、ソースプログラ
ムが引用した登録集原文の解析中に登録集原文の外部行
番号を用いて登録集原文行番号を作成する登録集原文行
番号作成手段と、オブジェクトプログラムの出力時に前
記ソースプログラム行番号および前記登録集原文行番号
とオブジェクトプログラムのアドレスとを組にしたデバ
ッグ情報を出力するデバッグ情報出力手段とを有する。
【0009】また、本発明の外部行番号によるデバッグ
方式は、ソースプログラム行番号および登録集原文行番
号とオブジェクトプログラムのアドレスとを組にした前
記デバッグ情報を参照してソースプログラム行番号およ
び登録集原文行番号をオブジェクトプログラムのアドレ
スに変換する行番号アドレス変換手段と、端末から指定
されたソースプログラム行番号および登録集原文行番号
を前記行番号アドレス変換手段によりオブジェクトプロ
グラムのアドレスに変換してデバッグ指示を実行するデ
バッグ実行手段とを有する。
【0010】さらに、本発明の外部行番号によるデバッ
グ方式は、ソースプログラムの解析中にソースプログラ
ムの外部行番号を用いてソースプログラム行番号を作成
する行番号作成手段と、ソースプログラムが引用した登
録集原文の解析中に登録集原文の外部行番号を用いて登
録集原文行番号を作成する登録集原文行番号作成手段
と、オブジェクトプログラムの出力時に前記ソースプロ
グラム行番号および前記登録集原文行番号とオブジェク
トプログラムのアドレスとを組にしたデバッグ情報を出
力するデバッグ情報出力手段とを含むコンパイラと、前
記デバッグ情報を参照してソースプログラム行番号およ
び登録集原文行番号をオブジェクトプログラムのアドレ
スに変換する行番号アドレス変換手段と、端末から指定
されたソースプログラム行番号および登録集原文行番号
を前記行番号アドレス変換手段によりオブジェクトプロ
グラムのアドレスに変換してデバッグ指示を実行するデ
バッグ実行手段とを含むデバッガとを有する。
【0011】
【実施例】次に、本発明について図面を参照して詳細に
説明する。
【0012】図1は、本発明の一実施例に係る外部行番
号によるデバッグ方式の構成を示すブロック図である。
本実施例の外部行番号によるデバッグ方式は、ソースプ
ログラム1と、登録集2と、コンパイラ3と、オブジェ
クトプログラム7と、デバッグ情報8と、デバッガ9
と、端末12とから、その主要部が構成されている。
【0013】コンパイラ3は、登録集原文行番号作成手
段5を含む行番号作成手段4と、デバッグ情報出力手段
6と、ソースプログラム行番号111および登録集原文
行番号112からなる行番号テキスト110と、ソース
プログラム行番号退避領域113と、中間テキスト11
4と、引用フラグ115とを含んで構成されている。
【0014】デバッガ9は、行番号アドレス変換手段1
0と、デバッグ実行手段11とを含んで構成されてい
る。
【0015】図2を参照すると、登録集原文行番号作成
手段5の処理は、登録集内判定ステップ201と、登録
集原文行番号設定ステップ202と、登録集外値設定ス
テップ203と、ソースプログラム行番号退避ステップ
204とからなる。
【0016】図3を参照すると、デバッグ情報出力手段
6の処理は、デバッグ対象判定ステップ301と、デバ
ッグ情報作成および出力ステップ302とからなる。
【0017】図4は、ソースプログラム1および登録集
原文の一例を示す図である。ソースプログラム1では、
行番号50のCOPY命令によって登録集原文COPY
1を引用している。
【0018】図5は、中間テキスト114の一例を示す
図である。中間テキスト114には、ソースプログラム
行番号111および登録集原文行番号112からなる行
番号テキスト110が含まれている。
【0019】図6は、デバッグ情報8およびオブジェク
トプログラム7の一例を示す図である。デバッグ情報8
には、ソースプログラム行番号111および登録集原文
行番号112からなる行番号テキスト110とオブジェ
クトプログラム7のアドレス(=相対アドレス)とが組
として含まれている。
【0020】引用フラグ115は、コンパイラ3によ
り、ソースプログラム1が引用する登録集2からの登録
集原文の読込み中にオンとされるフラグである(初期値
はオフ)。
【0021】次に、このように構成された本実施例の外
部行番号によるデバッグ方式の動作について説明する。
【0022】コンパイラ3は、ソースプログラム1の外
部行番号を読み込んだときに行番号作成手段4を起動す
る。
【0023】行番号作成手段4は、まず登録集原文行番
号作成手段5を起動する。
【0024】登録集原文行番号作成手段5は、引用フラ
グ115を参照して解析中の行が登録集2から引用され
た行であるかどうかを判定する(ステップ201)。い
ま、引用フラグ115がオフで解析中の行が登録集2か
ら引用された行ではないので、登録集原文行番号作成手
段5は、登録集2内の行ではないことを示す値(図5の
例では0)を行番号テキスト110の登録集原文行番号
112に設定し(ステップ203)、ソースプログラム
行番号退避領域113にソースプログラム1の外部行番
号を設定して(ステップ204)、処理を終了する。
【0025】登録集原文行番号作成手段5の処理の終了
後、行番号作成手段4は、ソースプログラム行番号退避
領域113に設定されているソースプログラム1の外部
行番号を行番号テキスト110のソースプログラム行番
号111に設定する。
【0026】コンパイラ3は、このようにして作成され
たソースプログラム行番号111および登録集原文行番
号112からなる行番号テキスト110を中間テキスト
114に格納する。
【0027】例えば、行番号50をソースプログラム1
から読み込んだときには、登録集原文行番号作成手段5
は、引用フラグ115を参照して解析中の行が登録集2
から引用された行ではないと判断し(ステップ201で
ノー)、登録集2内の行ではないことを示す値(図5の
例では0)を行番号テキスト110の登録集原文行番号
112に設定し(ステップ203)、ソースプログラム
行番号退避領域113に行番号50を設定して(ステッ
プ204)、処理を終了する。行番号作成手段4は、ソ
ースプログラム行番号退避領域113に設定されている
行番号50を行番号テキスト110のソースプログラム
行番号111に設定する。
【0028】次に、ソースプログラム1からCOPY命
令を読み込むと、コンパイラ3は、引用フラグ115を
オンし、登録集2からの登録集原文の読込みを開始す
る。
【0029】コンパイラ3は、登録集2から行番号を読
み込んだときに行番号作成手段4を起動する。
【0030】行番号作成手段4は、まず登録集原文行番
号作成手段5を起動する。
【0031】登録集原文行番号作成手段5は、引用フラ
グ115を参照して解析中の行が登録集2から引用され
た行であるかどうかを判定する(ステップ201)。い
ま、引用フラグ115がオンで解析中の行が登録集2か
ら引用された行であるので、登録集原文行番号作成手段
5は、登録集2の外部行番号を行番号テキスト110の
登録集原文行番号112に設定し(ステップ202)、
処理を終了する。
【0032】登録集原文行番号作成手段5の処理の終了
後、行番号作成手段4は、ソースプログラム行番号退避
領域113に設定されているソースプログラム1の外部
行番号を行番号テキスト110のソースプログラム行番
号111に設定する。すなわち、このとき、ソースプロ
グラム行番号退避領域113に設定されているソースプ
ログラム1の外部行番号は、COPY命令を含む行の外
部行番号(例えば、50)となる。
【0033】コンパイラ3は、このようにして作成され
たソースプログラム行番号111および登録集原文行番
号112からなる行番号テキスト110を中間テキスト
114に格納する。
【0034】登録集2から引用対象の登録集原文の全て
の行を読み終わると、コンパイラ3は、引用フラグ11
5をオフする。
【0035】オブジェクトプログラム7の出力時に、デ
バッグ情報出力手段6は、中間テキスト114が命令の
先頭や手続きの初めなどのようなデバッグ対象であるか
どうかを判定し(ステップ301)、デバッグ対象であ
ったときは直前の行番号テキスト110のソースプログ
ラム行番号111および登録集原文行番号112とオブ
ジェクトプログラム7のアドレスとを組にしたデバッグ
情報8を生成して出力する(ステップ302)。
【0036】デバッガ9が起動されたとき、ユーザが手
元のソースプログラム1および登録集原文のリスト(図
示せず)を見て、端末12からソースプログラム1の外
部行番号および登録集原文の外部行番号(登録集2内の
行ではないことを示す値を含む)を組にして指定する
と、デバッグ実行手段11は、行番号アドレス変換手段
10によりデバッグ情報8を参照してソースプログラム
1の外部行番号および登録集原文の外部行番号(登録集
2内の行ではないことを示す値を含む)を対応するオブ
ジェクトプログラム7のアドレスに変換し、端末12か
ら指定されたデバッグ指示をオブジェクトプログラム7
の該当するアドレスに対して実行してデバッグ作業を行
う。
【0037】
【発明の効果】以上述べたように本発明は、ソースプロ
グラムの外部行番号および登録集原文の外部行番号とオ
ブジェクトプログラムのアドレスとを組にしてデバッグ
情報として出力するようにしたことにより、登録集原文
内をデバッグ対象としたい場合でも外部行番号を使用し
てデバッグ作業を行うことができるという効果がある。
【0038】また、従来採取していた登録集原文を展開
したソースプログラムイメージに対してコンパイラが生
成および付加した内部行番号を含むコンパイルリストが
不要になり、ソースプログラムの外部行番号および登録
集原文の外部行番号を用いて容易にデバッグ作業を行え
るので、デバッグ作業に要する工数を削減できるという
効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例に係る外部行番号によるデバ
ッグ方式の構成を示すブロック図である。
【図2】図1中の登録集原文行番号作成手段の処理を示
す流れ図である。
【図3】図1中のデバッグ情報出力手段の処理を示す流
れ図である。
【図4】図1中のソースプログラムおよび登録集原文の
一例をそれぞれ示す図である。
【図5】図1中の中間テキストの一例を示す図である。
【図6】図1中のデバッグ情報およびオブジェクトプロ
グラムの一例を示す図である。
【符号の説明】
1 ソースプログラム 2 登録集 3 コンパイラ 4 行番号作成手段 5 登録集原文行番号作成手段 6 デバッグ情報出力手段 7 オブジェクトプログラム 8 デバッグ情報 9 デバッガ 10 行番号アドレス変換手段 11 デバッグ実行手段 12 端末 110 行番号テキスト 111 ソースプログラム行番号 112 登録集原文行番号 113 ソースプログラム行番号退避領域 114 中間テキスト 115 引用フラグ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 デバッグ情報出力機能を有するコンパイ
    ラにおいて、 ソースプログラムの解析中にソースプログラムの外部行
    番号を用いてソースプログラム行番号を作成する行番号
    作成手段と、 ソースプログラムが引用した登録集原文の解析中に登録
    集原文の外部行番号を用いて登録集原文行番号を作成す
    る登録集原文行番号作成手段と、 オブジェクトプログラムの出力時に前記ソースプログラ
    ム行番号および前記登録集原文行番号とオブジェクトプ
    ログラムのアドレスとを組にしたデバッグ情報を出力す
    るデバッグ情報出力手段とを有することを特徴とする外
    部行番号によるデバッグ情報出力方式。
  2. 【請求項2】 デバッグ情報を参照してデバッグを行う
    デバッガにおいて、 ソースプログラム行番号および登録集原文行番号とオブ
    ジェクトプログラムのアドレスとを組にした前記デバッ
    グ情報を参照してソースプログラム行番号および登録集
    原文行番号をオブジェクトプログラムのアドレスに変換
    する行番号アドレス変換手段と、 端末から指定されたソースプログラム行番号および登録
    集原文行番号を前記行番号アドレス変換手段によりオブ
    ジェクトプログラムのアドレスに変換してデバッグ指示
    を実行するデバッグ実行手段とを有することを特徴とす
    る外部行番号によるデバッグ方式。
  3. 【請求項3】ソースプログラムの解析中にソースプログ
    ラムの外部行番号を用いてソースプログラム行番号を作
    成する行番号作成手段と、ソースプログラムが引用した
    登録集原文の解析中に登録集原文の外部行番号を用いて
    登録集原文行番号を作成する登録集原文行番号作成手段
    と、オブジェクトプログラムの出力時に前記ソースプロ
    グラム行番号および前記登録集原文行番号とオブジェク
    トプログラムのアドレスとを組にしたデバッグ情報を出
    力するデバッグ情報出力手段とを含むコンパイラと、 前記デバッグ情報を参照してソースプログラム行番号お
    よび登録集原文行番号をオブジェクトプログラムのアド
    レスに変換する行番号アドレス変換手段と、端末から指
    定されたソースプログラム行番号および登録集原文行番
    号を前記行番号アドレス変換手段によりオブジェクトプ
    ログラムのアドレスに変換してデバッグ指示を実行する
    デバッグ実行手段とを含むデバッガとを有することを特
    徴とする外部行番号によるデバッグ方式。
JP5048611A 1993-02-15 1993-02-15 外部行番号によるデバッグ方式 Expired - Fee Related JPH0750442B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5048611A JPH0750442B2 (ja) 1993-02-15 1993-02-15 外部行番号によるデバッグ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5048611A JPH0750442B2 (ja) 1993-02-15 1993-02-15 外部行番号によるデバッグ方式

Publications (2)

Publication Number Publication Date
JPH06242986A true JPH06242986A (ja) 1994-09-02
JPH0750442B2 JPH0750442B2 (ja) 1995-05-31

Family

ID=12808211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5048611A Expired - Fee Related JPH0750442B2 (ja) 1993-02-15 1993-02-15 外部行番号によるデバッグ方式

Country Status (1)

Country Link
JP (1) JPH0750442B2 (ja)

Also Published As

Publication number Publication date
JPH0750442B2 (ja) 1995-05-31

Similar Documents

Publication Publication Date Title
JP2003050715A (ja) コンパイラおよびデバッグ装置
JPH06242986A (ja) 外部行番号によるデバッグ方式
JP2827724B2 (ja) プログラムデバッグ処理方法
JPS5829047A (ja) 計算機システムのコマンド制御方式
JPH11154093A (ja) プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体
JPH05108372A (ja) コンパイラ最適化処理内容の出力方式
JPH0778096A (ja) 単体プログラムテスト方式
JPH05197538A (ja) プリコンパイラ方式における例外発生行番号表示方式
JPH10207738A (ja) 言語処理システム
JPH0327453A (ja) プログラム文指定処理方式
JPH03260828A (ja) 情報処理装置
JPH03179529A (ja) 言語翻訳システム
JPH02205930A (ja) インタフェースチェック処理方法
JPH04282725A (ja) ソフトウェア開発環境に関する処理方式
JPH04106633A (ja) 逆アセンブル方式
JPH06348541A (ja) プログラムテスト方式
JPH03186933A (ja) 言語処理システムのシンボル処理方式
JPH04209029A (ja) 並列処理プログラム翻訳処理装置
JPS63228341A (ja) プログラム構文チエツク方式
JPH0546434A (ja) プログラムデバツグ方式
JPH0495139A (ja) 言語処理プログラムのクロスリファレンス出力方式
JPH05233241A (ja) プログラム作成装置
JPH11345119A (ja) 情報処理装置
JPS62166432A (ja) プログラム翻訳制御方式
JPH05100897A (ja) 命令トレース方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees