JPH1021113A - デバッグシステムのデバッグ方法 - Google Patents

デバッグシステムのデバッグ方法

Info

Publication number
JPH1021113A
JPH1021113A JP8173212A JP17321296A JPH1021113A JP H1021113 A JPH1021113 A JP H1021113A JP 8173212 A JP8173212 A JP 8173212A JP 17321296 A JP17321296 A JP 17321296A JP H1021113 A JPH1021113 A JP H1021113A
Authority
JP
Japan
Prior art keywords
debugging
machine
debug
target machine
result
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
JP8173212A
Other languages
English (en)
Inventor
Koichi Oi
浩一 大井
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP8173212A priority Critical patent/JPH1021113A/ja
Publication of JPH1021113A publication Critical patent/JPH1021113A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 ターゲットマシンとデバッグマシンの同期調
整のために生じるトラブルをなくす。 【解決手段】 ターゲットマシン102はデバッグの結
果をメモリ102Aに記憶しておき、デバッグの終了
後、デバッグマシン101からの指示に応じてメモリ1
02Aのデバッグの結果をデバッグマシン101に転送
する。転送されたデバッグの結果がデバッグマシン10
1に表示される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はターゲットマシン及
びデバッグマシンを用いてデバッグを行なう、デバッグ
システムのデバッグ方法に関するものである。
【0002】
【従来の技術】従来より、デバッグシステムとして、2
つのタイプが知られている。1つめは、デバッグされる
ソフトウェアの実行とデバッグ操作及びデバイス情報の
出力を1つのマシンで行なうタイプである。このタイプ
のデバッグシステムは簡単なものとなり、アプリケーシ
ョン開発時等によく用いられる。しかし、システムがク
ラッシュした場合は、デバッグを進めることができなく
なるばかりか、クラッシュによって画面表示が乱れ、そ
れまで表示してきたデバッグ情報までも参照することが
できなくなり、デバッグに非常に不都合になる場合があ
るので、システムクラッシュの危険性がある場合のデバ
ッグには向かないという欠点がある。
【0003】もう1つのタイプのデバッグシステムはデ
バッグされるソフトウェアを実行するマシン(ターゲッ
トマシンと呼ぶ)とデバッグ操作及びデバッグ情報の出
力を行なうマシン(デバッグマシンと呼ぶ)を異ならせ
るものである。このタイプのデバッグシステムでは、上
記のような欠点はないので、システムクラッシュの危険
性がある場合のデバッグ、つまりシステムカーネル部や
デバイスドライバ部に利用されている。
【0004】図3はこのタイプのデバッグシステムの構
成を示した図である。ターゲットマシン102ではデバ
ッグ対象ソフトウェアが実行されている。ここでデバッ
グ対象ソフトウェアとは、ターゲットマシン102の下
に記載したソースコードをコンパイル、リンクしたもの
である。このソフトウェアを実行すると、モジュールDb
gPrintを実行した時点で、そのモジュールの引数に指定
したデバッグ情報(最初のDbgPrintならば“ModuleA:re
turnTRUE”)がシリアル線を通じてデバッグマシン
101へと送られる。デバッグマシン101では、送ら
れてきたデバッグ情報を画面に表示する。これによっ
て、デバッグ対象ソフトウェアの実行経路や実行結果を
知ることができ、デバッグに役立つ。
【0005】
【発明が解決しようとする課題】しかしながら、上記従
来例の第2のタイプのデバッグシステムでは、以下のよ
うな不都合が存在する。すなわち、デバッグ情報出力モ
ジュールが出力するデバッグ情報、ターゲットマシンか
らデバッグマシンに送信しているため、その通信に時間
がかかってしまうことである。
【0006】例えば、デバッグシステムのマシンとして
パーソナルコンピュータを用いる場合、パーソナルコン
ピュータが標準でシリアルコネクタを備え、ケーブルも
安価に用意できることから、上記従来例のようにターゲ
ットマシンとデバッグマシンの接続にシリアル線を用い
ることが多い。シリアル線の通信速度としては、数kbps
〜100kbps程度がよく用いられる。
【0007】10バイトのデバッグ情報を100kbpsで
送るとすると、要する時間は800μsec であるが、こ
の時間はマイクロプロセッサにとっては非常に長い時間
である。動作周波数100MHz のプロセッサにとって
は、80000クロック分であるから、この間に相当多
くの処理を行なうことが可能であることが分かる。従っ
て、タイミングクリティカルなソフトウェアに対してデ
バッグを行なう場合、デバッグ情報の出力を行なう場合
と行なわない場合でソフトウェアの動作タイミングが異
なってきてしまい、デバッグに支障をきたすことがあり
得る。
【0008】例えばデバッグ情報の出力を行なわなかっ
た時に起きていたバグ現象が、デバッグ情報の出力を行
なった時には起きなくなり、追跡不可能になるというこ
とが有り得る。
【0009】また、第2のタイプのデバッグシステムを
用いることが多いデバイスドライバのデバッグにおい
て、デバイスであるハードウェアがデバッグマシンのマ
イクロプロセッサの動作タイミングとは無関係に、割込
みを発生させる状況で、デバッグ情報の出力を行なった
ために、マイクロプロセッサが割込みの処理を行なうの
が間に合わなくなり、本来の動作と異なる動作をしてし
まうということも有り得る。場合によっては、正確な動
作が全く期待できなくなることもある。
【0010】そこで、本発明は上述の点に鑑みて、2つ
のマシンの同期に関係なく、デバッグ処理を行なうこと
ができるデバッグシステムのデバッグ方法を提供するこ
とを目的とする。
【0011】
【課題を解決するための手段】このような目的を達成す
るために、請求項1の発明は、デバッグ対象のソフトウ
ェアをターゲットマシン上で動作させてデバッグを実行
し、そのデバッグの結果をデバッグマシンに転送し、表
示させることの可能なデバッグシステムのデバッグ方法
において、前記デバッグを実行しながらそのデバッグの
結果を前記デバッグマシンに転送する第1のモードと前
記デバッグを実行しながらそのデバッグの結果を前記タ
ーゲットマシンの内部の記憶装置に記憶する第2のモー
ドを予め定めておき、前記第1のモードおよび第2のモ
ードを択一的に指示し、当該指示されたモードが前記第
1のモードの場合は前記ターゲットマシンはデバッグを
実行しながらそのデバッグの結果を前記デバッグマシン
に転送し、当該指示されたモードが前記第2のモードの
場合はデバッグを実行しながらそのデバッグの結果を前
記ターゲットマシンの内部の記憶装置に記憶することを
特徴とする。
【0012】請求項2の発明は、請求項1に記載のデバ
ッグシステムのデバッグ方法において、前記ターゲット
マシンの記憶装置に記憶されたデバッグの結果をデバッ
グマシンに転送するように該ターゲットマシンに指示
し、該指示に応じて該ターゲットマシンは該記憶装置の
デバッグの結果を前記デバッグマシンに転送し、該デバ
ッグマシンは当該転送されたデバッグの結果を表示する
ことを特徴とする。
【0013】請求項3の発明は、請求項2に記載のデバ
ッグシステムのデバッグ方法において、前記指示を前記
デバッグマシンから入力し、前記ターゲットマシンに転
送することを特徴とする。
【0014】請求項4の発明は、請求項3に記載のデバ
ッグシステムのデバッグ方法において、前記デバッグの
中止の指示を前記デバッグマシンから入力し前記ターゲ
ットマシンに転送し、該ターゲットマシンは該指示に応
じてデバッグを中止することを特徴とする。
【0015】請求項5の発明は、請求項1に記載のデバ
ッグシステムのデバッグ方法において、前記記憶装置は
ICメモリであることを特徴とする。
【0016】請求項6の発明は、請求項5に記載のデバ
ッグシステムのデバッグ方法において、前記ターゲット
マシンがアイドル状態のとき、ICメモリのデバッグの
結果をハードディスク記憶装置に転送することを特徴と
する。
【0017】請求項7の発明は、請求項1に記載のデバ
ッグシステムのデバッグ方法において、前記記憶装置は
ハードディスクであることを特徴とする。
【0018】
【発明の実施の形態】以下、図面に基づいて、本発明の
実施例を詳細に説明する。図1は本発明のデバッグシス
テムにおける一実施例を示す図であり、同図において1
01はデバッグマシン、102はターゲットマシンであ
る。両者の間はケーブルで接続され、デバッグのための
コマンド情報、表示情報等の通信(転送)が行われる。
このケーブルは通常のデバッグ時に用いられるケーブル
でよく、シリアルケーブル、パラレルケーブル等の別を
問わない。
【0019】ここで、図3で示したデバッグ対象ソフト
ウェアをターゲットマシン102で実行し、そのデバッ
グをデバッグマシン101で行なう際の本デバッグシス
テムの動作について説明する。
【0020】まず最初に、デバッグマシン101のキー
ボード101Aからデバッグ情報のメモリ記録開始要求
コマンドを入力する。このコマンドはケーブル103を
通じてターゲットマシン102へ伝えられ(S11
0)、ターゲットマシン102のマイクロプロセッサ1
02Aはこれにより、メモリ書き込みオプション(フラ
グ)をオンにする。このフラグ情報はターゲットマシン
102上のメモリ102B内に設定される。
【0021】この状態で、ターゲットマシン102のマ
イクロプロセッサ102Aが図3で示したデバッグ情報
出力モジュールDbgPrintを実行したときの動作は図2の
フローチャートに示したものとなる。
【0022】すなわち、まずメモリ書き込みオプション
がオンされているかどうかをチェックし(S201)、
オンされている場合は、引数に指定したデバッグ情報を
メモリ102Bに書き込む(S111)。
【0023】デバッグ情報のメモリ書き込みにかかる時
間は、ケーブル上を流れる時間に比べると非常に短く、
ターゲットマシン102のマイクロプロセッサ102A
の動作に与える影響は非常に小さくなるので、デバッグ
の際、不都合を生じさせにくい。上記の手順でメモリ1
02Bに記録したデバッグ情報はデバッグマシン101
上で画面表示させることができる。
【0024】それにはデバッグマシン101のキーボー
ド101Aからデバッグ情報の出力要求コマンドを入力
する。このコマンドはターゲットマシン102へ伝えら
れ(S112)、ターゲットマシン102のマイクロプ
ロセッサ102AはS111でメモリ102Bに記録さ
れたデバッグ情報を読みだし、デバッグマシン101に
送る(S113)。
【0025】デバッグマシン101では受け取ったデバ
ッグ情報を画面に表示する。
【0026】以上のようにして、デバッグ情報をメモリ
に記録し、その表示を行なう。
【0027】デバッグ情報のメモリ記録を中止したい場
合は、デバッグマシン101のキーボード101Aから
デバッグ情報のメモリ記録中止要求コマンドを入力す
る。これによって、図1に示した手順と同様にして、こ
のコマンドがターゲットマシン102へと送られ、ター
ゲットマシン102のマイクロプロセッサはメモリ書き
込みオプションをオフにする。
【0028】この場合、ターゲットマシン102におい
てデバッグ情報出力モジュールを実行しながら、S20
1でNOに進み、デバッグ情報をデバッグマシン101
に送信する。送信されたデバッグ情報は直ちにデバッグ
マシン101上に画面に表示される。以上に示した手順
で、従来からのデバッグ情報出力手順も可能なものとな
る。
【0029】本実施例の他に次の例を実施できる。
【0030】1)メモリ書き込みオプションはデフォル
ト値を予め設定するとよい。このデフォルト値でオンで
もよいし、オフでもよい。
【0031】2)上述の実施例ではデバッグ情報のメモ
リ記録開始要求、デバッグ情報の出力要求、デバッグ情
報のメモリ記録中止要求、デバッグ情報の表示を全てデ
バッグマシン101で行なったが、これに限るものでは
なく、一部または全てをターゲットマシン102で行な
ってもよい。
【0032】3)デバッグ情報をRAM、EEPROM
のようなICメモリの記憶装置に書き込むのではなく、
ハードディスク等のディスク記憶装置あるいは光磁気デ
ィスク、フロッピーディスクなどの記録媒体に書き込む
ことも考えられる。この場合、メモリよりは書き込み時
間がかかり、デバッグに与える影響はより大きくなる
が、システムクラッシュ時のようにメモリに書かれたデ
バッグ情報が参照不可能になる場合でも、後でターゲッ
トマシン102を立ちあげなおせば、デバッグ情報を見
ることができるという利点がある。
【0033】4)上記の3)実施例において、デバッグ
情報出力モジュールの実行の度にディスクアクセスする
のでは時間がかかりすぎる場合は、最初の実施例で示し
たようにデバッグ情報出力モジュールの実行時には、デ
バッグ情報をメモリに記録し、後でターゲットマシン1
02のマイクロプロセッサがアイドル状態時等、処理に
余裕ができた時、あるいはその他のタイミングでメモリ
に記録したデバッグ情報をディスクに書き込むという方
法も考えられる。
【0034】
【発明の効果】請求項1の発明は、デバッグの結果を記
憶装置に記憶しておき、後でデバッグマシンにデバッグ
の結果を転送するので、デバッグマシンとターゲットマ
シンとはデバッグ処理の間同期を取り合う必要はない。
また、必要に応じてデバッグ処理とその表示を並行的に
行う従来の処理も選択することもできる。
【0035】請求項2、3、4の発明ではターゲットマ
シンに対してデバッグに関連する動作指示をデバッグマ
シン側、すなわち、デバッグの結果の表示を見るユーザ
側から与えられるので、デバッグマシンとターゲットマ
シンを近接させる必要はない。
【0036】請求項5の発明ではデバッグの結果をIC
メモリに記憶するのでデバッグ処理の速度遅延に大きな
影響を与えない。
【0037】請求項6の発明は、大容量のソフトウェア
のデバッグ処理が可能となる。
【0038】請求項7の発明では、デバッグ処理の速度
と、デバッグ対象のソフトウェアの要領のバランスをと
ることができる。
【0039】さらに、これらの本発明によれば、デバッ
クの結果、すなわちデバッグ情報をデバッグマシンに送
信せずに、メモリに記録し、後でその情報を参照できる
ようにしたことにより、デバッグ情報の出力に時間がか
からなくなるので、デバッグ対象ソフトウェアの実行に
与える影響が小さくなるとともに、デバッグに支障をき
たす可能性が低くなるという効果がある。しかも、上記
のことがデバッグ対象ソフトウェアのソースコードを書
き換えなくとも可能になるという効果もある。
【図面の簡単な説明】
【図1】本発明の第1実施例にかかるデバッグシステム
の構成および情報の流れを示す構成図である。
【図2】本発明の第1実施例にかかるデバッグ情報出力
モジュールのフローチャートである。
【図3】従来例のデバッグシステムの構成を示す構成図
である。
【符号の説明】
101 デバッグマシン 101A キーボード 102 ターゲットマシン 102A マイクロプロセッサ 102B (IC)メモリ

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 デバッグ対象のソフトウェアをターゲッ
    トマシン上で動作させてデバッグを実行し、そのデバッ
    グの結果をデバッグマシンに転送し、表示させることの
    可能なデバッグシステムのデバッグ方法において、 前記デバッグを実行しながらそのデバッグの結果を前記
    デバッグマシンに転送する第1のモードと前記デバッグ
    を実行しながらそのデバッグの結果を前記ターゲットマ
    シンの内部の記憶装置に記憶する第2のモードを予め定
    めておき、 前記第1のモードおよび第2のモードを択一的に指示
    し、 当該指示されたモードが前記第1のモードの場合は前記
    ターゲットマシンはデバッグを実行しながらそのデバッ
    グの結果を前記デバッグマシンに転送し、 当該指示されたモードが前記第2のモードの場合はデバ
    ッグを実行しながらそのデバッグの結果を前記ターゲッ
    トマシンの内部の記憶装置に記憶することを特徴とする
    デバッグシステムのデバッグ方法。
  2. 【請求項2】 請求項1に記載のデバッグシステムのデ
    バッグ方法において、前記ターゲットマシンの記憶装置
    に記憶されたデバッグの結果をデバッグマシンに転送す
    るように該ターゲットマシンに指示し、該指示に応じて
    該ターゲットマシンは該記憶装置のデバッグの結果を前
    記デバッグマシンに転送し、該デバッグマシンは当該転
    送されたデバッグの結果を表示することを特徴とするデ
    バッグシステムのデバッグ方法。
  3. 【請求項3】 請求項2に記載のデバッグシステムのデ
    バッグ方法において、前記指示を前記デバッグマシンか
    ら入力し、前記ターゲットマシンに転送することを特徴
    とするデバッグシステムのデバッグ方法。
  4. 【請求項4】 請求項3に記載のデバッグシステムのデ
    バッグ方法において、前記デバッグの中止の指示を前記
    デバッグマシンから入力し前記ターゲットマシンに転送
    し、該ターゲットマシンは該指示に応じてデバッグを中
    止することを特徴とするデバッグシステムのデバッグ方
    法。
  5. 【請求項5】 請求項1に記載のデバッグシステムのデ
    バッグ方法において、前記記憶装置はICメモリである
    ことを特徴とするデバッグシステムのデバッグ方法。
  6. 【請求項6】 請求項5に記載のデバッグシステムのデ
    バッグ方法において、前記ターゲットマシンがアイドル
    状態のとき、ICメモリのデバッグの結果をハードディ
    スク記憶装置に転送することを特徴とするデバッグシス
    テムのデバッグ方法。
  7. 【請求項7】 請求項1に記載のデバッグシステムのデ
    バッグ方法において、前記記憶装置はハードディスクで
    あることを特徴とするデバッグシステムのデバッグ方
    法。
