JPH03266140A - プログラムデバッグ方式 - Google Patents

プログラムデバッグ方式

Info

Publication number
JPH03266140A
JPH03266140A JP2066542A JP6654290A JPH03266140A JP H03266140 A JPH03266140 A JP H03266140A JP 2066542 A JP2066542 A JP 2066542A JP 6654290 A JP6654290 A JP 6654290A JP H03266140 A JPH03266140 A JP H03266140A
Authority
JP
Japan
Prior art keywords
address
loop
branch
information storage
post
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
JP2066542A
Other languages
English (en)
Inventor
Kenichi Murakami
健一 村上
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 JP2066542A priority Critical patent/JPH03266140A/ja
Publication of JPH03266140A publication Critical patent/JPH03266140A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は情報処理装置におけるプログラムデバッグ方式
に関し、特にプログラムの実行過程を確認する方式に関
する。
〔従来の技術〕
従来、この種のプログラムデバッグ方式では、プログラ
ムの要所要所にブレークポイント(−時中断点)を設定
しておき、ブレークポイントでの内部割込みの発生によ
り、プログラムの実行過程を確認するようになっていた
[発明が解決しようとする課題] 上述した、ブレークポイントを利用してプログラムの実
行過程を確認する方法は、プログラムの流れを予想しな
がら、ブレークポイントを逐次設定する必要があり、予
想が外れると、ブレークポイントで中断しないので、途
中の実行過程が分らなくなり、再度、最初からやり直す
必要があるため、デバッグ効率が低下するという欠点が
ある。
本発明の目的は、効率のよいプログラムデバッグ方式を
提供することである。
〔課題を解決するための手段〕
本発明のプログラムデバッグ方式は、 プログラムを構成する全モジュールのモジュール名と、
絶対アドレスで示される先頭アドレスおよび終了アドレ
スとを含むモジュール制御情報を保持するモジュール制
御情報記憶手段と、該モジュール制御情報記憶手段に保
持されているモジュール制御情報を参照して絶対アドレ
スをモジュール名とモジュール内相対アドレスとに変換
するアドレス変換手段と、 分岐命令割込みモード設定/解除手段と、分岐命令割込
みモードが設定されると、分岐命令の実行により、分岐
命令自身のアドレスである分岐前アドレスと分岐命令の
分岐先アドレスである分岐後アドレスを保持して、分岐
後アドレスで内部割込みを発生する分岐命令割込み手段
と、前記分岐前アドレスと前記分岐後アドレスとループ
回数とをループ判定情報として記憶するループ判定情報
記憶手段と、 前記ループ回数を積算するループ回数演算手段と、 前記ループ判定情報記憶手段内のループ判定情報を、分
岐アドレスはアドレス変換手段によってモジュール名と
モジュール内相対アドレスに変換した後、編集し、表示
装置に表示するトレースメツセージ表示手段と、 分岐命令割込みモードが設定されると、デバッグ対象プ
ログラムが起動される前に前記ループ判定情報記憶手段
の分岐前アドレス、分岐後アドレスおよびループ回数を
初期化し、その後、デバッグ対象プログラムが起動され
分岐命令割込み手段によって内部割込みが発生すると、
その時に通知された分岐前アドレスと分岐後アドレスを
、最初の割込みであれば、該分岐前アドレスと分岐後ア
ドレスをループ判定情報記憶手段に記憶し、最初の割込
みでなければ、該分岐前アドレスと分岐後アドレスをル
ープ判定情報記憶手段に記憶されている分岐前アドレス
、分岐後アドレスとそれぞれ比較してループ判定を行い
、ループのときはループ回数演算手段によりループ判定
情報記憶手段内のループ回数を+1し、非ループまたは
ループ離脱のときはトレースメツセージ表示手段により
前記ループ判定情報記憶手段内のループ判定情報を表示
装置に表示させ、分岐命令割込み手段から通知された分
岐前アドレスと分岐後アドレスを前記ループ判定情報記
憶手段に新たに記憶するとともに、ループ回数をゼロで
初期化するループ判定制御手段とを有する。
[作   用] デバッグ対象プログラムに含まれる分岐命令が実行され
ると内部割込みを発生し、その分岐前後のアドレスと、
直前の内部割込みにおける分岐前後のアドレスとを比較
してループ判定を行い、ループのときはその回数を積算
し、ループでなくなった都度、その直前の内部割込みに
おける分前前後のアドレスとそれまで積算されたループ
回数をトレースメツセージとして表示するのでプログラ
ムの実行過程を効率よく確認できる。なお、トレースメ
ツセージの表示はバグの発見および除去作業の便をはか
り、分岐前後のアドレスはモジュール名とモジュール内
相対アドレスに変換したものが表示される。
〔実 施 例1 次に、本発明の実施例について図面を参照して説明する
第1図は本発明のプログラムデバッグ方式が適用された
情報処理装置の構成図、第2図は第1図中の表示装置に
表示されるトレースメツセージを示す図である。
本実施例の情報処理装置は、入力装置1(キーボード)
と、入力情報解析部20、ループ判定制御部21、ルー
プ回数演算部22、アドレス変換部23、トレースメツ
セージ表示部24を含むプログラム実行軌跡表示装置2
と、分岐命令割込機構30を含む中央処理装置3と、主
記憶装置4と、ループ判定情報記憶部5と、モジュール
制御情報記憶部6と、表示装置7 (CRT)とから構
成されている。
主記憶装置4にはモジュール41.42.  ・・、4
nとから構成されるデバッグ対象プログラムが格納され
ている。各モジュール41.42゜・・・ 4nの先頭
アドレスはそれぞれSl。
S2.  ・・・、Sn番地であり、また終了アドレス
はそれぞれEl、E2.  ・・・、En番地である。
モジュール制御情報記憶手段であるモジュール制御情報
記憶部6には、モジュール41゜42、・・・、4nの
モジュール名(aaaaa、bbbbb、−・−nnn
nn)と、モジュール41,42.  ・・・、4nの
先頭アドレス(Sl、S2.  ・・・、Sn番地)と
、モジュール41,42.  ・・・、4nの終了アド
レス(El、E2.  ・・t、En番地)とがモジュ
ール制御情報として登録されている。アドレス変換手段
であるアドレス変換部23はモジュール制御情報記憶部
6に保持されているモジュール制御情報を参照して絶対
アドレスをモジュール名とモジュール内相対アドレスに
変換する。入力装置1には分岐命令割込みモード設定/
解除のキー(分岐命令割込みモード設定・解除手段)が
設けられている。入力情報解析部20は入力装置1から
の情報を分析し、分岐命令割込みモード設定情報が入力
されると、この旨をループ判定制御部21(ループ判定
制御手段)に通知する。分岐命令割込機構30(分岐命
令割込手段)は、ループ判定制御部21から、分岐命令
割込みモードが設定されたことを通知されると、起動さ
れ、分岐命令の実行により主記憶装置4内のモジュール
の、分岐命令自身のアドレスである分岐前アドレスと分
岐命令の分岐先アドレスである分岐後アドレスを保持し
てループ判定制御部21に分岐後アドレスで内部割込み
を発生する。ループ判定制御部21は、入力情報解析部
20から分岐命令割込み設定情報が入力されたことを通
知されると、分岐命令割込機構30を起動し、ループ判
定情報記憶部5内の分岐前アドレス5Bと分岐後アドレ
ス5Aとループ回数5Lとをゼロで初期化し、この後、
主記憶装置4内のデバッグ対象プログラムが起動され、
そのプログラム中の分岐命令の実行によ゛る割込みが発
生し、分岐命令割込機構30から分岐前アドレスと分岐
後アドレスとが通知されると、ループ判定情報記憶部5
内の分岐前アドレス5Bと分岐後アドレス5Aとの内容
と比較しく分岐前アドレス同士、分岐後アドレス同士で
比較する)ループ判定を行い、判定結果が、ループ(分
岐前アドレス同士および分岐後アドレス同士がそれぞれ
一致)のときには、ループ判定情報記憶部5内のループ
回数5Lの内容をループ回数演算部22によって加算し
、逆に、非ループまたはループ離脱(分岐前アドレス同
士あるいは分岐後アドレス同士のどちらか一方の組また
は両方の組が不一致)のときには、ループ判定情報記憶
部5内の分岐前アドレス5Bと分岐後アドレス5Aとル
ープ回数5Lとの内容を含む(この内分岐前アドレス5
Bと分岐後アドレス5Aの内容は、アドレス変換部23
によってモジュール名とモジュール内相対アドレスに変
換されたもの)トレースメツセージをトレースメツセー
ジ表示部24によって表示装置7に表示し、分岐命令割
込機構30から通知された分岐前アドレスと分岐後アド
レスとをそれぞれループ判定情報記憶部5内の分岐前ア
ドレス5Bと分岐後アドレス5Aとして新たに記憶する
とともにループ回数5Lをゼロで初期化する。
なお、ループ判定情報記憶部5の分岐前アドレス5Bと
分岐後アドレス5Aがともにゼロで初期化されている最
初の分岐命令割込み時には、分岐命令割込機構30から
通知された分岐前アドレスと分岐後アドレスをそれぞれ
分岐前アドレス5Bと分岐後アドレス5Aとして記憶す
るだけである。
以上の動作を行った後、同じくループ判定制御部21は
、分岐後アドレスからの実行再開を分岐命令割込機構3
0に指示し、次の分岐命令割込み待ちとなる。
トレースメツセージに表示される分岐前アドレスは、モ
ジュール名とモジュール内相対アドレスとに変換される
が、この変換を行うアドレス変換部23の処理について
、絶対アト121234番地を変換する場合を例に挙げ
て説明する。このとき、仮に、モジュール41の先頭ア
ドレスS1が1000番地で、モジュール42の先頭ア
ドレスS2が1500番地であるとする。モジュール制
御情報記憶部6内の先頭アドレスSL、S2゜Snと終
了アドレスE1.E2゜ 、Enとを参照して、絶対アト121234番地を含む
モジュール41のモジュール名aaaaaを得、モジュ
ール内相対アドレス234番地(=1234−Sl)を
演算する。そして、トレースメツセージには絶対アト1
21234番地されることになる。
〔発明の効果〕
以上説明したように本発明は、分岐命令割込みを利用す
るとともにループ判定を行って、プログラムの実行過程
をトレースメツセージとして表示し、さらにトレースメ
ツセージ中のアドレスはモジュール名とモジュール内相
対アドレスとに変換した形式で表示することにより、以
下に示す効果がある。
■ ブレークポイントが不要になり、したがって、ブレ
ークポイント設定の手操作がなくなるため、デバッグ効
率が向上する。
■ トレースメツセージは、以下のように表示回数が少
なくて済む。
O命令毎でなく分岐命令による分岐実行毎にトレースメ
ツセージが表示される。
○ループ判定手段によって、ループ箇所は一回の表示で
済む。
■ モジュール名とモジュール内相対アドレス表示によ
って、リンカによって出力されるアドレスマツプからモ
ジュールの先頭アドレスを捜した後、モジュール内相対
アドレスを人手によって計算する必要がなくなる(手間
がかからなくなり、計算ミスの心配もない)。
【図面の簡単な説明】
第1図は本発明のプログラムデバッグ方式が適用された
情報処理装置の一実施例を示すブロック図、第2図は第
1図中の表示装置7に表示されるトレースメツセージを
示す図である。 1・・・入力装置、 2・・・プログラム実行軌跡表示装置、3・・・中央処
理装置、4・・・主記憶装置、5・・・ループ判定情報
記憶部、 6・・・モジュール制御情報記憶部、 7・・・表示装置、 2o・・・入力情報解析部、 21・・−・ループ判定制御部、 22 ・ 23 ・ 24 ・ 30 ・ ループ回数演算部、 アドレス変換部、 ・トレースメツセージ表示部、 ・分岐命令割込機構。

