JPH113221A - ディバグ方式 - Google Patents

ディバグ方式

Info

Publication number
JPH113221A
JPH113221A JP9172821A JP17282197A JPH113221A JP H113221 A JPH113221 A JP H113221A JP 9172821 A JP9172821 A JP 9172821A JP 17282197 A JP17282197 A JP 17282197A JP H113221 A JPH113221 A JP H113221A
Authority
JP
Japan
Prior art keywords
module
load module
correction
information
difference information
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
JP9172821A
Other languages
English (en)
Inventor
Yuji Tachihara
裕司 立原
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 JP9172821A priority Critical patent/JPH113221A/ja
Publication of JPH113221A publication Critical patent/JPH113221A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】ソースプログラムを修正したとき、インサーキ
ットエミュレータに転送するロードモジュールを、部分
モジュールと差分情報に減少させることで、転送時間を
短縮させるディバグ方式の提供。 【解決手段】ソースプログラムを修正したとき、言語処
理プログラム103は、修正されたソースプログラムに関
するモジュールについて生成した部分ロードモジュール
と、修正後の相互参照情報とエミュレーションメモリに
書き込まれているロードモジュールの一部を移動させる
ための情報とで構成された差分情報を持つ部分ロードモ
ジュールと差分情報104を生成し、これらのデータをデ
ィバッガを通じてインサーキットエミュレータに転送し
ディバグする手段を有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はプログラムディバグ
方式に関し、特にロードモジュールをホストコンピュー
タからインサーキットエミュレータに転送し、プログラ
ムの制御を行うディバグ方式に関する。
【0002】
【従来の技術】従来のディバグ方式について、ロードモ
ジュール配置を示す図4を参照して説明する。図4を参
照すると、修正前のモジュールA201、修正前のモジ
ュールB202、修正前のモジュールC203、修正前
のモジュールD204、未使用領域である空き領域a2
05のように配置されたプログラムに対して、修正前の
モジュールB202に対して修正を行ったとき、従来の
言語処理プログラムでは、修正前のモジュールB202
の変更により、修正後のモジュールB207のサイズが
変化してしまった場合、他の修正前のモジュールA20
1、修正前のモジュールC203、修正前のモジュール
D204が配置されているアドレスと重ならないよう
に、再配置を行う必要がある。
【0003】そこで、修正前のモジュールBを参照する
他のモジュールのデータを変更して、修正後のモジュー
ルA206、修正後のモジュールB207、修正後のモ
ジュールC208、修正後のモジュールD209のよう
に再配置してロードモジュールを生成する。すなわち、
空き領域a側に移動して修正後のモジュールD209及
びC208が再配置されている。
【0004】ディバッガは、生成されたロードモジュー
ルをインサーキットエミュレータ102に転送する。
【0005】ディバッガからデータを受け取ったエミュ
レーション制御部は、ファームウェアにより制御され、
修正後のモジュールA206、修正後のモジュールB2
07、修正後のモジュールC208、修正後のモジュー
ルD209をエミュレーションメモリに書き込むように
制御していた。
【0006】また、言語処理プログラムの実行時間を短
縮するため、修正されたソースプログラムに関するモジ
ュールのデータのみ生成し、もし、修正されたモジュー
ルのサイズが大きくなってしまった場合には、他のモジ
ュールを移動せずに、別の空き領域を探し、その空き領
域に再配置する手法が、例えば特開平1−205332
号公報に提案されている。
【0007】
【発明が解決しようとする課題】従来のディバグ方式で
は、図4に示したように、修正前のモジュールA20
1、修正前のモジュールB202、修正前のモジュール
C203、修正前のモジュールD204の修正を行った
とき、言語処理プログラムでは、常に全てのモジュール
に対して再配置を行い、ロードモジュールを生成する。
【0008】ディバッガは、そのロードモジュールをホ
ストコンピュータからインサーキットエミュレータに転
送を行っている。
【0009】すなわち、従来のディバグ方式において
は、わずかなプログラムの修正でも、全てのモジュール
に対して再配置され、生成されたロードモジュールが転
送されることになるため、多くの転送時間が必要とな
る、という問題点を有している。
【0010】また、上記特開平1−205332号公報
に提案される方式でも、最終的に生成されるロードモジ
ュールも全てのモジュールを含むため、ロードモジュー
ルのサイズは小さくならないので、同様の問題を有して
いる。
【0011】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、ソースプログラ
ムを修正したとき、インサーキットエミュレータに転送
するロードモジュールを、部分モジュールと差分情報に
減少させることにより、転送時間を短縮させるディバグ
方式を提供することにある。
【0012】
【課題を解決するための手段】前記目的を達成するため
本発明のディバグ方式は、プログラムをディバグするた
めに、ソースプログラムのロードモジュールを生成する
言語処理プログラムと、ロードモジュールをホストコン
ピュータからインサーキットエミュレータに転送するデ
ィバッガとを持つホストコンピュータと、ディバッガか
ら転送されたロードモジュールを格納するためのエミュ
レーションメモリと、ディバグの対象となるマイクロコ
ンピュータと、エミュレーションメモリ/マイクロコン
ピュータを制御するエミュレーション制御部と、それを
制御するソフトウェアであるファームウェアとを持つイ
ンサーキットエミュレータとで構成されるディバグ方式
において、ソースプログラムの一部修正を行ったとき、
修正されたソースプログラムに関するモジュールについ
て生成した部分ロードモジュールと、修正後の相互参照
情報とエミュレーションメモリに書き込まれているロー
ドモジュールの一部を移動させるための情報とで構成さ
れた差分情報を生成する機能を持つ言語処理プログラム
と、差分情報から、エミュレーションメモリに書き込ま
れている修正前のロードモジュールの一部を移動する機
能を持つファームウェアから構成されている。
【0013】
【発明の実施の形態】本発明の実施の形態について以下
に説明する。本発明は、その好ましい実施の形態におい
て、ソースプログラムを修正したとき、言語処理プログ
ラム(図1の103)は、修正されたソースプログラム
に関するモジュールについて生成した部分ロードモジュ
ールと、修正後の相互参照情報と、エミュレーションメ
モリに書き込まれているロードモジュールの一部を移動
させるための情報と、で構成された差分情報を持つ、部
分ロードモジュールと差分情報(図1の104)を生成
し、これらのデータをディバッガを通じてインサーキッ
トエミュレータに転送し、ディバグする手段を有する。
インサーキットエミュレータのファームウェア(図1の
106)は、エミュレーション制御部(図1の107)
を介して、受け取った差分情報から、エミュレーション
メモリに書き込まれている修正前のロードモジュールの
一部を移動する。
【0014】本発明の実施の形態においては、修正され
た一部のソースプログラムに関するモジュールと差分情
報のみを転送しているので、変更のないプログラムに関
して再転送の必要がない。そのため、転送時間を短縮す
る。
【0015】
【実施例】上記した本発明の実施の形態について更に詳
細に説明すべく、本発明の実施例を図面を参照して以下
に説明する。
【0016】[実施例1]図1は、本発明の一実施例の
システム構成を示す図である。図1を参照すると、本実
施例において、ホストコンピュータ101は、言語処理
プログラム103と、部分ロードモジュールと差分情報
104と、ディバッガ105と、を含む。また、インサ
ーキットエミュレータ102は、ファームウェア106
と、エミュレーション制御部107と、エミュレーショ
ンメモリ108と、マイクロコンピュータ109と、を
含んで構成されている。
【0017】ホストコンピュータ101中の言語処理プ
ログラム103では、修正後のソースファイルが入力さ
れると、修正されたソースファイルに関するモジュール
について再配置した部分ロードモジュールと、修正後の
相互参照情報と、エミュレーションメモリ108に書き
込まれているロードモジュールの一部を移動させるため
の情報と、により構成された差分情報を持つ、部分ロー
ドモジュールと、差分情報104と、を生成する。
【0018】生成された部分ロードモジュールと差分情
報104をディバッガ105に入力すると、ディバッガ
105は、インサーキットエミュレータ102に転送す
る。
【0019】インサーキットエミュレータ102におい
ては、転送された部分ロードモジュールと差分情報10
4から、ファームウェア106がエミュレーション制御
部107に対してエミュレーションメモリ108への書
込みを制御し、書込み後、マイクロコンピュータ109
を制御し、ディバッガ105と通信することでプログラ
ムのディバグを行う。
【0020】図2は、本実施例のロードモジュールの配
置の一例を示す図であり、修正したときのモジュールの
サイズが増加したときの例を示している。
【0021】修正前のモジュールA201、修正前のモ
ジュールB202、修正前のモジュールC203、修正
前のモジュールD204未使用領域である空き領域a2
05のように配置されたプログラムに対して、修正前の
モジュールB202を修正することによって、修正前の
モジュールB202のサイズが増加したとき、言語処理
プログラム103は、修正後の相互参照情報である差分
情報a305、差分情報b306、差分情報c307
と、エミュレーションメモリ108に書き込まれている
ロードモジュールの一部を移動させるための情報とを持
つ、部分ロードモジュール情報と差分情報104を生成
する。
【0022】ディバッガ105は、この部分ロードモジ
ュール情報と差分情報104を受け取ったとき、まず、
エミュレーションメモリ108に書き込まれているロー
ドモジュールの一部を移動させるための情報を、インサ
ーキットエミュレータ102に転送する。
【0023】この情報を受け取ったインサーキットエミ
ュレータ102のエミュレーション制御部107は、フ
ァームウェア106によって制御され、エミュレーショ
ンメモリ108ですでに書き込まれている修正前のモジ
ュールA201、修正前のモジュールB202、修正前
のモジュールC203、修正前のモジュールD204で
構成されたプログラムに対して、修正前のモジュールC
203、修正前のモジュールD204(0800番地か
ら1400番地まで)を、修正後のモジュールC30
3、修正後のモジュールD304(0900番地から1
500番地まで)に書込み内容を移動する。
【0024】移動する作業が完了すると、ディバッガ1
05は、次に部分ロードモジュールである修正後のモジ
ュールB302と、修正後の相互参照情報である差分情
報a305、差分情報b306、差分情報c307をイ
ンサーキットエミュレータ102に転送する。
【0025】これらの情報を受け取ったエミュレーショ
ン制御部107は、ファームウェア106に制御されエ
ミュレーションメモリ108に書込みを行う。
【0026】書込み完了後は、修正後のモジュールA3
01、修正後のモジュールB302、修正後のモジュー
ルC303、修正後のモジュールD304という配置に
なり、ディバッガ105からの転送が完了すると、エミ
ュレーションメモリ108とマイクロコンピュータ10
9を制御して、ディバグを行う。
【0027】[実施例2]前記第1の実施例では、差分
情報として修正後の相互参照情報とエミュレーションメ
モリ108に書き込まれているロードモジュールの一部
を移動させるための情報とが必要である。
【0028】本発明の第2の実施例では、必要な差分情
報が、修正後の相互参照情報のみとなる場合を、図面を
参照してより詳しく説明する。図3は、本実施例のロー
ドモジュールの配置の一例を示す図である。
【0029】修正前のモジュールA201、修正前のモ
ジュールB202、修正前のモジュールC203、修正
前のモジュールD204、未使用領域である空き領域a
205のように配置されたプログラムにおいて、修正前
のモジュールB202を修正を行い、修正前のモジュー
ルB202のサイズが減少したとき、言語処理プログラ
ム103は、差分ロードモジュールとして、修正後のモ
ジュールB402と、プログラム修正後の相互参照情報
のみからなる差分情報a407、差分情報b408、差
分情報c409とを持つ、部分ロードモジュール情報と
差分情報104を生成する。
【0030】生成された部分ロードモジュール情報と差
分情報104をディバッガ105に入力しインサーキッ
トエミュレータ102に転送を行う。
【0031】ディバッガ105からの情報を受け取った
エミュレーション制御部107は、ファームウェア10
6に制御され、エミュレーションメモリ108に書込み
を行う。
【0032】修正後のモジュールB402は、修正前の
モジュールB202と比較してサイズが減少しているた
め、修正前のモジュールA401、修正前のモジュール
C404、修正前のモジュールD405の配置を変更す
る必要がない。
【0033】また、減少して未書込みになったところ
は、空き領域b403になる。
【0034】書込みの完了後は、修正後のモジュールA
401、修正後のモジュールB402、空き領域b40
3、修正後のモジュールC404、修正後のモジュール
D405、空き領域a205のような配置になり、ディ
バッガ106からの転送が完了すると、エミュレーショ
ンメモリ108とマイクロコンピュータ109を制御し
て、ディバグを行う。
【0035】
【発明の効果】以上説明したように、本発明によれば、
プログラム開発中、わずかな修正に対してもプログラム
全体に関するロードモジュールを転送するのではなく、
修正が行われたところに関するデータである部分ロード
モジュールと差分情報のみを転送しているので、転送す
るデータのサイズは減少しており、ディバッガからイン
サーキットエミュレータに転送する時間を短縮する、と
いう効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施例のシステム構成を示す図であ
る。
【図2】本発明の一実施例のロードモジュールの配置情
報を示す図である。
【図3】本発明の第2の実施例のロードモジュールの配
置情報を示す図である。
【図4】従来例のロードモジュールの配置情報を示す図
である。
【符号の説明】
101 ホストコンピュータ 102 インサーキットエミュレータ 103 言語処理プログラム 104 部分ロードモジュールと差分情報 105 ディバッガ 106 ファームウェア 107 エミュレーション制御部 108 エミュレーションメモリ 109 マイクロコンピュータ 201 修正前のモジュールA 202 修正前のモジュールB 203 修正前のモジュールC 204 修正前のモジュールD 205 空き領域a 206 修正後のモジュールA 207 修正後のモジュールB 208 修正後のモジュールC 209 修正後のモジュールD 301 修正後のモジュールA 302 修正後のモジュールB 303 修正後のモジュールC 304 修正後のモジュールD 305 差分情報a 306 差分情報b 307 差分情報c 401 修正後のモジュールA 402 修正後のモジュールB 403 空き領域b 404 修正後のモジュールC 405 修正後のモジュールD 406 差分情報a 407 差分情報b 408 差分情報c

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】インサーキットエミュレータに接続するホ
    ストコンピュータが、ソースプログラムからロードモジ
    ュールを生成する手段及びディバグ手段を含み、 前記ロードモジュールを生成する手段が、プログラムが
    修正された際に、修正されたプログラムに関するロード
    モジュールについて生成した部分ロードモジュールと、
    修正後の相互参照情報と、必要に応じて、前記インサー
    キットエミュレータにおいてロードモジュールを格納す
    るためのエミュレーションメモリに書き込まれているロ
    ードモジュールの一部を移動させるための情報と、を含
    む差分情報を生成し、 前記ディバグ手段が該差分情報を前記インサーキットエ
    ミュレータに転送し、 前記インサーキットエミュレータが、前記ホストコンピ
    ュータより転送された差分情報から、前記エミュレーシ
    ョンメモリに書き込まれている修正前のロードモジュー
    ルの一部を移動する、ことを特徴とするディバグ方式。
  2. 【請求項2】プログラムをディバグするために、ソース
    プログラムのロードモジュールを生成する言語処理プロ
    グラムシステムと、 ロードモジュールをインサーキットエミュレータに転送
    するディバッガと、 を含むホストコンピュータと、 前記ディバッガから転送されたロードモジュールを格納
    するためのエミュレーションメモリと、 ディバグの対象となるマイクロコンピュータと、 前記エミュレーションメモリ及び前記マイクロコンピュ
    ータを制御するエミュレーション制御部と、 前記エミュレーション制御部を制御するソフトウェアで
    あるファームウェアと、を含むインサーキットエミュレ
    ータと、 を備えてなるディバグ方式において、 前記言語処理プログラムシステムは、ソースプログラム
    の一部修正を行ったとき、修正されたソースプログラム
    に関するモジュールについて、生成した部分ロードモジ
    ュールと、修正後の相互参照情報と、前記エミュレーシ
    ョンメモリに書き込まれているロードモジュールの一部
    を移動させるための情報と、を備えて構成される差分情
    報を生成する機能を備え、 前記ファームウェアは、前記差分情報から、エミュレー
    ションメモリに書き込まれている修正前のロードモジュ
    ールの一部を移動する機能を備える、 ことを特徴とするディバグ方式。
  3. 【請求項3】修正前のモジュールのサイズが修正により
    減少したとき、前記言語処理プログラムシステムは、差
    分ロードモジュールとして、修正後の前記モジュール
    と、プログラム修正後の相互参照情報からなる差分情報
    を生成して、インサーキットエミュレータに転送する、
    ことを特徴とする請求項2記載のディバグ方式。
