JPS6355646A - シンボリツクデバツガ制御方式 - Google Patents

シンボリツクデバツガ制御方式

Info

Publication number
JPS6355646A
JPS6355646A JP61200839A JP20083986A JPS6355646A JP S6355646 A JPS6355646 A JP S6355646A JP 61200839 A JP61200839 A JP 61200839A JP 20083986 A JP20083986 A JP 20083986A JP S6355646 A JPS6355646 A JP S6355646A
Authority
JP
Japan
Prior art keywords
line
line number
instruction
dictionary
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.)
Pending
Application number
JP61200839A
Other languages
English (en)
Inventor
Satoshi Yamane
山根 智
Toshiko Hama
浜 敏子
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
Original Assignee
Fujitsu Ltd
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 filed Critical Fujitsu Ltd
Priority to JP61200839A priority Critical patent/JPS6355646A/ja
Publication of JPS6355646A publication Critical patent/JPS6355646A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔概要丁 シンポリンクデバソガにおいて2行番号カウンタを設け
るとともに5オブジエクトモジユール中に、ソースプロ
グラムの行番号をカウントする機械命令を埋め込んでお
き、オブジェクトモジュールの実行時に、ソースプログ
ラムの対応行番号を容易に識別できるようにして、オブ
ジェクトコードに対応するシンボル情報を迅速に参照可
能にする。
〔産業上の利用分野〕
本発明は、情報処fl装置において、C言語のようなシ
ンボリック言語(高槻言語)で記述されたプログラムを
デバッグ(試験)するためのシンボリックデバッガに関
するものであり5特にオブジェクトモジュールとソース
プログラムとを行単位に、対応づけるだめのシンボリッ
クデバッガ制御方式に関する。
〔従来の技術〕
対話形式でプログラムのデバッグを行うための手段とし
て使用されるシンボリックデバッガでは。
障害発生時などに、実行中のオブジェクトモジュール上
の任意のオブジェクトコードについて、ソースプログラ
ム上の対応するシンボル情報を参照することが必要とさ
れる。
このため従来は、オブジェクトモジュールの中に、ソー
スプログラムの行対応で行番号を埋め込んでおき、必要
時に該当する行番号を読み出し。
ソースプログラムを参照する方式がとられていた。
第312Nは、その概念図であり、30はシンボリック
デバッガ、31はオブジェクトモジュール。
32は行番号辞書、33はソースプログラムのシンボル
情報を表す。
シンボリックデバッガ30は、丘作者の指示にしたがっ
て、オブジェクトモジュール31の実行を制御する。
オブジェクトモジュール31には、コンパイル処理時の
指定により、ソースプログラムのシンボル情!833の
行ごとに、その行番号を与える機械命令が埋め込まれて
いる(斜線で示される)、この行番号を与える機械命令
は1分岐命令を用いて所定の条件下で選択実行されるよ
うにする。
行番号辞書32は、ソースプログラムの行番号と、その
行の先頭アドレスを示すポインタとを対応づけて管理す
るテーブルである。
動作において、シンボリックデバッガ30がオブジェク
トモジュール31のデバッグ実行を制御している際、操
作者からの指示、あるいはエラー等の所定の事象の発生
に応じて1分岐命令を用いてオブジェクトモジュール3
1中に埋め込まれている行番号を与える機械命令のうち
の該当するものを実行し9行番号を得る。次にシンボリ
ックデバッガ30は、その行番号を用いて行番号辞書3
2を検索し、対応するポインタを取り出して、ソースプ
ログラムのシンボル清報33中の8亥当する行をアクセ
スし、オブジェクトモジュールに対応づけて表示するな
どの処理を行う。
〔発明が解決しようとする問題点〕
従来のシンボリックデバッガでは、オブジェクトモジュ
ールからソースプログラムの対応する行を参照するため
に、予めオブジェクトモジュール中に9行番号を与える
機械命令を埋め込んで置く必要があった。
このため、オブジェクトモジュールのサイズが大きくな
り、また行番号辞書を検索するために時間がかなりかか
るという問題があった。
〔問題点を解決するための手段〕
本発明は、上記した問題点を解決するため1行番号カウ
ンタを設けるとともに、オブジェクトモジュールには、
ソースプログラムの対応行ごとに。
行番号カウンタの行番号を1ずつ歩進させる機械命令を
埋め込んでおき、オブジェクトモジュールの実行時に、
実行中の機械命令が対応するソースプログラム中の行の
行番号を1行番号カウンタによって常時管理するととも
に、必要時に行番号カウンタを参照し8行番号を得て1
次に行番号辞書の対応するエントリのアドレスを計算し
1行番号辞書から、ソースプログラムの対応行へのポイ
ンタを即時的に読み出すようにしたものである。
第1図は1本発明の詳細な説明するための概念図である
0図において、10はシンボリックデバッガ、11はオ
ブジェクトモジュール、12はソースプログラムのシン
ボル情報、13は行番号辞書、14は行番号カウンタ、
15はアドレス計算部、16は行番号辞書先頭ポインタ
を示す。
シンボリックデバッガ10は、試験対象のプログラムを
、ソースプログラムのシンボル情報12をつがい、対話
形式により実行制御できるようにするデバソ、グッール
である。
オブジェクトモジュール11は、ソースプログラムのシ
ンボル1n報12をコンパイル処理した結果の機械命令
からなるプログラムである。
ソースプログラムのシンボル情報12は1行番号0,1
.川、i、・・・、nをもつ複数の行Lll+L1.・
・・、L8.・・・、Llで構成される。また各行Lo
 、L+ 、・・・、L、、・・・、Lnの先頭アドレ
