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

プログラムデバッグ方式

Info

Publication number
JPH01211136A
JPH01211136A JP63037929A JP3792988A JPH01211136A JP H01211136 A JPH01211136 A JP H01211136A JP 63037929 A JP63037929 A JP 63037929A JP 3792988 A JP3792988 A JP 3792988A JP H01211136 A JPH01211136 A JP H01211136A
Authority
JP
Japan
Prior art keywords
address
message
program
target
register
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
JP63037929A
Other languages
English (en)
Inventor
Tadashi Matsuzaki
松崎 正
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP63037929A priority Critical patent/JPH01211136A/ja
Publication of JPH01211136A publication Critical patent/JPH01211136A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、情報処理装置におけるターゲットの動作プ
ログラムをデバッグするプログラムデバッグ方式に関す
るものである。
〔従来の技術〕
第1図は従来のプログラムモニターを示すブロック図で
あり、図において、1はデバッグが行われるシステムで
あるターゲット、11はターゲット1の中央処理装置(
以下、CPUという)、12は通信処理を司り、デバッ
グに関するメツセージを受信し、結果を送信する通信手
段(以下、CDという)、13は被デバツグプログラム
の他に、ターゲット1のレジスタアクセスなど様々なデ
バッグを規定するモニタープログラムが含まれている読
み取シ専用メモリ、(以下、几OMという)、14はR
OM13の中のプログラムが実行されるときに使用され
るランダムアクセスメモリ(以下、几AMという)、2
はCD12との間でメツセージの授受を行うホストマシ
ン、3はターゲット1のCPU11のアドレス信号と設
定されたアドレスを比較し、一致信号をCPU11の割
υ込み信号として出力するデバッグレジスタ(以下、D
几という)である。このD几3はCPU11の外部回路
として存在してもよいが、通常CP U i iに内蔵
されている。ここでは、説明のために外部回路とする。
次に動作について説明する。ホストマシン2からユーザ
が発行したデバッグのだめのコマンドは、予め決められ
たメツセージデータとしてCD12に送られる。CD1
2にて受信されたメツセージH1ROM13のモニター
プログラムによって解読され、要求された動作を行う。
例えば、CPU11のレジスタを読むような要求なら、
該当するレジスタをリードする。リード値はCD12に
介してホストマシン2に送られる。ホストマシン2では
、この値を表示する。また、被デバツグプログラムの実
行制御を行う場合、実行を開始するアドレスをCPU1
 lのインストラクションポインターに書き込み、これ