JP9172821A 1997-06-13 1997-06-13 ディバグ方式 Pending JPH113221A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9172821A JPH113221A (ja) 1997-06-13 1997-06-13 ディバグ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9172821A JPH113221A (ja) 1997-06-13 1997-06-13 ディバグ方式

Publications (1)

Publication Number Publication Date
JPH113221A true JPH113221A (ja) 1999-01-06

Family

ID=15949001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9172821A Pending JPH113221A (ja) 1997-06-13 1997-06-13 ディバグ方式

Country Status (1)

Country Link
JP (1) JPH113221A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4981503U (ja) * 1972-10-31 1974-07-15
JP2003036187A (ja) * 2001-07-23 2003-02-07 Ricoh Co Ltd プログラムのデバッグ方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4981503U (ja) * 1972-10-31 1974-07-15
JPS5415442Y2 (ja) * 1972-10-31 1979-06-21
JP2003036187A (ja) * 2001-07-23 2003-02-07 Ricoh Co Ltd プログラムのデバッグ方法

Similar Documents

Publication Publication Date Title
US7685499B2 (en) XOR circuit, RAID device capable of recovering a plurality of failures and method thereof
JPH1083305A (ja) 自己整合スタック・ポインタを有するデータ処理システムおよびその方法
JPH113221A (ja) ディバグ方式
JP2005267445A (ja) デバッグシステム
JPS62249231A (ja) マイクロプログラム制御処理方式
CN113311931B (zh) 一种方便iap的双复位向量8位mcu架构及其方法
JP5935319B2 (ja) 回路エミュレーション装置、回路エミュレーション方法及び回路エミュレーションプログラム
JPH10312307A (ja) コンピュータシステムに適用するエミュレータ
JPH0317760A (ja) データ書込み確認方式
JPH096641A (ja) 情報処理装置
JP2001014185A (ja) コンパイルおよびデバッグ方法
JPS6214240A (ja) プログラム検査方式
JP2002132499A (ja) データ処理装置及び記録媒体
JPH1139186A (ja) デバッグ支援装置およびダウンロード方法
JP2000181810A (ja) 周辺制御処理装置
JPH05324128A (ja) コンピュータ初期化方式
JP2000353359A (ja) 記憶装置の初期化方法
JPS61288243A (ja) コンペアアンドスワツプ命令処理方式
JPS6349246B2 (ja)
JPH02113332A (ja) クロスソフトウェア開発・保守システム
JPS5969844A (ja) マイクロプログラムのロ−デイング方式
JPH0424734A (ja) プログラム移植支援装置
JP2000181699A (ja) プログラム処理制御方法及びディジタル信号処理装置
JPS6288040A (ja) マイクロプログラム制御装置
JPH01130226A (ja) 制御メモリ修正方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20011127