Claims (1)

  1. 【特許請求の範囲】 1、プログラムを構成する全モジュールのモジュール名
    と、絶対アドレスで示される先頭アドレスおよび終了ア
    ドレスとを含むモジュール制御情報を保持するモジュー
    ル制御情報記憶手段と、該モジュール制御情報記憶手段
    に保持されているモジュール制御情報を参照して絶対ア
    ドレスをモジュール名とモジュール内相対アドレスとに
    変換するアドレス変換手段と、 分岐命令割込みモード設定/解除手段と、 分岐命令割込みモードが設定されると、分岐命令の実行
    により、分岐命令自身のアドレスである分岐前アドレス
    と分岐命令の分岐先アドレスである分岐後アドレスを保
    持して、分岐後アドレスで内部割込みを発生する分岐命
    令割込み手段と、前記分岐前アドレスと前記分岐後アド
    レスとループ回数とをループ判定情報として記憶するル
    ープ判定情報記憶手段と、 前記ループ回数を積算するループ回数演算手段と、 前記ループ判定情報記憶手段内のループ判定情報を、分
    岐前および分岐後アドレスはアドレス変換手段によって
    モジュール名とモジュール内相対アドレスに変換した後
    、編集し、表示装置に表示するトレースメッセージ表示
    手段と、 分岐命令割込みモードが設定されると、デバッグ対象プ
    ログラムが起動される前に前記ループ判定情報記憶手段
    の分岐前アドレス、分岐後アドレスおよびループ回数を
    初期化し、その後、デバッグ対象プログラムが起動され
    分岐命令割込み手段によって内部割込みが発生すると、
    その時に通知された分岐前アドレスと分岐後アドレスを
    、最初の割込みであれば、該分岐前アドレスと分岐後ア
    ドレスをループ判定情報記憶手段に記憶し、最初の割込
    みでなければ、該分岐前アドレスと分岐後アドレスをル
    ープ判定情報記憶手段に記憶されている分岐前アドレス
    、分岐後アドレスとそれぞれ比較してループ判定を行い
    、ループのときはループ回数演算手段によりループ判定
    情報記憶手段内のループ回数を+1し、非ループまたは
    ループ離脱のときはトレースメッセージ表示手段により
    前記ループ判定情報記憶手段内のループ判定情報を表示
    装置に表示させ、分岐命令割込み手段から通知された分
    岐前アドレスと分岐後アドレスを前記ループ判定情報記
    憶手段に新たに記憶するとともに、ループ回数をゼロで
    初期化するループ判定制御手段とを有するプログラムデ
    バッグ方式。