スは+  ao +  al + ・・・、a3.・・
・l  allで示される。
オブジェクトモジュール11には、ソースプログラムの
シンボル情報12の各行LO,L、・・・。
Lo、・・・、Llに対応する機械命令群(MO、M+
・・・1M3.・・・2M7で表す)の境界ごとに1行
番号カウンタ14を更新する機械命令(me、m、。
・・・1m1.・・−2m7で表す)が埋め込まれてい
る。
行番号カウンタ14の値は、オブジェクトモジュール1
1に埋め込まれている機械命令mo、m、。
・・・1m8.・・・9m0がそれぞれ実行されるたび
に。
ソースプログラムのシンボル情報12の行番号に対応す
るよう更新される。すなわちある機械命令m、を実行し
た後の行番号カウンタI4の内容(LCで表す)は1機
械命令群M、に対応するソースプログラムのソンボル情
ff112の行し、の行番号iを与える。
行番号辞書13は、ソースプログラムのシンボル情報1
2の行り、の行番号iとアドレスa、とを対応づけるポ
インクチ−プルである。この行番号辞書13の各エント
リアドレスは、bo、b。
、・・・、b、、・・・、b7で示される。また各エン
トリの幅はeであり、そして行番号辞書13の先頭アド
レスはHPで表される。この場合、HP=bOであり、
HPは、予め行番号辞書先頭ポインタ16に設定される
アドレス計算部15は7行番号カウンタ14の値iと1
行番号辞書光頭ポインタ16の値HPと。
行番号辞書13のエントリ幅βとに基づいて1行番号辞
書13のエントリアドレスb8を次式により計算する。
b、=HP+l・p このようにして計算されたエントリアドレスb僅を用い
て行番号辞書13をアクセスし、目的のエントリを直ち
に読み出して、ソースプログラムのシンボル情報12の
行番号iに対応する行LLのアドレスa、を得る。
オブジェクトモジュールIIに埋め込まれる行番号カウ
ンタ14更新用の機械命令m@ 、m、。
・・・1m1.・・・1mいのうち、最初の行の機械命
令moは2行番号カウンタ14をOにクリアする命令(
LC−0)であり、残り行の大半の機械命令は行番号カ
ウンタ14の内容を+1する命令(LC−LCi1)で
ある。しかし9分岐命令で制御が渡ってくる可能性のあ
る行の機械命令は、その行の行番号(LC8とする)を
行番号カウンタ14に直接埋め込む命令(LC−LCi
 )にされる。
