JP3105546B2 - アセンブラのシンボル・デバッグ情報処理方式 - Google Patents

アセンブラのシンボル・デバッグ情報処理方式

Info

Publication number
JP3105546B2
JP3105546B2 JP02401773A JP40177390A JP3105546B2 JP 3105546 B2 JP3105546 B2 JP 3105546B2 JP 02401773 A JP02401773 A JP 02401773A JP 40177390 A JP40177390 A JP 40177390A JP 3105546 B2 JP3105546 B2 JP 3105546B2
Authority
JP
Japan
Prior art keywords
symbol
assembler
debug information
label
compiler
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 - Fee Related
Application number
JP02401773A
Other languages
English (en)
Other versions
JPH04215143A (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.)
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 JP02401773A priority Critical patent/JP3105546B2/ja
Publication of JPH04215143A publication Critical patent/JPH04215143A/ja
Application granted granted Critical
Publication of JP3105546B2 publication Critical patent/JP3105546B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、言語処理プログラムの
アセンブラに関し、特に、Cコンパイラなどで自動生成
したレーベルを有するアセンブラ・ソース・プログラム
情報のシンボル・デバッグ情報処理方式に関する。
【0002】
【従来の技術】プログラムを作成する場合、図2に示す
ような3つの手法がある。(A)は、アセンブラ言語の
みの記述の場合で、オブジェクト効率は良いがプログラ
ムの生産性は低い。(B)は、C言語のみの記述の場合
で、プログラムの生産性は良いが、オブジェクト効率は
余り良くない。(C)は、上述の2つを組合せた手法で
ある。つまり、プログラムの生産性を向上させるため
に、C言語を用いてプログラムを作成し、割込み制御や
サーボ制御などのようにオブジェクト効率を優先とする
箇所には、図3のようにCソース中にアセンブラ・ソー
スを記述してプログラムを作成する。この場合、作成し
たプログラムをCコンパイラに入力してコンパイル処理
した後、コンパイラが出力した図4のようなファイルを
アセンブラに入力して、アセンブル処理を行なうことと
なる。
【0003】一般に、利用者は(C)のプログラム手法
をよく使う。
【0004】しかし、言語処理プログラムのCコンパイ
ラは、C言語の「if」,「while」,「cas
e」などの制御分を処理する際、Cコンパイラが自動生
成した多くのレーベルを用いたアセンブル・ソース・プ
ログラム情報を生成する。図4の39行目に示す「?L
0003」のように先頭に「?L」の付くレーベルが自
動生成されたレーベルである。
【0005】Cコンパイラが自動生成したレーベルは、
アセンブラがアセンブル処理する際には必要なレーベル
ではあるが、ユーザがCソースレベルのデバッグを行な
う際には、不要なレーベルである。しかし、言語処理プ
ログラムのアセンブラは、Cコンパイラが自動生成した
レーベルか否かを判別することなくすべてのレーベルを
シンボル・デバッグ情報として出力していた。
【0006】
【発明が解決しようとする課題】ユーザがデバッグする
際に不要なレーベルであるCコンパイラが自動生成した
レーベルにより、シンボル・デバッグ情報量が過剰とな
っていた。そのため、リンカおよびデバッガがシンボル
・デバッグ情報をメモリ上に取り込めなくなるという問
題点があった。また、シンボル情報量が多いため、リン
カおよびデバッガがシンボルの検索を行なう場合に無駄
なシンボルに対しても検索を行なう必要があり、リンカ
およびデバッガの性能が悪くなるという問題点があっ
た。
【0007】
【課題を解決するための手段】アセンブラのアセンブル
処理する手段の中に、特定のレーベルを判別する手段
と、特定のレーベルと判別したレーベルをシンボル・デ
バッグ情報として出力しないようにする手段を有する。
【0008】
【実施例】本発明の実施例について図面を参照してより
詳しく説明する。
【0009】図1は、本発明の一実施例のシステム構成
図である。アセンブラ・システム101は、アセンブラ
・ソース・プログラム情報を入力ファイル102から入
力する入力部103と、入力したアセンブラ・ソース・
プログラム情報をアセンブル処理するアセンブル処理部
104と、アセンブルした結果を出力ファイル105に
出力する出力部106から構成され、アセンブル処理部
104の中に特定のレーベルを判別する特定レーベル判
別部107と、特定レーベルと判断したレーベルをシン
ボル・デバッグ情報として出力しないようにするシンボ
ル除去部108を有する。
【0010】図3は、Cコンパイラに入力する利用者が
作成したソース・プログラム情報のイメージである。
【0011】図4は、Cコンパイラが第3図のソース・
プログラム情報を処理して得られたところの入力ファイ
ル102のアセンブラ・ソース・プログラム情報のイメ
ージである。
【0012】利用者は、Cコンパイラで処理して得られ
たアセンブラ・ソース・プログラム情報である入力ファ
イル102をアセンブラ・システム101に入力する。
入力されたアセンブラ・ソース・プログラム情報は、入
力部103により入力され、アセンブル処理部104に
伝えられる。アセンブル処理部104では、アセンブル
処理を行なった後、特定レーベル判別部107とシンボ
ル除去部108によって、Cコンパイラなどによって自
動生成されたレーベルと判断されたシンボル・デバッグ
情報は除去され、アセンブル処理された情報が、出力部
106によって出力ファイル105となる。
【0013】次に、特定レーベル判別部107とシンボ
ル除去部108によって、Cコンパイラなどによって自
動生成されたレーベルと判断されたシンボル・デバッグ
情報が除去される処理フローを図5を用いて詳細に説明
する。なお、図6は、アセンブル処理されて得られたシ
ンボル・デバッグ情報テーブルである。
【0014】まず、シンボル・デバッグ情報テーブルの
個数分の処理を行なうためにもうけたカウンタをゼロで
初期化する(ステップ501)。次に、カウンタが示す
図6のシンボル・デバッグ情報のテーブルの先頭2文字
の文字列が「?L」か否かを判別し、「?L」である場
合は次のステップ503をスキップする(スキップ50
2)。「?L」でない場合はそのテーブルの内容をシン
ボル・デバッグ情報として、出力部106に伝える(ス
テップ503)。次に、カウンタを1つインクリメント
し(ステップ504)、カウンタの値が図6のシンボル
・デバッグ情報テーブルの登録個数分以上であるか否か
を判断し、個数分以上であればこの処理フローは終了
し、個数分未満であればステップ302にもどる(ステ
ップ505)。
【0015】
【発明の効果】以上、説明したように本発明のアセンブ
ラのシンボル・デバッグ情報処理方式は、Cコンパイラ
などが自動生成したレーベルをアセンブラのアセンブラ
処理時に判別し、シンボル・デバッグ情報としてそのレ
ーベルを除去することにより、シンボル・デバッグ情報
量を低減させ、リンカおよびデバッガ上でのメモリ制限
内でのシンボル情報の有効利用が可能となるとともに、
無駄なシンボルの検索を省くことにより性能を改善する
ことが可能となる。
【図面の簡単な説明】
【図1】本発明の実施例のアセンブラ・システムの構成
図である。
【図2】プログラム作成手法例図である。
【図3】利用者が作成したソース・プログラム情報のイ
メージ図である。
【図4】アセンブラ・ソース・プログラム情報のイメー
ジ図である。
【図5】特定レーベルを判定・除去するフロー図であ
る。
【図6】シンボル・デバッグ情報テーブル図である。
【符号の説明】
101 アセンブラ・システム 102 入力ファイル 103 入力部 104 アセンブル処理部 105 出力ファイル 106 出力部 107 特定レーベル判別部 108 シンボル除去部 501 カウンタの初期化 502 先頭文字列比較 503 シンボル文字列出力 504 カウンタのインクリメント 505 カウンタオーバーチェック
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平1−260548(JP,A) 日立マイコン技報,Vol.4,N O.2,1990,P.91〜97 情報処理学会研究報告,Vol.86, No.34,1986,P.47.2.1〜47. 2.8 横河技報,Vol.32,No.1, 1988,P.11〜16 (58)調査した分野(Int.Cl.7,DB名) G06F 11/28,9/44 JICSTファイル

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】ソースプログラムをコンパイルしてアセン
    ブラで表現された入力ファイルを作成するコンパイラ
    と、前記入力ファイルをアセンブル処理してオブジェク
    ト情報およびシンボル・デバッグ情報を含む出力ファイ
    ルを作成するアセンブラと、前記出力ファイルのシンボ
    ル・デバッグ情報を取り込んで前記ソース・プログラム
    のデバッグを行うデバッガとを有するアセンブラのシン
    ボル・デバッグ情報処理方式において、前記アセンブラ
    は、前記入力ファイル中の、前記ソース・プログラムの
    特定の制御文に対応して前記コンパイラで自動生成され
    た特定のレーベルを判別する手段と、当該レーベルを前
    記シンボル・デバッグ情報から除く手段とを含むことを
    特徴とするアセンブラのシンボル・デバッグ情報処理方
    式。