JP2066542A 1990-03-16 1990-03-16 プログラムデバッグ方式 Pending JPH03266140A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2066542A JPH03266140A (ja) 1990-03-16 1990-03-16 プログラムデバッグ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2066542A JPH03266140A (ja) 1990-03-16 1990-03-16 プログラムデバッグ方式

Publications (1)

Publication Number Publication Date
JPH03266140A true JPH03266140A (ja) 1991-11-27

Family

ID=13318895

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2066542A Pending JPH03266140A (ja) 1990-03-16 1990-03-16 プログラムデバッグ方式

Country Status (1)

Country Link
JP (1) JPH03266140A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152604A (ja) * 1993-11-26 1995-06-16 Nec Corp デバッグ装置およびデバッグ方法
JPH07200348A (ja) * 1993-11-23 1995-08-04 Rockwell Internatl Corp プログラムアドレスデータを圧縮する方法および装置ならびにプログラムのデバッギング処理を速める装置
US6633973B1 (en) 1999-12-24 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Trace control circuit adapted for high-speed microcomputer operation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200348A (ja) * 1993-11-23 1995-08-04 Rockwell Internatl Corp プログラムアドレスデータを圧縮する方法および装置ならびにプログラムのデバッギング処理を速める装置
JPH07152604A (ja) * 1993-11-26 1995-06-16 Nec Corp デバッグ装置およびデバッグ方法
US6633973B1 (en) 1999-12-24 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Trace control circuit adapted for high-speed microcomputer operation
US6996704B2 (en) 1999-12-24 2006-02-07 Renesas Technology Corp. Trace control circuit adapted for high-speed microcomputer operation