〔作用〕
第1図に示されるように本発明において、オブジェクト
モジュール11に埋め込まれる機械命令は1行番号カウ
ンタ14を更新するための機械命令m。、ml 、 ・
・’、mi 、”’、mL1のみであり。
従来のような分岐命令の付加は不必要である。このため
、オブジェクトモジュール11のサイズを。
従来よりも削減することができる。
また必要時に9行番号カウンタ14から取り出した行番
号iから3行番号辞書13のエントリアドレスb、を計
算して9行番号辞書13から一回のアクセスで目的のエ
ントリを読み出すため、従来のように行番号iで行番号
辞書13を検索する場合にくらべて大幅に処理時間を短
縮することができる。
〔実施例〕
第2図に1本発明のl実柊例におけるハードウェア構成
を示す。
第2図において、1はCPU、2はメモリ、3はバス、
4はキー人力装置、5は表示装置、6は入出力制御装置
、7はディスク装置、10はシンポリンクデバソガ、1
1.11’はオブジェクトモジュール、12.12’は
ソースプログラムのシンポル情報、13.13’は行番
号辞書、14は行番号カウンタ、16は行番号辞書先頭
ポインタである。
■ないし7で示されるハードウェア要素は一般的なもの
であり、多くの変型が可能である。
試験対象のオブジェクトモジュール11’およびソース
プログラムのシンボル情報12′と1行番号辞書13’
とは、コンパイル処理結果の情報としてディスク装置7
に格納されており、試験実行時にメモリ2の領域を割り
付けて、11.12.13で示されるようにロードされ
る。
またこのとき行番号辞書先頭ポインタ16には。
行番号辞書13′の先頭アドレスが設定される。
この状態において、シンボリックデバッガ10の制御の
ちとに、オブジェクトモジュール11’の実行を開始す
る。
オブジェクトモジュール11′の最初の機械命令は2行
番号カウンタ14の値(LCで表す)をOにクリアする
命令である。
続いて、ソースプログラムのシンボル情報12の最初の
行に対応する機械命令α、β、γの群を実行すると1次
の機械命令は、ソースプログラムのシンボル情報120
次の行を開始する機械命令であり、それは行番号カウン
タ14の値LCを+1する。すなわちLC←LC+ 1
に更新する命令である。この命令を実行し、続いて本来
のソース行に対応する機械命令A、B、Cを実行する。
このようにして、順次のソース行ごとに行番号カウンタ
14をLC−LC+1で更新し、実行中のソース行の行
番号を表示させる。
また分岐先のソース行の最初の機械命令は、そのソース
行の行番号(LCiで表す)を行番号カウンタ14に設
定する命令であるから、この命令が実行されると1行番
号カウンタ14はLC−LClのように更新される。
このようにして、シンボリックデバッガ10は。
必要時に行番号カウンタ14を参照し1行番号辞書先頭
ポインタ16と所定のエントリ幅(1)とを用いて、第
1図で説明したようにして1行番号辞書13のエントリ
アドレスを計算し0行番号辞書13から目的のエントリ
を読み出す。そして。
この読み出されたエントリに含まれるポインタを用いて
、ソースプログラムのシンボル情報12をアクセスし、
該当する行のシンボル情報を読み出す。
〔発明の効果〕
本発明によれば、シンボリックデバッガによるプログラ
ム試験において、ソースプログラムの行番号を対応づけ
るためにオブジェクトモジュール中に埋め込む機械命令
によりオブジェクトモジュールのサイズが増大するのを
最小限に留めることができ、また行番号辞書を行番号に
よらずに、エントリアドレスを計算してアクセスするた
め、辞書の参照時間が短縮され、シンボリックデバッガ
の性能向上を図ることができる。
【図面の簡単な説明】
第1図は本発明の原理説明図、第2図は本発明の1実施
例のハードウェア構成図、第3図は従来のシンボリック
デバッガの概念図である。 第1図中。 10:シンボリックデバッガ 11:オブジェクトモジュール 12:ソースプログラムのシンボル情報13:行番号辞
書 14:行番号カウンタ 15ニアドレス計算部