によって実行が開始される。
上記実行の中断は、中断させるアドレスを、DR。
3に書き込み、被デバツグプログラム゛が中断するアド
レスに到達したときに、DR3から発行される割り込み
信号によって、割り込み処理に移行し、ここで実行を中
断して、モニタープログラムに制御を戻す。以下に、こ
れを第3図のフロー図に従って説明する。例えば、ホス
トマシン2からの被デバツグプログラムの実行制御コマ
ンドが”G0F几OM ADD几l TIL  ADD
RZ”といった形式を取る場合に、これをホストマシン
2かう送信すると(ステップ5T1)、ターゲット1は
これを受信して解読しくステップST2 )、ADD几
1をインストラクションポインターに書かれる実行開始
アドレスとし、ADDRZをDR3に書き込まれる実行
中断アドレスとする(ステップ5T3)。
これらの書き込みが終わった後、被デバツグプログラム
をADE)几lからADDRZ−1で実行しくステップ
5T4)、ADDRZに実行が到達したなら、割シ込み
信号を発生し、割り込み処理によってモニタープログラ
ムに制f卸を戻す(ステップ5T5)。
ここで、割り込み処理に移行するのは、CPU11が認
識している割シ込みベクターという割や込みの処理先が
書かれているテーブルを参照することKよる。従って、
割り込み発生時は、該当する割シ込みの処理先をテーブ
ルから得た後、処理先に移行し、処理先に含まれている
内容を実行する。
次に、ターゲット1は次のメツセージ(コマンド)の受
信待ちをしくステップ8T5)、ホストマシン2が次の
メツセージを送信すると(ステップ5T7)、ターゲッ
ト1はこれを受信し解読を行い(ステップ8TJ3 )
、以後ステップST3以下と従来のプログラムモニター
におけるプログラムデバッグ方式は以上のように構成さ
れているので、DR3の使い方が固定され、Df(,3
に設定されているアドレスに到達した後は、必ずモニタ
ープログラムに戻ってしまい、つまシ、被デバツグプロ
グラムは、DR3に設定されたアドレスで実行中止され
てしまうほか、DR3が任意のアドレスを書き込むだけ
で、その書かれたアドレスで割シ込みを発生するため、
被デバツグプログラムの特定のアドレスを実行した直後
の、プログラムの断面(例えば、レジスタやメモリの値
)をリードしたり、デバッグのために追加したプログラ
ム(パッチプログラムなど)に移行したシするリアルタ
イムのデバッグができないなどの問題点があった。
この発明は上記のような問題点を解消するためになされ
たもので、被デバツグプログラムの任意の実行時点で割
シ込みを発生させ、割シ込みの処理は、ホストマシンか
らのコマンドによって予め設定されたデバッグ操作を行
い、割シ込み処理終了後は、被デバツグプログラムに戻
るというリアルタイムデバッグが可能なプログラムデバ
ッグ方式を得ることを目的とする。
〔課題を解決するだめの手段〕
この発明に係るプログラムデバッグ方式は、DRによっ
て生じた割シ込みの処理を複数存在させ、ホストマシン
からのメツセージの内容によって特定の割り込み処理に
移行できるように、割9込み処理の移行先アドレスをダ
イナミックに書き換えるようにしたものである。
〔作 用〕 この発明によるプログラムデバッグ方式は、DRにアド
レスを設定するホストマシンからのメツセージ(コマン
ド)が発行された後、リアルタイムにデバッグするため
のコマンドのうち1つが発行された状態で、従来の被デ
バツグプログラムの実行コマンドが発行されたなら、上
記メツセージが設定されたDRのアドレスによる割り込
み処理が実行されるように、割り込みベクターを書き込
んでおき、この処理の最後に上記実行コマンドのアドレ
スによる処理が実行されるように割シ込みベクターを書
き換えるように動作する。
〔実施例〕
以下、この発明の一実施例を図について説明する。第1
図において、1はターゲット、2r/iホストマシン、
3はDR,で、これらのハードウェアブロックは従来の
ものとまったく同じである。
次に動作について説明する。いま、DR3に設定された
アドレスADD几3を実行したときのCPU11のレジ
スタの値をリードして、几AM14に待避させておき、
その後、再び被デバツグプログラムに戻りアドレスAD
D几2にてモニタープログラムに戻9、その後、待避し
ていたレジスタの値をホストマシン2に送信して、その
表示を行うといったリアルタイムのデバッグを考える。
ホストマシン2におけるコマンドで、DR3にアドレス
を設定するものを、ここで”SET ADDR3゜とす
る。これによってターゲット1において、DR3にアド
レスADDR3が設定される。讐た、リアルタイムにデ
バッグするためのメッセージヲ例えば” REALTI
ME  几EG几D” −一「リアルタイムにレジスタ
を読む。」、”REALTIMEAf)D ” −−「
リアルタイムに追加のプログラムに移行する。」等とす
る。ここでは、メツセージ″REALTIME  RH
GRD”について説明する。
第2図はその一連の動作を示す70−図であり、以下、
これを参照して動作を説明する。はじめに、ホストマシ
ン2においてメツセージ”REALTIMEBEG几D
#が発行されると、りのメツセージがターゲット1に送
られる(ステップ5T11)。次に、ターゲット1にお
いてこれを受信解読しくステップ5T12)、DR3か
ら発生される割り込みに対応した割り込みベクターの値
を、予めELOM13に書き込まれている「リアルタイ
ムにレジスタヲ読む」といったメツセージ”REALT
IMER,EGRD″に対応した処理のアドレス(vg
c’roatとする)に書き換える(ステップ5T13
)。次に、ホストマシン2からメツセージ”SET A
DDR3’″を発行して、ターゲット1にそのメツセー
ジを送る(ステップ8T14)。これをROM13にて
受信解読して(ステップ5T15)、DR3にアドレス
ADDR3を設定する(ステップ8T16)。
この後、ホストマシン2から、”GOPR,OMADD
几I  TIL  ADD凡2”を発行し、このメツセ
ージが送られると(ステップ8T17)、これを受信解
読しくステップ5T18)、アドレスADDR2を几A
Mi4の特定の場所に保管した後(ステップ5T19)
、実行開始アドレスADDRIをCPU11のインスト
ラクションポインターに設定しくステップ5T20)、
被デバツグプログラムを実行する(ステップ5T21)
。被デバツグプログラムがアドレスADDR3に到達す
ると割υ込みが発生して、割り込み処理としてCP U
i 1のレジスタのリードを行い、結果をRAM14の
特定部(ここでは、キューと称す)にセーブする(ステ
ップ5T22)。更に、この後DEL3をアドレスAD
DR2に書き換え、かつ上記割り込みベクターの値を、
fLOMi3の中のモニタープログラムに戻すための処
理が書かれであるアドレス(VDCTO几2とする)に
書き換えて、割り込み処理を終了する(ステップ5T2
3)。割り込み処理終了後は、被デバツグプログラムを
ADI)几3から実行し、アドレスADD几2に到達す
ると割り込みが発生して、割り込み処理としてモニター
プログラムに戻すための処理を実行する(ステップ5T
24)。ここで、ホストマシン2からのメツセージが受
付可能になり(モニタープログラムが実行されているた
め)、ホストマシン2がらキューの内容を表示するメツ
セージを送信する(ステラ7’5T25)。また、発行
されたメツセージを受信解読しくステップ5T26)、
キューノ内容ヲホストマシン2に送信する(ステップ5
T27)。
ホストマシン2ではメツセージを受信し、キューの内容
を表示して、一連のデバッグ操作を終える(ステップ5
T28)。
また、上記アドレスADDR3において被デパッグプロ
グラムに処理を追加したいような場合、ステップ5T1
1において、メツセージ“凡EALT IMEADD 
”が発行されること、ステップ5T12において割り込
みベクターの値を追加する処理が書かれであるアドレス
に書き換えること、ステップ5T22において追加する
処理が実行されること、この後、続いてステップ8T2
3が行われること、ステップST25以降は不要なこと
をのぞいて、上記処理のフローに従う。
つ[1リアルタイムデバツグに関するメツセージ”)I
EALTIMg  f’lG几D”、1凡HALTIM
EADD”等によって割シ込みベクターの値を、ダイナ
ミックに換えるだけが違う。
〔発明の効果〕
以上のように、この発明によれば、ホストマシンから発
行されるメツセージによって割り込みベクターの値を書
き換え、割り込み処理終了後に、当該ベクターの値をモ
ニタープログラムに戻すための処理先に書き換えるため
、被デバツグプログラムの実行制御に関係なく、様々な
リアルタイムデバッグができるものが得られる効果があ
る。
【図面の簡単な説明】
第1図はこの発明の一実施例および従来例によるプログ
ラムデバッグ方式を示すブロック図、第2図はその動作
を示すフロー図、第3図μ従来のプログラムモニターの
動作を示すフロー図である。 1はターゲット、2はホストマシン、3はデバッグレジ
スタ(DR,)、 11はCPU0なお、図中、同一符
号は同一、または相補部分を示す。 特許出願人  三菱電機株式会社 1−フープ′:7ト 11:叩央ル狸装置(CplJ)

