JPS63268040A - プログラムデバツグ方式 - Google Patents

プログラムデバツグ方式

Info

Publication number
JPS63268040A
JPS63268040A JP62101916A JP10191687A JPS63268040A JP S63268040 A JPS63268040 A JP S63268040A JP 62101916 A JP62101916 A JP 62101916A JP 10191687 A JP10191687 A JP 10191687A JP S63268040 A JPS63268040 A JP S63268040A
Authority
JP
Japan
Prior art keywords
module
program
symbol information
execution
main memory
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
JP62101916A
Other languages
English (en)
Inventor
Kenji Totsuka
戸塚 健司
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62101916A priority Critical patent/JPS63268040A/ja
Publication of JPS63268040A publication Critical patent/JPS63268040A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データ処理システムにおいてプログラムテス
ト用に使用されるソフトウニアデノくツガに関するもの
である。
〔従来の技術〕
データ処理システムにおいては、高級言語によるプログ
ラム開発が主流になってきている。又、デバッガにおい
てもシンボルを使ったデバッグ機能が欠かせない。
従来のシンボルデバッガは、特開昭58−94041号
の記載の様にコンパイラがソースプログラムをコンパイ
ルする際にソースプログラムのシンボルと機械語アドレ
スの対応付けをして生成したシンボル情報テーブルをも
とに、ユーザが指定したシンボルに対応する主記憶装置
上のアドレスを得て、コンパイル単位’Eあるモジエー
ルごとにシンボルデバッグを可能としていた。
また、特開昭57−23154号の記載の様にリンケー
ジプログラムを使って複数のモジュールを結合した状態
で、コンパイラがモジュール単位に出力したシンボル情
報テーブルを主記憶装置上に全て位置させ、これを使用
することにより複数のモジュールをもつプログラムのシ
ンボルデバッグを可能にしている。
〔発明が解決しようとする問題点〕 上記従来のシンボルデバッガは、コンパイル単位である
モジエールのデバッグ又は、少数のモジエールヲ結合し
た状態でのシンボルデバッグのみ適用が可能である。こ
れは、シンボル情報に多(のメモリ容量を必要とするこ
と、及びシンボル情報を主記憶装置上に読みこむために
多(の時間を必要とし、テスト対象とするプログラムが
大規模の場合は、会話型でシンボルによるデバッグを行
うことが難しいことがその理由である。
本発明では、テスト対象とするプログラムが大規模な場
合にも、メモリ及び速度性能をおとさすに実行すること
を可能にしている。
〔問題点を解決するための手段〕
上記目的は、コンパイラ、リンケージプログラム及び対
話形式デバッガをそなえたデータ処理システムにおいて
、テスト対象とするプログラムのシンボル情報は、コン
パイル単位であるモジュール単位に全てシンボル情報フ
ァイルに格納しておき、リンケージプログラムが生成し
たオブジェクトモジエールの名称とロードモジュール内
のオブジェクトモジエールの相対位置及び主記憶装置上
に位置するロードモジュールの絶対アドレスからオブジ
ェクトモジュールが位置する主記憶装置上の絶対アドレ
スをもとめ、そのアドレスをモジュール位置情報テーブ
ルに設定し、次にモジュールの先頭にモジュールの実行
経路を把握するためにSVC(スーパバイザコール)命
令を埋めこむ対話形式デバッガのプログラム実行準備部
、テスト対象とするプログラムの実行の際にSVC命令
を検出し、モジュールの実行経路をモジュールトレース
テーブルにスタックするモジュール実行検出部、テスト
対象とするプログラムの実行過程で異常終了の発生等で
ユーザがデバッグする際に、上記モジュールの実行経路
を端末上に表示し、ユーザが選択したモジュールのシン
ボル情報をシンボル情報ファイルからシンボル情報テー
ブルへ読出し、モジュール位置情報テーブルから主記憶
装置上の上記モジュールの絶対アドレスを得て、上記シ
ンボル情報テーブル内のシンボルに相当スるモジエール
内の相対アドレスを加算することにより、ユーザが指定
したテーブル及び変数のシンボルと主記憶装置上の絶対
アドレスの対応付けを行い、上記シンボルの主記憶装置
上の内容を表示・変更可能とするデバッグ制御部により
、達成されろ。
〔作用〕
本発明では、デバッグ対象とするモジュールのシンボル
情報は、対話形式デバッガ内のデバッグ制御部が端末に
モジュールの実行軌跡を表示し、その後、ユーザが任意
のモジー−ルを選択した際に、はじめて主記憶装置上に
読みこまれ、シンボルデバッグ情報として使われる。こ
のため、テスト対象とするプログラムの実行時には、シ
ンボル情報が必要なく、上記プログラムが大規模な場合
にも、メモリ及び速度性能をおとさずに実行できる。
〔実施例〕 以下に本発明の一実施例を第1図及び第2図により説明
する。第1図は、実施例構成、第2図はデバッグについ
ての処理説明である。
第1図中、1はソースプログラム、2はコンパイラ、3
はオブジェクトモジュールが格納されるオブジェクトモ
ジュールファイル、4はリンケージプログラム、5はロ
ードモジュールが格納されるロードモジュールファイル
、6はソースプログラム内のテーブル及び変数のオブジ
ェクトモジュール内の相対位置を示すシンボル情報を格
納するシンボル情報ファイル、7はプロセッサ、8はプ
ロセッサ7内の主記憶装置上に位置する対話形式デバッ
ガ、9は対話形式デバッガ8内に位置し、テスト対象と
するプログラムを実行する前に、上記オブジェクトモジ
ュールの主記憶装置上の絶対アドレスを求め、このアド
レスをモジュール位置情報テーブル13に設定し、又モ
ジュールの実行経路を把握するためにSvC命令をオブ
ジェクトモジュールの先頭に埋めこむプログラム実行準
備部、10は対話形式デバッガ8内に位置し、テスト対
象とするプログラムの実行を制御するプログラム実行制
御部、11は対話形式デバッガ8内に位置し、テスト対
象とするプログラムの実行中にモジエールの実行軌跡を
検出し、モジュール名称をモジエールトレーステーブル
14にスタックするモジュール実行検出部、12は対話
形式デバッガ8内に位置し。
プログラムが異常終了した際にユーザの指示により端末
17上にモジュールの実行経路を表示し、又シンボル情
報ファイル6からデバッグ対象とするモジエールのシン
ボル情報をシンボル情報テーブル15に読出しシンボル
によるデバッグを可能とするデバッグ制御部、13は対
話形式デバッガ8内に位置し、モジニール名称と主記憶
装置上の絶対アドレスの対応関係をもつモジュール位置
情報テーブル、14は対話形式デバッガ8内に位置し、
テスト対象とするプログラムのモジー−ル実行軌跡をス
タックしておくモジュールトレーステーブル、15は対
話形式デバッガ8内に位置し、デバッグ制御部12が入
力したシンボル情報を格納しておくシンボル情報テーブ
ル、16は主記憶装置上にロードされた四−ドモジュー
ル、17は端末を表している。
コンパイラ2は、ソースプログラム1をコンパイルする
際にオブジェクトモジエールをオブジェクトモジエール
ファイル3に出力し、同時にテーブル及び変数のオブジ
ェクトモジュール内の相対位置を示すシンボル情報をシ
ンボル情報ファイル6に出力する。リンケージプログラ
ム4は、オブジェクトモジュールファイル3から複数の
オブジェクトモジュールを結合し、ロードモジュール及
びロードモジュール内のオブジェクトモジュールの相対
位置情報をロードモジュールファイル5に出力する。プ
ロセッサ7内に存在する対話形式デノくツガ8を起動し
た時点で、ロードモジュール16がロードモジュールフ
ァイル5からプロセッサ7の主記憶装置上にロードされ
、同時に対話形式デバッガ8内のプログラム実行準備部
9がロードモジュール内のオブジェクトモジュール(以
下モジュールと記す)の相対位置情報を抽出し、ロード
モジュール16が主記憶装置にロードされた位置の絶対
アドレスを加算することでモジー−ルの主記憶装置上の
絶対アドレスを求め、モジュール位置情報テーブルにモ
ジュール名称とともに設定する。プログラム実行準備部
は続いて、モジュール位置情報たプル13を用いてロー
ドモジュール内の各モジエールの先頭にSVC命令を埋
込む。プログラム実行制御部10によりテスト対象とす
るロードモジ! −ル16が実行されるとロードモジニ
ール16内の各モジニールが実行されるたびに、870
割込みが発生し、モジエール実行検出部11に制御が渡
る。モジュール実行検出部11はSVC割込みが発生し
たモジュールの絶対アドレスとモジー−ル位置情報テー
ブル13の各モジュールの絶対アドレスを比較し、87
0割込みをおこしたモジュール名称を探し出し、モジュ
ールトレーステーブル14にスタックする。
テスト対象とするロードモジー−ル16を実行中に異常
終了が発生するとデバッグ制御部12は、第2図で示す
如(デバッグ処理を行う。
まず、ステップ18に示す如(端末17へ異常終了した
モジュール名称をモジュールトレーステーブル14の情
報をもとに表示する。次にステップ19及びステップ2
0に示す如くユーザがモジュールの実行経路を表示する
指定をした場合、ステップ21に示す如くモジュールの
実行経路をモジュールトレーステーブル14から得て端
末17に表示する。
さらに、ステップ22に示す如(ユーザがデバッグ対象
とするモジュール名を指定するとステップ23に示す如
(シンボル情報ファイル6から上記モジュールのシンボ
ル情報をシンボル情報テーブル15に入力する。続いて
ステップ24に示すごとくユーザが表示・設定する変数
名を指定するとステップ25に示す如くシンボル情報テ
ーブル15内の上記変数に対応するモジュール内の相対
アドレスを得る。
次にステップ26に示す如く上記モジュールの主記憶装
置上の絶対アドレスをモジュール位置情報テーブル13
から得る。
続いて、ステップ27に示す如く上記ステップ25゜ス
テップ26で得たアドレスを加算し当該変数の主記憶装
置上の絶対アドレスを得る。これにより、ステップ28
に示す如く上記変数に対応する主記憶装置上の内容を表
示・設定することができる。
他の変数の表示・設定を行う場合は、ステップ29、ス
テップ30に示す如くユーザはステップ24で示す新た
な変数名の指定を行う。又他のモジエールの変数の表示
・設定を行う場合は、ステップ22に示すモジエール名
の指定を行う。
これにより、ユーザが指定した変数等のシンボルの内容
の表示・設定が行える。
本実施例によれば、テスト対象プログラムの実行開始時
には、テスト対象プログラム全体のシンボル情報は必要
なく、異常終了発生等でのデバッグを必要とする際に必
要とするモジュールのシンボル情報を逐次ファイルから
読出すため、メモリ及び速度性能なおとさずにテストが
実行できる。
一般にモジエールの入口点は先頭だけとは限らないが、
本実施例のテスト対象プログラムでは、モジエールの入
口点は1つという構造化プログラミングが適用されてい
るため本発明が適用できる。
〔発明の効果〕
本発明によれば、モジュールのトレース情報ラスタツク
し端末に表示することによって、テスト実行の際K、シ
ンボルデバッガに必要なシンボル情報を主記憶装置上に
もたずに、ファイルに持つことができる。このためテス
ト対象とするプログラムが大規模な場合にも、メモリ及
び速度性能をおとさずにテストが実行できる効果がある
【図面の簡単な説明】
第1図は、本発明の一実施例の構成図であり、第2図は
、ユーザのデバッグ手順及びそれに対応する対話形式デ
バッガのデバッグ処理のフローチャートである。 1はソースプログラム、2はコンパイラ、3はオブジェ
クトモジュールファイル、4はリンケージプログラム、
5はロードモジュールファイル、6はシンボル情報ファ
イル、7はプロセッサ、8は対話形式デバッガ、9は対
話形式デバッガ内のプログラム実行準備部、1oはプロ
グラム実行制御部、11はモジエール実行検出部、12
はデバッグ制御部、13はモジュール位置情報テーブル
、14はモジュールトレーステーブル、15はシンボル
情報たプル、16はロードモジュール、17は端末を表
す。 代理人弁理士 小 川 勝 男ど 第 1 図

Claims (1)

    【特許請求の範囲】
  1. コンパイラ、リンケージプログラム及び対話形式デバッ
    ガをそなえたデータ処理システムにおいて上記コンパイ
    ラはソースプログラムをコンパイルする際にオブジェク
    トモジュールを出力するとともにソースプログラムに記
    述されているテーブル及び変数のオブジェクトモジュー
    ル内の相対位置を示すシンボル情報をシンボル情報ファ
    イルに出力し、上記リンケージプログラムは、オブジェ
    クトモジュールからロードモジュールを生成する際にオ
    ブジェクトモジュール名称とロードモジュール内の相対
    位置を示す情報をロードモジュールファイルに出力し、
    上記デバッガは、オブジェクトモジュールの主記憶装置
    上の絶対アドレスをあらわすモジュール位置情報テーブ
    ルを作成し、かつ、上記モジュールの先頭にモジュール
    が実行されたことを知るためにSVC(スーパバイザコ
    ール)命令を埋めるプログラム実行準備部、テスト対象
    とするプログラムの実行を制御するプログラム実行制御
    部、上記プログラムが実行される時にSVC命令を検出
    し該当するモジュール名称をモジュールトレーステーブ
    ルにスタックするモジュール実行検出部、並びにテスト
    対象とするプログラムの実行過程で異常終了が発生した
    際に、上記プログラムの実行モジュールを端末上に表示
    し、ユーザが選択したモジュールのシンボル情報をシン
    ボル情報ファイルからシンボル情報テーブルへ読出し、
    テーブル及び変数の主記憶装置上の絶対アドレスを求め
    るデバッグ制御部をもつことを特徴とするプログラムデ
    バッグ方式。
JP62101916A 1987-04-27 1987-04-27 プログラムデバツグ方式 Pending JPS63268040A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62101916A JPS63268040A (ja) 1987-04-27 1987-04-27 プログラムデバツグ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62101916A JPS63268040A (ja) 1987-04-27 1987-04-27 プログラムデバツグ方式

Publications (1)

Publication Number Publication Date
JPS63268040A true JPS63268040A (ja) 1988-11-04

Family

ID=14313233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62101916A Pending JPS63268040A (ja) 1987-04-27 1987-04-27 プログラムデバツグ方式

Country Status (1)

Country Link
JP (1) JPS63268040A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03130840A (ja) * 1989-10-17 1991-06-04 Fujitsu Ltd オーバーレイモジュールのトレース制御方式
JPH05151030A (ja) * 1991-11-29 1993-06-18 Nec Corp 利用者プログラム異常終了時の情報表示方式

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5723154A (en) * 1980-07-17 1982-02-06 Mitsubishi Electric Corp Test debugging device for program
JPS59183441A (ja) * 1983-03-31 1984-10-18 Fujitsu Ltd 拡張言語のデバツグ処理方式
JPS6341948A (ja) * 1986-08-07 1988-02-23 Nec Corp シンボリツクデバグシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5723154A (en) * 1980-07-17 1982-02-06 Mitsubishi Electric Corp Test debugging device for program
JPS59183441A (ja) * 1983-03-31 1984-10-18 Fujitsu Ltd 拡張言語のデバツグ処理方式
JPS6341948A (ja) * 1986-08-07 1988-02-23 Nec Corp シンボリツクデバグシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03130840A (ja) * 1989-10-17 1991-06-04 Fujitsu Ltd オーバーレイモジュールのトレース制御方式
JPH05151030A (ja) * 1991-11-29 1993-06-18 Nec Corp 利用者プログラム異常終了時の情報表示方式

Similar Documents

Publication Publication Date Title
US5038348A (en) Apparatus for debugging a data flow program
JP2519009B2 (ja) マルチメディアコンピュ―タ診断システム
US7178135B2 (en) Scope-based breakpoint selection and operation
US5987248A (en) Debugging information display device
JPS63268040A (ja) プログラムデバツグ方式
CN111984537B (zh) 一种基于WebIDE的软件测试方法、存储介质、装置
US20030018957A1 (en) Debugger monitor with anticipatory highlights
JPH0554277A (ja) プラント監視装置
JP2004287869A (ja) プログラム実行監視装置および方法
US20050015677A1 (en) Method of executing a computer program
JPH03294934A (ja) 高級プログラム言語用デバッガ
JPH10232795A (ja) ソフトウェア部品組み合わせテスト方法
JPH06250889A (ja) データ処理システムにおける障害処理方式
JPH06222953A (ja) デバッガのブレイク方法
JPS6292033A (ja) プログラムデバツグ装置
JPH06242943A (ja) ソースコードレベルデバッグ装置
JPH07319730A (ja) テスト・デバッグ方法
JPH0269837A (ja) プログラムデバック支援装置
JPH0468446A (ja) デバッグ支援装置
JPS6341948A (ja) シンボリツクデバグシステム
JPH04217034A (ja) プログラムトレースの表示方式
JPH02115951A (ja) 高級言語プログラム保守デバッグ方式
JPH06250876A (ja) 対話型デバック支援システム
JPH05127945A (ja) プログラム実行状況解析方式
JP2000284989A (ja) デバッグ装置