JP8173212A 1996-07-03 1996-07-03 デバッグシステムのデバッグ方法 Pending JPH1021113A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8173212A JPH1021113A (ja) 1996-07-03 1996-07-03 デバッグシステムのデバッグ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8173212A JPH1021113A (ja) 1996-07-03 1996-07-03 デバッグシステムのデバッグ方法

Publications (1)

Publication Number Publication Date
JPH1021113A true JPH1021113A (ja) 1998-01-23

Family

ID=15956209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8173212A Pending JPH1021113A (ja) 1996-07-03 1996-07-03 デバッグシステムのデバッグ方法

Country Status (1)

Country Link
JP (1) JPH1021113A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005292932A (ja) * 2004-03-31 2005-10-20 Saxa Inc ログ情報の取得装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005292932A (ja) * 2004-03-31 2005-10-20 Saxa Inc ログ情報の取得装置

Similar Documents

Publication Publication Date Title
KR100350568B1 (ko) 디버그기능을수행하기위한데이타처리시스템및방법
JP4564110B2 (ja) 二重プロセッサ回路の動作をシミュレーションするためのコンピュータ実行方法及び信号プロセッサシミュレータ
US6311292B1 (en) Circuit, architecture and method for analyzing the operation of a digital processing system
JP2513417B2 (ja) 情報処理装置
US7222063B2 (en) Emulation apparatus and parts, emulation method, recording medium and program
US5963741A (en) Information processor which rewrites instructions in program to dynamically change program structure and method therefor
JP2007058813A (ja) 検証装置及び検証方法
JP3260083B2 (ja) デバッグシステム及びデバッグ方法
EP1058189B1 (en) Microcomputer with debugging system
JPH1021113A (ja) デバッグシステムのデバッグ方法
JPH10326205A (ja) システムコール発行方法
WO2006070939A1 (en) Program executed under control of operating system providing kernel mode and user mode
JPH0550016B2 (ja)
JP2520158B2 (ja) ディジタルシグナルプロセッサのデバッグ方式
JPH11282719A (ja) マイクロコンピュータ、電子機器及びデバッグシステム
JP3097602B2 (ja) データ処理装置
JP2023150108A (ja) インサーキットエミュレータ装置
JP3088407B2 (ja) インサーキットエミュレータおよびインサーキットエミュレーション方法
JPH06348543A (ja) 入出力シミュレータとの接続方法
KR100658485B1 (ko) 마이크로프로세서 개발시스템
JPH1083316A (ja) マルチcpuシステム
JPH07121396A (ja) エミュレータ
JPH09198277A (ja) エミュレータ装置
JPH08147184A (ja) エミュレータ
JPH071500B2 (ja) シングルチップマイクロコンピュータ