Claims (1)

    【特許請求の範囲】
  1. デバッグレジスタによりターゲット内の中央処理装置の
    実行アドレスを認識し、この実行アドレスが設定値と一
    致した場合に割り込み信号を発生し、上記ターゲットと
    の間でメッセージの授受を行うホストマシンからの当該
    メッセージの内容に従つて、割り込み処理の移行先アド
    レスをダイナミックに書き換えるようにしたプログラム
    デバッグ方式。
JP63037929A 1988-02-19 1988-02-19 プログラムデバッグ方式 Pending JPH01211136A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63037929A JPH01211136A (ja) 1988-02-19 1988-02-19 プログラムデバッグ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63037929A JPH01211136A (ja) 1988-02-19 1988-02-19 プログラムデバッグ方式

Publications (1)

Publication Number Publication Date
JPH01211136A true JPH01211136A (ja) 1989-08-24

Family

ID=12511246

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63037929A Pending JPH01211136A (ja) 1988-02-19 1988-02-19 プログラムデバッグ方式

Country Status (1)

Country Link
JP (1) JPH01211136A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132424A (ja) * 1998-06-19 2000-05-12 Lucent Technol Inc ソフトウェアインスツルメンテ―ション方法
KR100406953B1 (ko) * 2001-08-16 2003-11-28 엘지전자 주식회사 실시간 운영체제의 런타임 디버깅 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5027707A (ja) * 1973-07-13 1975-03-22
JPS61204748A (ja) * 1985-03-07 1986-09-10 Fuji Facom Corp プログラムトレ−ス方式
JPS61217840A (ja) * 1985-03-25 1986-09-27 Teijin Ltd 組込みマイクロコンピユ−タの開発装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5027707A (ja) * 1973-07-13 1975-03-22
JPS61204748A (ja) * 1985-03-07 1986-09-10 Fuji Facom Corp プログラムトレ−ス方式
JPS61217840A (ja) * 1985-03-25 1986-09-27 Teijin Ltd 組込みマイクロコンピユ−タの開発装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132424A (ja) * 1998-06-19 2000-05-12 Lucent Technol Inc ソフトウェアインスツルメンテ―ション方法
KR100406953B1 (ko) * 2001-08-16 2003-11-28 엘지전자 주식회사 실시간 운영체제의 런타임 디버깅 방법

