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

プログラムデバグ方式

Info

Publication number
JPS63231640A
JPS63231640A JP62066171A JP6617187A JPS63231640A JP S63231640 A JPS63231640 A JP S63231640A JP 62066171 A JP62066171 A JP 62066171A JP 6617187 A JP6617187 A JP 6617187A JP S63231640 A JPS63231640 A JP S63231640A
Authority
JP
Japan
Prior art keywords
address
branch instruction
instruction
program
interrupt
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
JP62066171A
Other languages
English (en)
Inventor
Tsunetaka Fujiwara
藤原 庸隆
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 JP62066171A priority Critical patent/JPS63231640A/ja
Publication of JPS63231640A publication Critical patent/JPS63231640A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、分岐命令トレース手段と、予め指定されたア
ドレスに制御が渡ると割り込みを発生させる命令アドレ
ス一致手段を具備する中央処理装置ム有するコンピュー
タシステムにおけるデバグ方式に間する。
(従来の技術) プログラムデパグ時、不正な分岐命令の実行によりプロ
グラムの実行シーケンスが乱れることは、度々経験する
ことである。この場合、プログラムの実行シーケンスを
乱す原因となった命令はとこにあるのか、その所在を明
らかにすることがデバグをする上で最も大切である。
従来、この種の問題を解決する方法として、ハードウェ
アが提供している分岐命令トレース機能がある0分岐命
令トレース機能は、どの命令がどんな順序で実行された
のかに関する情報を提供する。したがって、上述の問題
に遭遇した場合、この分岐命令トレース機能を使って不
正分岐命令の場所を見出していた。
〔発明が解決しようとする問題点〕
上述した従来の分岐命令トレース機能を使ってプログラ
ムデパグをする場合、被デバグプログラムにデバグ区間
なるものを定義する必要があり、デバガは、このデバグ
区間内に存在する分岐命令のみをトレースの対象とする
ことによりデバグの効率化を計っているが、プログラム
の実行シーケンスを乱す原因となった不正分岐命令の場
所が不明な場合、前述のデバグ区間を被デバグプログラ
ムのどこに設定すればよいかを判断するのが難しく、結
局、試行錯誤で適当なデバグ区間を見つけざるを得ず、
その結果、問題解決までに多大の工数およびマシン時間
を費やすという欠点がある。
〔問題点を解決するための手段〕
本発明のプログラムデパグ方式は、中央処理装置の分岐
命令トレース手段と命令アドレス一致手段とを活性化さ
せ、被デバグプログラム内の分岐命令が実行され、割り
込みが発生した時点で中央処理装置の状態と該分岐命令
自身のアドレスを主記憶装置の第1の作業エリアに退避
し、さらに被デバグプログラム内の予め指定されたアド
レスに制御が渡り、割り込みが発生した時点で中央処理
装置の状態と該アドレスを主記憶装置の第2の作業エリ
アに退避し、第1の作業エリアに退避されている分岐命
令アドレスを第2の作業エリアに退避されているアドレ
スと比較して所望の分岐命令を求める。
(作 用) したがって、実行シーケンスを乱した分岐命令はどれで
あるかを極めて容易に見出すことができプログラムデパ
グの効率化を計ることができる。
〔実施例〕
次に、本発明の実施例について図面を参照して説明する
第1図は本発明のブOグラムデバグ方式の一実施例の説
明図である。被デバグプログラムの中に分岐命令井1(
i=1〜n)があり、この中のいずれかの命令が実行さ
れると、被デパグプログラム内のアドレスA(こ制御が
渡るものとする。アドレスAに制御を渡す分岐命令はど
れかを決定するために、まず中央処理袋N(以後CPU
と称す)を分岐命令トレースモードおよび命令アドレス
一致モードにして分岐命令実行時またはアドレスAに制
御が渡ったとき割込みを発生するようにしておく、この
状態で被デバグプログラムを起動すると分岐命令$1(
i=1〜n)7a実行する毎に割込みが発生するので、
その時点のCPUの状態を作業エリアWK井1に退避す
る。この作業エリアWK$1には該分岐命令#i (i
=1〜n)自身のアドレスも含まれる。さらに、アドレ
スAに制御が渡ると再び割込みが発生するので、その時
点のCPUの状態を作業エリアWK#2に退避する。こ
の作業エリアWK$2にはアドレスA自身も含まれる0
作業エリアWに井2への退避が終ると、作業エリアWに
井1に格納されている分岐命令#iのアドレスと作業エ
リアWK井2tこ格納されているアドレスAとを比較し
て所望の分岐命令を求める。
第2図はこの制御順序を示すフローチャートである。ま
ず、CPUを分岐命令トレースモードおよび命令アドレ
ス一致モードにしくステップ10)被デパグブOグラム
内の分岐命令実行時および被デパグプログラム内の予め
指定されたアドレスに  。
制御が渡った時点で割込みが発生するようにしておく0
次に、被デパグプログラムを起動する(ステップ20)
、被デバグプログラムに制御が渡り、被デバグプログラ
ム内の分岐命令が実行されると割込みが発生し、割込み
発生時点でのCPUの状態を作業エリアWに井11こ退
避しくステップ30)、該分岐命令の分岐先に制御を渡
して(ステップ40)処理を継続させる。その後、ある
分岐命令が実行されて被デバグプログラム内の予め指定
されたアドレスに制御が移ると、CPUは命令アドレス
一致モードになっているため割込みが発生し、割込みが
発生した時点のCPUの状態をステップ30で使用した
作業エリアWに#1とは別の作業エリアWK井2に退避
する(ステップ50)。
次に、ステップ30で使用した作業エリアWに井1から
、アドレスAに制御が渡る直前に実行された分岐命令自
身のアドレスIC井1P8求める(ステップ60)、ス
テップ50で使用した作業エリアWK井2からアドレス
A(=IC井2)を求める(ステップ70)、ステップ
60で得られた分岐命令アドレスIC井1とステップ7
0で得られたアドレスA(=IC井2)とを比較する(
ステップ80)、比較の結果、それらが等しければステ
ップ30で使用した作業エリアWK井1とステップ50
で使用した作業エリアWK井2の内容をプリントアウト
し、目的とする分岐命令が得られたことを外部に通知す
る(ステ・シブ90)、もし、それらが等しくなければ
目的とする分岐命令を求めるため以降の処理を継続する
(ステ・シブ100 ) 。
〔発明の効果〕
以上説明したように本発明は、不正分岐命令の実行によ
りプログラムの実行シーケンスが乱れた場合、CPUを
分岐命令トレースモードおよび命令アドレス一致モード
にし、分岐命令実行時および予め指定されたアドレスに
制御が移ったときに発生する割込みを契機にその時点の
CPUの状態を退避し、退避された2つの命令アドレス
、すなわち分岐命令アドレスと予め指定されたアドレス
を比較することにより、実行シーケンスを乱した分岐命
令はどれであるかを極めて容易に見出すことができるた
めプログラムデパグの効率化を計ることができる効果が
ある。
【図面の簡単な説明】
第1図は本発明のプログラムデパグ方式の一実施例の説
明図、第2図は本実施例の処理を示すフローチャートで
ある。 特許出願人  8 i! jf’c a :E * n
・′)。

