JPH04215143A - アセンブラのシンボル・デバッグ情報処理方式 - Google Patents
アセンブラのシンボル・デバッグ情報処理方式Info
- Publication number
- JPH04215143A JPH04215143A JP2401773A JP40177390A JPH04215143A JP H04215143 A JPH04215143 A JP H04215143A JP 2401773 A JP2401773 A JP 2401773A JP 40177390 A JP40177390 A JP 40177390A JP H04215143 A JPH04215143 A JP H04215143A
- Authority
- JP
- Japan
- Prior art keywords
- symbol
- assembler
- information
- specific label
- output
- 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
Links
- 230000010365 information processing Effects 0.000 title claims description 4
- 238000003672 processing method Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、言語処理プログラムの
アセンブラに関し、特に、Cコンパイラなどで自動生成
したレーベルを有するアセンブラ・ソース・プログラム
情報のシンボル・デバッグ情報処理方式に関する。
アセンブラに関し、特に、Cコンパイラなどで自動生成
したレーベルを有するアセンブラ・ソース・プログラム
情報のシンボル・デバッグ情報処理方式に関する。
【0002】
【従来の技術】プログラムを作成する場合、図2に示す
ような3つの手法がある。(A)は、アセンブラ言語の
みの記述の場合で、オブジェクト効率は良いがプログラ
ムの生産性は低い。(B)は、C言語のみの記述の場合
で、プログラムの生産性は良いが、オブジェクト効率は
余り良くない。(C)は、上述の2つを組合せた手法で
ある。つまり、プログラムの生産性を向上させるために
、C言語を用いてプログラムを作成し、割込み制御やサ
ーボ制御などのようにオブジェクト効率を優先とする箇
所には、図3のようにCソース中にアセンブラ・ソース
を記述してプログラムを作成する。この場合、作成した
プログラムをCコンパイラに入力してコンパイル処理し
た後、コンパイラが出力した図4のようなファイルをア
センブラに入力して、アセンブル処理を行なうこととな
る。
ような3つの手法がある。(A)は、アセンブラ言語の
みの記述の場合で、オブジェクト効率は良いがプログラ
ムの生産性は低い。(B)は、C言語のみの記述の場合
で、プログラムの生産性は良いが、オブジェクト効率は
余り良くない。(C)は、上述の2つを組合せた手法で
ある。つまり、プログラムの生産性を向上させるために
、C言語を用いてプログラムを作成し、割込み制御やサ
ーボ制御などのようにオブジェクト効率を優先とする箇
所には、図3のようにCソース中にアセンブラ・ソース
を記述してプログラムを作成する。この場合、作成した
プログラムをCコンパイラに入力してコンパイル処理し
た後、コンパイラが出力した図4のようなファイルをア
センブラに入力して、アセンブル処理を行なうこととな
る。
【0003】一般に、利用者は(C)のプログラム手法
をよく使う。
をよく使う。
【0004】しかし、言語処理プログラムのCコンパイ
ラは、C言語の「if」,「while」,「case
」などの制御分を処理する際、Cコンパイラが自動生成
した多くのレーベルを用いたアセンブル・ソース・プロ
グラム情報を生成する。図4の39行目に示す「?L0
003」のように先頭に「?L」の付くレーベルが自動
生成されたレーベルである。
ラは、C言語の「if」,「while」,「case
」などの制御分を処理する際、Cコンパイラが自動生成
した多くのレーベルを用いたアセンブル・ソース・プロ
グラム情報を生成する。図4の39行目に示す「?L0
003」のように先頭に「?L」の付くレーベルが自動
生成されたレーベルである。
【0005】Cコンパイラが自動生成したレーベルは、
アセンブラがアセンブル処理する際には必要なレーベル
ではあるが、ユーザがCソースレベルのデバッグを行な
う際には、不要なレーベルである。しかし、言語処理プ
ログラムのアセンブラは、Cコンパイラが自動生成した
レーベルか否かを判別することなくすべてのレーベルを
シンボル・デバッグ情報として出力していた。
アセンブラがアセンブル処理する際には必要なレーベル
ではあるが、ユーザがCソースレベルのデバッグを行な
う際には、不要なレーベルである。しかし、言語処理プ
ログラムのアセンブラは、Cコンパイラが自動生成した
レーベルか否かを判別することなくすべてのレーベルを
シンボル・デバッグ情報として出力していた。
【0006】
【発明が解決しようとする課題】ユーザがデバッグする
際に不要なレーベルであるCコンパイラが自動生成した
レーベルにより、シンボル・デバッグ情報量が過剰とな
っていた。そのため、リンカおよびデバッガがシンボル
・デバッグ情報をメモリ上に取り込めなくなるという問
題点があった。また、シンボル情報量が多いため、リン
カおよびデバッガがシンボルの検索を行なう場合に無駄
なシンボルに対しても検索を行なう必要があり、リンカ
およびデバッガの性能が悪くなるという問題点があった
。
際に不要なレーベルであるCコンパイラが自動生成した
レーベルにより、シンボル・デバッグ情報量が過剰とな
っていた。そのため、リンカおよびデバッガがシンボル
・デバッグ情報をメモリ上に取り込めなくなるという問
題点があった。また、シンボル情報量が多いため、リン
カおよびデバッガがシンボルの検索を行なう場合に無駄
なシンボルに対しても検索を行なう必要があり、リンカ
およびデバッガの性能が悪くなるという問題点があった
。
【0007】
【課題を解決するための手段】アセンブラのアセンブル
処理する手段の中に、特定のレーベルを判別する手段と
、特定のレーベルと判別したレーベルをシンボル・デバ
ッグ情報として出力しないようにする手段を有する。
処理する手段の中に、特定のレーベルを判別する手段と
、特定のレーベルと判別したレーベルをシンボル・デバ
ッグ情報として出力しないようにする手段を有する。
【0008】
【実施例】本発明の実施例について図面を参照してより
詳しく説明する。
詳しく説明する。
【0009】図1は、本発明の一実施例のシステム構成
図である。アセンブラ・システム101は、アセンブラ
・ソース・プログラム情報を入力ファイル102から入
力する入力部103と、入力したアセンブラ・ソース・
プログラム情報をアセンブル処理するアセンブル処理部
104と、アセンブルした結果を出力ファイル105に
出力する出力部106から構成され、アセンブル処理部
104の中に特定のレーベルを判別する特定レーベル判
別部107と、特定レーベルと判断したレーベルをシン
ボル・デバッグ情報として出力しないようにするシンボ
ル除去部108を有する。
図である。アセンブラ・システム101は、アセンブラ
・ソース・プログラム情報を入力ファイル102から入
力する入力部103と、入力したアセンブラ・ソース・
プログラム情報をアセンブル処理するアセンブル処理部
104と、アセンブルした結果を出力ファイル105に
出力する出力部106から構成され、アセンブル処理部
104の中に特定のレーベルを判別する特定レーベル判
別部107と、特定レーベルと判断したレーベルをシン
ボル・デバッグ情報として出力しないようにするシンボ
ル除去部108を有する。
【0010】図3は、Cコンパイラに入力する利用者が
作成したソース・プログラム情報のイメージである。
作成したソース・プログラム情報のイメージである。
【0011】図4は、Cコンパイラが第3図のソース・
プログラム情報を処理して得られたところの入力ファイ
ル102のアセンブラ・ソース・プログラム情報のイメ
ージである。
プログラム情報を処理して得られたところの入力ファイ
ル102のアセンブラ・ソース・プログラム情報のイメ
ージである。
【0012】利用者は、Cコンパイラで処理して得られ
たアセンブラ・ソース・プログラム情報である入力ファ
イル102をアセンブラ・システム101に入力する。 入力されたアセンブラ・ソース・プログラム情報は、入
力部103により入力され、アセンブル処理部104に
伝えられる。アセンブル処理部104では、アセンブル
処理を行なった後、特定レーベル判別部107とシンボ
ル除去部108によって、Cコンパイラなどによって自
動生成されたレーベルと判断されたシンボル・デバッグ
情報は除去され、アセンブル処理された情報が、出力部
106によって出力ファイル105となる。
たアセンブラ・ソース・プログラム情報である入力ファ
イル102をアセンブラ・システム101に入力する。 入力されたアセンブラ・ソース・プログラム情報は、入
力部103により入力され、アセンブル処理部104に
伝えられる。アセンブル処理部104では、アセンブル
処理を行なった後、特定レーベル判別部107とシンボ
ル除去部108によって、Cコンパイラなどによって自
動生成されたレーベルと判断されたシンボル・デバッグ
情報は除去され、アセンブル処理された情報が、出力部
106によって出力ファイル105となる。
【0013】次に、特定レーベル判別部107とシンボ
ル除去部108によって、Cコンパイラなどによって自
動生成されたレーベルと判断されたシンボル・デバッグ
情報が除去される処理フローを図5を用いて詳細に説明
する。なお、図6は、アセンブル処理されて得られたシ
ンボル・デバッグ情報テーブルである。
ル除去部108によって、Cコンパイラなどによって自
動生成されたレーベルと判断されたシンボル・デバッグ
情報が除去される処理フローを図5を用いて詳細に説明
する。なお、図6は、アセンブル処理されて得られたシ
ンボル・デバッグ情報テーブルである。
【0014】まず、シンボル・デバッグ情報テーブルの
個数分の処理を行なうためにもうけたカウンタをゼロで
初期化する(ステップ501)。次に、カウンタが示す
図6のシンボル・デバッグ情報のテーブルの先頭2文字
の文字列が「?L」か否かを判別し、「?L」である場
合は次のステップ503をスキップする(スキップ50
2)。「?L」でない場合はそのテーブルの内容をシン
ボル・デバッグ情報として、出力部106に伝える(ス
テップ503)。次に、カウンタを1つインクリメント
し(ステップ504)、カウンタの値が図6のシンボル
・デバッグ情報テーブルの登録個数分以上であるか否か
を判断し、個数分以上であればこの処理フローは終了し
、個数分未満であればステップ302にもどる(ステッ
プ505)。
個数分の処理を行なうためにもうけたカウンタをゼロで
初期化する(ステップ501)。次に、カウンタが示す
図6のシンボル・デバッグ情報のテーブルの先頭2文字
の文字列が「?L」か否かを判別し、「?L」である場
合は次のステップ503をスキップする(スキップ50
2)。「?L」でない場合はそのテーブルの内容をシン
ボル・デバッグ情報として、出力部106に伝える(ス
テップ503)。次に、カウンタを1つインクリメント
し(ステップ504)、カウンタの値が図6のシンボル
・デバッグ情報テーブルの登録個数分以上であるか否か
を判断し、個数分以上であればこの処理フローは終了し
、個数分未満であればステップ302にもどる(ステッ
プ505)。
【0015】
【発明の効果】以上、説明したように本発明のアセンブ
ラのシンボル・デバッグ情報処理方式は、Cコンパイラ
などが自動生成したレーベルをアセンブラのアセンブラ
処理時に判別し、シンボル・デバッグ情報としてそのレ
ーベルを除去することにより、シンボル・デバッグ情報
量を低減させ、リンカおよびデバッガ上でのメモリ制限
内でのシンボル情報の有効利用が可能となるとともに、
無駄なシンボルの検索を省くことにより性能を改善する
ことが可能となる。
ラのシンボル・デバッグ情報処理方式は、Cコンパイラ
などが自動生成したレーベルをアセンブラのアセンブラ
処理時に判別し、シンボル・デバッグ情報としてそのレ
ーベルを除去することにより、シンボル・デバッグ情報
量を低減させ、リンカおよびデバッガ上でのメモリ制限
内でのシンボル情報の有効利用が可能となるとともに、
無駄なシンボルの検索を省くことにより性能を改善する
ことが可能となる。
【図1】本発明の実施例のアセンブラ・システムの構成
図である。
図である。
【図2】プログラム作成手法例図である。
【図3】利用者が作成したソース・プログラム情報のイ
メージ図である。
メージ図である。
【図4】アセンブラ・ソース・プログラム情報のイメー
ジ図である。
ジ図である。
【図5】特定レーベルを判定・除去するフロー図である
。
。
【図6】シンボル・デバッグ情報テーブル図である。
101 アセンブラ・システム
102 入力ファイル
103 入力部
104 アセンブル処理部
105 出力ファイル
106 出力部
107 特定レーベル判別部
108 シンボル除去部
501 カウンタの初期化
502 先頭文字列比較
503 シンボル文字列出力
Claims (1)
- 【請求項1】 アセンブラ・ソース・プログラム情報
をファイルから入力する手段、入力したアセンブラ・ソ
ース・プログラム情報をアセンブル処理する手段、アセ
ンブル処理されたオブジェクト情報をファイルに出力す
る手段とを有する言語処理プログラムのアセンブラにお
いて、特定のレーベルを判別する手段と、該レーベルを
シンボル・デバッグ情報として出力しないようにする手
段を有することを特徴とするアセンブラのシンボル・デ
バッグ情報処理方式。
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 true JPH04215143A (ja) | 1992-08-05 |
JP3105546B2 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) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01260548A (ja) * | 1988-04-12 | 1989-10-17 | Fujitsu Ltd | デバッグ用ソースリスト出力処理方式 |
-
1990
- 1990-12-13 JP JP02401773A patent/JP3105546B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01260548A (ja) * | 1988-04-12 | 1989-10-17 | Fujitsu Ltd | デバッグ用ソースリスト出力処理方式 |
Also Published As
Publication number | Publication date |
---|---|
JP3105546B2 (ja) | 2000-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3612294B2 (ja) | デバッグ方法およびデバッグ装置 | |
US6543049B1 (en) | Ranked break points and method for debugging a computer program | |
WO1998011485A1 (en) | Apparatus and method for revising computer program code | |
JP3380390B2 (ja) | デバッグ情報表示装置 | |
JPH09212356A (ja) | インタープリタ言語で記述されたコンピュータ用ソフトウェアの保護システム | |
CN116088861A (zh) | 面向可编程交换芯片的p4后端编译方法及系统 | |
JPH04215143A (ja) | アセンブラのシンボル・デバッグ情報処理方式 | |
JPH10187461A (ja) | 言語処理方式 | |
JP2000207246A (ja) | デバッグ支援装置及び方法並びにデバッグ支援用ソフトウェアを記録した記録媒体 | |
JPH09218789A (ja) | 分割コンパイル方式 | |
JP2019109687A (ja) | プログラミング言語変換支援装置、プログラミング言語変換支援方法、およびプログラム | |
JPH10289102A (ja) | プログラムのデータフロー解析装置 | |
JPH0863369A (ja) | 最適化情報出力方式 | |
JPH06242942A (ja) | ソースコードレベルデバッグ装置 | |
CN115421702A (zh) | 一种动态表单实现代码开发的方法 | |
JP2827724B2 (ja) | プログラムデバッグ処理方法 | |
JPH02191046A (ja) | プログラムの追跡方式 | |
JP3018783B2 (ja) | コンパイル方式 | |
JPH044434A (ja) | プログラムのトレース方法 | |
JPH05181652A (ja) | プログラムリバース装置 | |
JP2000132405A (ja) | インライン展開処理装置及び方法 | |
WO1997007452A1 (en) | Programmable compiler | |
JPH0495139A (ja) | 言語処理プログラムのクロスリファレンス出力方式 | |
JPH04209029A (ja) | 並列処理プログラム翻訳処理装置 | |
JPH05204699A (ja) | デバッグ時識別子探索方式 |
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 |