Similar Documents

Publication Publication Date Title
JPH03266140A (ja) プログラムデバッグ方式
JPH0581070A (ja) プログラマブルコントローラ、およびプログラマブルコントローラにおけるユーザプログラム実行方法
JPH03278241A (ja) プログラムデバッグ方式
JP2002073371A (ja) プログラムデバッグ方式
JPH07200350A (ja) ソフトウェアデバッガ
JP2800577B2 (ja) デバッグ装置
JPH02118733A (ja) タスクの実行制御方式
JPS61180344A (ja) 高級言語のステツプ実行システム
JPH06214828A (ja) 対話型デバッグ制御装置
JPS63104150A (ja) プログラムデバツグ方式
JPH08171499A (ja) デバッグ装置
JPS638946A (ja) プログラムデバツグサポ−ト方式
JPH07319730A (ja) テスト・デバッグ方法
JPH04367946A (ja) デバッグ情報出力方式
JPH01244547A (ja) プログラム開発デバッグ支援方式
JPH0283634A (ja) プログラムデバッグ方式
JPH0727477B2 (ja) 命令置換方式
JPH08286710A (ja) シーケンス制御モニタ
JPH04153741A (ja) 被デバッグプログラムのデバッグにおける逆方向実行方式
JPS61147335A (ja) ジヨブのパラメ−タ登録方式
JPH09190364A (ja) プログラムのデバッグ方法
JPH02151938A (ja) プログラムデバッグ方式
JPH0561716A (ja) プログラムデバツグ方式
JPH04333146A (ja) デバッグにおけるプログラムの実行制御方式
JPH05204710A (ja) イベントトレース装置