Claims (1)

  1. 【特許請求の範囲】 分岐命令トレース手段と、予め指定されたアドレスに制
    御が渡ると割込みを発生させる命令アドレス一致手段を
    具備する中央処理装置を有するコンピュータシステムに
    おいて、 該中央処理装置の分岐命令トレース手段と命令アドレス
    一致手段とを活性化させ、被デパグプログラム内の分岐
    命令が実行され、割り込みが発生した時点で中央処理装
    置の状態と該分岐命令自身のアドレスを主記憶装置の第
    1の作業エリアに退避し、さらに被デパグプログラム内
    の予め指定されたアドレスに制御が渡り割り込みが発生
    した時点で中央処理装置の状態と該アドレスを主記憶装
    置の第2の作業エリアに退避し、第1の作業エリアに退
    避されている分岐命令アドレスを第2の作業エリアに退
    避されているアドレスと比較して所望の分岐命令を求め
    るプログラムデパグ方式。
JP62066171A 1987-03-20 1987-03-20 プログラムデバグ方式 Pending JPS63231640A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62066171A JPS63231640A (ja) 1987-03-20 1987-03-20 プログラムデバグ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62066171A JPS63231640A (ja) 1987-03-20 1987-03-20 プログラムデバグ方式

Publications (1)

Publication Number Publication Date
JPS63231640A true JPS63231640A (ja) 1988-09-27

Family

ID=13308133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62066171A Pending JPS63231640A (ja) 1987-03-20 1987-03-20 プログラムデバグ方式

Country Status (1)

Country Link
JP (1) JPS63231640A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272647A (ja) * 1995-03-30 1996-10-18 Nec Corp ソフトウェア評価装置
US7996686B2 (en) 2008-07-07 2011-08-09 International Business Machines Corporation Branch trace methodology

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272647A (ja) * 1995-03-30 1996-10-18 Nec Corp ソフトウェア評価装置
US7996686B2 (en) 2008-07-07 2011-08-09 International Business Machines Corporation Branch trace methodology

Similar Documents

Publication Publication Date Title
JPS5886648A (ja) トレ−ス装置
JPS63231640A (ja) プログラムデバグ方式
JPH0581070A (ja) プログラマブルコントローラ、およびプログラマブルコントローラにおけるユーザプログラム実行方法
JPS63205740A (ja) プログラム実行トレ−ス処理方式
JP2738360B2 (ja) マルチタスクプログラムのデバッグ方法およびデバッグシステム
JPS6376053A (ja) マルチコンピユ−タ装置
JPS63178343A (ja) 中断点の設定方式
JPS59183443A (ja) デバツグ装置
JPH0461380B2 (ja)
JPH0377541B2 (ja)
JPS63153648A (ja) プログラムメンテナンス装置
JPH02284236A (ja) プログラムデバッグ処理装置
JPS61180344A (ja) 高級言語のステツプ実行システム
KR100231692B1 (ko) Chill 디버깅 정보 생성방법
JPS59202548A (ja) デバツグ装置
JPS58109947A (ja) シミユレ−ト装置
JPH0750445B2 (ja) プログラムのデバツグ方式
JPH02195450A (ja) データ処理装置
JPH0659931A (ja) デバッグ装置
JPS62217332A (ja) 電子計算機制御方式
JPH0772874B2 (ja) 割込み受取り装置
JPH02120940A (ja) デバッグ支援回路
JPH04367902A (ja) プログラマブルコントローラ
JPS61286936A (ja) ステップ動作制御方式
JPH02140839A (ja) プレークポイントの処理方式