Claims (1)

  1. 【特許請求の範囲】 プログラムデバッグ処理システムにおいて、行番号カウ
    ンタ(14)と、リースプログラムの行毎の行番号と行
    アドレスとを対応づけて示す行番号辞書(13)を設け
    、 試験すべきソースプログラムをコンパイル処理する際、
    生成するオブジェクトモジュール中にソースプログラム
    の対応する行ごとにその行番号を生成するための機械命
    令を埋め込むとともに、上記オブジェクトモジュール中
    に埋め込まれた行番号を生成するための機械命令が実行
    される際、上記行番号カウンタ(14)の内容を、ソー
    スプログラム上で現在実行中の行の行番号に逐次更新し
    、オブジェクトモジュールからソースプログラムの行の
    シンボル情報を参照する必要が生じた場合、上記行番号
    カウンタ(14)の内容の行番号を読み出して上記行番
    号辞書(13)のエントリアドレスを計算し、そのエン
    トリアドレスを用いて上記行番号辞書(13)をアクセ
    スし、ソースプログラムの該当する行のアドレスを求め
    て、その行のシンボル情報を参照することを特徴とする
    シンボリックデバッガ制御方式。
JP61200839A 1986-08-27 1986-08-27 シンボリツクデバツガ制御方式 Pending JPS6355646A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61200839A JPS6355646A (ja) 1986-08-27 1986-08-27 シンボリツクデバツガ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61200839A JPS6355646A (ja) 1986-08-27 1986-08-27 シンボリツクデバツガ制御方式

Publications (1)

Publication Number Publication Date
JPS6355646A true JPS6355646A (ja) 1988-03-10

Family

ID=16431064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61200839A Pending JPS6355646A (ja) 1986-08-27 1986-08-27 シンボリツクデバツガ制御方式

Country Status (1)

Country Link
JP (1) JPS6355646A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0370241A (ja) * 1989-08-09 1991-03-26 Toa Corp 電話機における終話検出装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0370241A (ja) * 1989-08-09 1991-03-26 Toa Corp 電話機における終話検出装置

Similar Documents

Publication Publication Date Title
US5038348A (en) Apparatus for debugging a data flow program
EP0406602B1 (en) Method and apparatus for debugging parallel programs by serialization
US7093165B2 (en) Debugging Method
US7395199B2 (en) Emulating the operation of a video graphics adapter
CA1213986A (en) Selective guest system purge control
US20050216897A1 (en) Converter, automation device with a converter, and a development environment having an automation device with converter
US4108360A (en) Method of error analysis and diagnosis in electronic data processing systems
JPS6355646A (ja) シンボリツクデバツガ制御方式
JP3211423B2 (ja) 分岐命令実行方法および分岐命令実行装置
JP2785606B2 (ja) パイプライン処理方式コンピュータ用プログラムのデバッガ
JP3213792B2 (ja) 論理シミュレ−ション検証方式
JPH0784797A (ja) ロードモジュールへのソースコード行番号登録方法および装置
JPH0510692B2 (ja)
JPS6045455B2 (ja) プログラム進行状態表示装置
JPH02115951A (ja) 高級言語プログラム保守デバッグ方式
JPH04217034A (ja) プログラムトレースの表示方式
JPS6111857A (ja) プログラム・モジユ−ル表示装置
JPS63291170A (ja) シミユレ−タ
JPH11191072A (ja) デバッグのブレイク処理方法及びデバッグ処理装置
JPS59136855A (ja) ソフトウエアの試験・評価方法
JPH0439097B2 (ja)
JPH06236294A (ja) ソースプログラム・レベルでのデバッグ・モニタ制御方式
JPH06161820A (ja) キャッシュを用いたcpuトレース装置
JPS61143855A (ja) プログラムテスト方式
JPS6240550A (ja) プログラムデバツク装置