JP02401773A 1990-12-13 1990-12-13 アセンブラのシンボル・デバッグ情報処理方式 Expired - Fee Related JP3105546B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02401773A JP3105546B2 (ja) 1990-12-13 1990-12-13 アセンブラのシンボル・デバッグ情報処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02401773A JP3105546B2 (ja) 1990-12-13 1990-12-13 アセンブラのシンボル・デバッグ情報処理方式

Publications (2)

Publication Number Publication Date
JPH04215143A JPH04215143A (ja) 1992-08-05
JP3105546B2 true JP3105546B2 (ja) 2000-11-06

Family

ID=18511603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02401773A Expired - Fee Related JP3105546B2 (ja) 1990-12-13 1990-12-13 アセンブラのシンボル・デバッグ情報処理方式

Country Status (1)

Country Link
JP (1) JP3105546B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2672968B2 (ja) * 1988-04-12 1997-11-05 富士通株式会社 デバッグ用ソースリスト出力処理方式

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
情報処理学会研究報告,Vol.86,No.34,1986,P.47.2.1〜47.2.8
日立マイコン技報,Vol.4,NO.2,1990,P.91〜97
横河技報,Vol.32,No.1,1988,P.11〜16

Also Published As

Publication number Publication date
JPH04215143A (ja) 1992-08-05