Similar Documents

Publication Publication Date Title
JP2650675B2 (ja) マルチモードマイクロプロセッサにおいてプログラムを実行する方法及びオペレーティングシステム
JP2001265609A (ja) 演算処理装置
CN114116555A (zh) 直接存储器访问电路、操作方法及存取指令的产生方法
EP0290942B1 (en) Guest machine execution control system for virtual machine system
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
CN112711527A (zh) 一种实时进程的调试方法、装置、目标机和存储介质
JP3404322B2 (ja) 割込処理方法、os支援システム、情報処理装置、記録媒体
JPH01211136A (ja) プログラムデバッグ方式
KR100303307B1 (ko) 실시간 오퍼레이팅 시스템에서 디버깅동작을 위한 다운로드장치 및 방법
JP2005122350A (ja) 情報処理装置、プログラム中断方法、レジスタダンプ方法、レジスタ書換え方法、メモリダンプ方法、メモリ書換え方法、アドレストレース方法及びターゲット用プログラムのステップ実行方法
JPH06324861A (ja) Cpu制御システム及び制御方法
JPH07334215A (ja) プログラマブルコントローラのシーケンス制御方法
JP3024719B2 (ja) プログラマブルコントローラの演算処理方法
JP3785807B2 (ja) 制御装置
JPH0535499A (ja) データ処理装置及びデータ処理方法
JPH04332003A (ja) プログラマブルコントローラ
JP2914538B2 (ja) プログラマブルコントローラ
JP2006139440A (ja) エミュレータ装置およびその制御方法
JP2003223334A (ja) 割込処理方法、os支援システム、情報処理装置、記録媒体
JPH03268033A (ja) リモートデバッグ方式
JPH02125303A (ja) ブログラマブル・コントローラ
JPH03225551A (ja) 入出力装置アクセス制御方式
JPH04104305U (ja) プログラマブルコントローラおよびそのプログラミング装置
JPS63143603A (ja) プログラマブル・コントロ−ラ
JPH02207340A (ja) エミュレーションシステム及びエミュレータ