Similar Documents

Publication Publication Date Title
JPH07141201A (ja) 2パスコンパイラのための改良された方法
JPH09212356A (ja) インタープリタ言語で記述されたコンピュータ用ソフトウェアの保護システム
JP3105546B2 (ja) アセンブラのシンボル・デバッグ情報処理方式
US6983454B2 (en) Extended “run to” function
JP3049814B2 (ja) マイクロコンピュータの言語処理装置
JP3196675B2 (ja) 言語処理方式
JP3461185B2 (ja) ロードモジュールへのソースコード行番号登録方法および装置
JP2000207246A (ja) デバッグ支援装置及び方法並びにデバッグ支援用ソフトウェアを記録した記録媒体
Spencer How to Steal Code-or-Inventing The Wheel Only Once.
JPH0863369A (ja) 最適化情報出力方式
JPH06242942A (ja) ソースコードレベルデバッグ装置
Tanenbaum et al. The people's time sharing system
JP2990701B2 (ja) ファイル編集方式
JP2827724B2 (ja) プログラムデバッグ処理方法
JPH06250881A (ja) シンボリックデバッグ方式
JPS6367695B2 (ja)
JPH05108404A (ja) デバツガシステム
JPH0546434A (ja) プログラムデバツグ方式
JPH06259278A (ja) デバッグ情報の獲得方式
Cowling et al. MICROSIM as a teaching aid
JPH05108372A (ja) コンパイラ最適化処理内容の出力方式
JPH0495139A (ja) 言語処理プログラムのクロスリファレンス出力方式
JPH05204699A (ja) デバッグ時識別子探索方式
JPH11272500A (ja) デバッグ方法ならびにそのためのデバッグ装置およびプログラム記憶媒体
Krause Prolog‐2 Professional

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970304

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080901

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees