JP3206641B2 - マイコンシステムのデバッグ方法、デバッグ装置及びデバッグプログラムを記録した記録媒体 - Google Patents

マイコンシステムのデバッグ方法、デバッグ装置及びデバッグプログラムを記録した記録媒体

Info

Publication number
JP3206641B2
JP3206641B2 JP14624897A JP14624897A JP3206641B2 JP 3206641 B2 JP3206641 B2 JP 3206641B2 JP 14624897 A JP14624897 A JP 14624897A JP 14624897 A JP14624897 A JP 14624897A JP 3206641 B2 JP3206641 B2 JP 3206641B2
Authority
JP
Japan
Prior art keywords
state
unit
debug
storage
event
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.)
Expired - Fee Related
Application number
JP14624897A
Other languages
English (en)
Other versions
JPH10333937A (ja
Inventor
樹子 加藤
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 JP14624897A priority Critical patent/JP3206641B2/ja
Priority to EP98109935A priority patent/EP0883061A1/en
Priority to US09/089,408 priority patent/US6240529B1/en
Publication of JPH10333937A publication Critical patent/JPH10333937A/ja
Application granted granted Critical
Publication of JP3206641B2 publication Critical patent/JP3206641B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイコンシステム
のデバッグ方法及びデバッグ装置及びデバッグプログラ
ムを記録した記録媒体に関する。特にシステムの動作中
のある時点のデバッグ状態を保存しその状態を復元する
ことで、その時点からの再実行を行なうデバッグ方法及
びデバッグ装置及びそのためのデバッグプログラムを記
録した記録媒体に関する。
【0002】
【従来の技術】新規にシステムを開発する場合には、プ
ログラムが設計者の意図通りに正しく動作するかどうか
をデバッグ工程や検査工程で検証する必要がある。これ
らの工程では、プログラムをデバッグ装置に入力して動
作のシミュレーションやデバッグを行なうが、その場合
特に指定しないと、デバッグ装置はプログラムの冒頭か
らシミュレーションを開始する。
【0003】しかし、プログラムのデバッグ工程や検査
工程では、プログラムの設計者が、仕様通りに動作する
かどうか確認するために動作テスト手順を用意し、それ
に基づいてプログラムのデバッグや検査を行うことが多
い。こうして、プログラムのある時点までは正しく動作
するが、その次の動作で不正になるという箇所を見つけ
出し、プログラムを修正して、不正だった動作の確認か
らデバックや検査を再開する。
【0004】つまり、これらの工程では、ある特定の時
点までは正しく動作しているが、次の時点から意図に反
する動作をはじめるという状況を発見して修正し、再度
その動作が正しく動作することを確認して、次に不正な
動作をする箇所がないかどうか確認するという作業が繰
り返し発生する。
【0005】そこで、デバッグ作業を効率的に行なうた
めには、プログラムの冒頭からではなく、ある時点のデ
バッグ状態を復元してその時点からの再実行を行なう機
能が必要になる。
【0006】従来のデバッグ方法およびデバッグ装置で
は、ある時点のデバッグ状態を復元してその時点からの
再実行を可能にする機能として、バック実行機能と状態
保持機能の2つがある。バック実行機能は、命令実行時
に、実行前と実行後とで状態が変化したメモリやレジス
タ等の情報を専用のバッファに格納しておき、バック実
行時にはそのバッファの内容に従ってデバッグ状態を1
命令ずつ命令実行前の状態に戻していく機能である。状
態保持機能は、ある時点のデバッグ状態を状態保存ファ
イルに保存しておき、その時点のデバッグ状態を復元し
たい時には、その状態保存ファイルを読み込むことで復
元する機能である。
【0007】従来のデバッグ装置について、図面を用い
て詳しく説明する。図6は従来のデバッグ装置のシステ
ム構成を表す図である。
【0008】記録媒体501はシミュレーションデバッ
グプログラムを記録しており、このプログラム内容はデ
バッグ装置503に読み込まれ、デバッグ装置503の
構成部品であるシミュレーション部505、デバツガ部
506、状態保存/復元部507等の動作を制御する。
デバッグ装置503は、情報入出力装置502からのコ
マンド入力に従ってシミュレーションやデバッグ処理を
行なう。デバッグ開始時には、ダウンロードコマンドを
入力してデバッグ対象のプログラムのオブジェクトコー
ドファイル504をデバッグ装置503へダウンロード
する。
【0009】デバッグ装置503のシミュレーション部
505では、通常実行部508がダウンロードしたプロ
グラムを1命令ずつ実行する。実行前に予め、バック実
行用情報を取得するコマンドが発行されていれば、1命
令実行の度に、その命令によって変化したレジスタやメ
モリの値をバック実行部509の専用のバッファに格納
する。バック実行コマンド発行時には、バック実行部5
09でこの情報を使って1命令ずつ命令実行前の状態に
復元していく。
【0010】デバッグ装置503のデバッガ部506で
は、ブレークやトレース等のデバッグ機能に関する処理
を行なう。あるイベント発生時にプログラムの実行を中
断するブレークポイントや、あるイベント発生時にその
時点での命令実行状況やメモリアクセス状況等を記録す
るトレースは、それぞれ予め、コマンドで設定する。こ
れらのコマンドで設定されたイベントやイベント発生時
のブレーク、トレース等のアクションは、デバッガ部5
06のイベント処理部510やアクション処理部511
に登録され、命令実行時に次のように処理される。
【0011】イベント処理部510では、毎命令実行時
にイベント検出部512で、設定済みのイベント条件に
相当する状態が発生していないかをチエックし、イベン
トを検出するとイベント発生通知部513を通じてアク
ション処理部511に通知する。アクション処理部51
1では、通知されたイベントに起因するアクションが登
録済みのものの中にあるかどうかをチェックし、ブレー
ク処理部514やトレース処理部515等で相当する処
理を行なう。
【0012】デバッグ装置503の状態保存/復元部5
07では、状態保存部516がデバッグ状態保存コマン
ド発行時やデバッグ装置の定める所定のタイミングでデ
バッグ状態を状態保存ファイル518に保存する。この
所定のタイミングとは数命令実行後や数コマンド発行
後、またはシミュレーション/デバッグ終了時をさす。
状態復元部517では、状態復元コマンド発行時に任意
の状態保存ファイル518を基にデバッグ状態をそのフ
ァイルを保存した時の状態に戻す処理を行う。
【0013】従来のデバッグ方法について図面を用いて
詳しく説明する。図7、図8は従来のデバッグ方法の処
理フローを示す図である。
【0014】起動されたデバッグ装置はコマンド入力待
ちモードになり(601)、ユーザからのコマンド入力
を受けてそのコマンドに沿った動作を行なうことでシミ
ュレーションやデバッグを実現する。コマンドが入力さ
れると(602)、デバッグ装置はそのコマンドを解析
する。この時、このコマンドの処理によってデバッグ状
態が変化するものであれば、コマンドカウンタをインク
リメントしておく(603)。コマンド解析の結果、実
行コマンドであれば(604)、実行フラグをONにし
て(605)1命令実行する(606)。次に1命令実
行に付随して処理すべきデバッグ処理を行なう。まずバ
ック実行用情報取得フラグがONであったら(60
7)、今回の命令実行前後で変化したメモリやレジスタ
の情報等をバック実行用情報格納バッファに格納する
(608)。このバック実行用情報取得フラグのON/
OFF操作は後に述べるようにバック実行用情報取得選
択コマンドで行なう。次に、実行命令数をカウントする
カウンタをインクリメントし(609)、デバッグ装置
のシステムが定める命令数になったら(610)、現在
のデバッグ状態を状態保存ファイルに保存して(61
1)命令数カウンタを0にリセットする(612)。ま
た、命令実行によってユーザの登録したイベントに相当
する状態を満たしていないかどうかをチエックして(6
13)、イベントが検出されたら(614)、そのイベ
ントに関連して登録されたアクションの処理を行なう
(615)。
【0015】このアクションはトレース情報の取得やブ
レーク要求等であるが、ブレーク要求だった時には(6
16)実行フラグをOFFにして(618)実行処理を
終了する。イベントが検出されなかった場合や、イベン
トに関連付けられたブレーク以外のアクション処理が終
了した後には、実行終了事態が発生しているかどうかを
確認し(617)、実行終了事態発生時には、実行フラ
グをOFFにする(618)。その他の場合には、次の
命令の実行に移る(606)。実行終了が必要な事態と
しては、強制終了要求コマンド発行時や実行コマンドで
指定した実行終了アドレスに到達した場合等がある。ま
た、上記で述べたイベントやアクションの登録は、後述
のようにイベント設定コマンドやアクション設定コマン
ドで行なう。
【0016】デバッグ装置にバック実行用情報取得選択
コマンドが入力されると(619)、バック実行用情報
取得フラグを取得選択時にはON、取得しない場合には
OFFする(620)。バツク実行コマンドが入力され
ると(621)、バツク実行フラグをONして(62
2)、バツク実行用情報があれば(623)その情報を
もとに1命令ずつバック実行を行なう(624)。バツ
ク実行用情報がない場合にはバック実行フラグをOFF
する(626)。ユーザが指走したバック実行終了時点
に到達した場合(625)にもバツク実行フラグをOF
Fする(626)。
【0017】イベント設定コマンドやブレークやトレー
ス等のアクション設定コマンドが入力された場合には
(627)、設定したイベントやアクション情報をイベ
ント処理部やアクション処理部に登録する(628)。
状態保存コマンド入力時には(629)、現在のデバッ
グ情報をファイルに保存する(630)。状態復元コマ
ンド入力時には(631)、任意の状態保存ファイルを
選択し、そのファイル内容を読み込んでデバッグ状態を
復元する(632)。その他のコマンドについても、そ
のコマンドの処理を行なう(636)。
【0018】これらのコマンド処理終了後、603で計
測していたコマンドカウンタのカウント数がデバッグ装
置のシステムが定める命令数になったら(637)、現
在のデバッグ状態を状態保存ファイルに保存して(63
8)コマンドカウンタの値を0にリセツトしてコマンド
入力待ち状態に戻る(601)。デバッグ終了コマンド
が入力された場合には(633)、現在のデバッグ状態
を保存するかどうかの選択ができ(634)、必要に応
じて現在のデバッグ状態の状態保存ファイルへの保存を
行なって(635)デバッグ装置の処理を終了する。
【0019】上記で述べたように、従来のデバッグ装置
およびデバッグ方法では、ある時点のデバッグ状態を復
元してその時点からの再実行を可能にする機能として、
バック実行機能と状態保持機能の2つの機能がある。し
かし、バック実行機能では、命令実行ごとに、実行前後
で変化したメモリやレジスタ情報を専用のバッファに格
納しておく必要があり、容量の関係から限られた命令数
分しか復元できない。また変化情報格納処理分だけ命令
実行性能も低下する。また、従来の状態保持機能で保存
できるデバッグ状態は、状態保存コマンド発行時、数命
令実行後、数コマンド発行後、またはデバッグ終了時等
に限られているが、これは、実際には保存する必要のな
い箇所のデバッグ状態を保存したファイルが多数作成さ
れることにもなりかねない。
【0020】また、多数のファイルの中から意図するデ
バッグ状態の復元可能なファイルを検索するにも時間が
かかる。例えば、ある関数のあるアドレス実行前の時点
を復元するためには、そのアドレスにもっとも近い前の
アドレスでのデバッグ状態を復元できるファイルを選択
してデバッグ状態を復元し、さらにその時点から希望の
アドレスまで再実行するという作業が必要である。再実
行したいデバッグ状態が、あるメモリにある値を書き込
んだ時点という条件であったりすると、そのメモリにそ
の値を書き込んだ時点にもっとも近くかつ、その状態の
発生する前の状態を保存した状態保存ファイルを検索し
なければならないが、従来例では、その状態保存ファイ
ルを検索するのは困難である。
【0021】
【発明が解決しようとする課題】本発明は、上記従来技
術の問題点を解決するため、設定しておいたイベントを
命令実行時に検出することでデバック状態のファイル保
存を可能にし、任意の時点でデバック状態の保存がで
き、また、状態保存ファイルとそのファイル生成時の状
況を関連付けて管理することで、状態保存ファイルの検
索が容易になり、意図するデバック状態の復元が容易に
なるデバック方法及びその装置などを提供することを目
的とするものである。
【0022】
【課題を解決するための手段】本発明は、上記従来技術
の問題点に鑑み、記録媒体および情報入力装置と、通常
実行部、バック実行部を有するシミュレーション部と、
イベント処理部、アクション処理部を有するデバッガ部
と、状態保存部、状態復元部を有する状態保存/復元部
から成るデバッグ装置を用い、マイコンシステムのシミ
ュレーションやデバッグをプログラムに基づいて行なう
デバック方法において、設定済みのイベントが命令実行
時に状態保存イベント検出部で検出されると、状態保存
イベント発生通知部から状態保存部に通知されて状態保
存ファイルが作成され、この時、同時に保存状況管理部
で状態保存ファイル名と保存時の状況とが関連付けられ
て保存状況管理ファイルに保存され、またあるデバック
状態を復元したい場合には、この情報を参照すること
で、現在存在する状態保存ファイルの中から状態保存フ
ァイルが容易に決定できることを特徴とする。
【0023】また、本発明は、記録媒体および情報入力
装置と、通常実行部、バック実行部を有するシミュレー
ション部と、イベント処理部、アクション処理部を有す
るデバッガ部と、状態保存部、状態復元部を有する状態
保存/復元部から成り、マイコンシステムのシミュレー
ションやデバッグをプログラムに基づいて行なうデバッ
ク装置において、デバッガ部のイベント処理部は、設定
したイベントの発生を検出してそのイベント発生時点の
デバッグ状態を保存する手段を有し、状態保存/復元部
の状態保存部は、デバッグ状態保存時の状況を管理する
手段を有することを特徴とするものである。デバッグ状
態保存時の状況を管理する手段が、デバッグ状態保存フ
ァイル名を記録し、復元すべきデバッグ情報ファイルの
特定を容易にすることをも特徴とするものである。
【0024】本発明は、また、シミュレーションデバッ
グプログラムを記録した記録媒体として、設定済みのイ
ベントが命令実行時に状態保存イベントとして検出する
手順、状態保存イベントの検出時に状態保存ファイルを
作成する手順、状態保存ファイル名と保存時の状況とが
関連付けられて保存状況管理ファイルに保存する手順、
及びあるデバック状態を復元する場合に保存状況管理フ
ァイルを検索する手順を実行させるシミュレーションデ
バッグプログラムを記録したコンピュータ読み取り可能
である記録媒体にある。
【0025】
【発明の実施の形態】
実施例1 次に、添付図面を参照しながら、本発明の第1の実施例
について、具体的に説明する。
【0026】図1は、第1の実施例のデバッグ装置のシ
ステム構成図である。この実施例のデバッグ装置103
も、従来のものと同じく、記録媒体101で記録してい
るシミュレーションデバッグプログラムを読み込んで、
デバッグ装置103の構成部品であるシミュレーション
部105、デバツガ部106、状態保存/復元部107
等の動作を制御する。記録媒体101としては、磁気デ
ィスク、半導体メモリその他の記録媒体であってよい。
デバッグ装置103は、情報入出力装置102からのコ
マンド入力に従ってシミュレーションやデバッグ処理を
行なう。デバッグ開始時には、ダウンロードコマンドを
入力してデバッグ対象のプログラムのオブジェクトコー
ドファイル104をデバッグ装置へダウンロードする。
【0027】デバッグ装置103のシミュレーション部
105では、通常実行部108がダウンロードしたプロ
グラムを1命令ずつ実行する。実行前に予め、バック実
行用情報を取得するコマンドが発行されていれば、1命
令実行の度に、その命令によって変化したレジスタやメ
モリの値をバック実行部109の専用のバッファに格納
する。このバック実行部109では、命令実行の前後で
状態が変化したメモリやレジスタ等の情報を専用のバッ
ファに格納する。
【0028】バック実行コマンド発行時には、バック実
行部109はこの情報を使って1命令ずつ命令実行前の
状態に復元していく。
【0029】デバッグ装置103のデバッガ部106で
は、ブレークやトレース等のデバッグ機能に関する処理
を行なう。あるイベント発生時にプログラムの実行を中
断するブレークポイントや、あるイベント発生時にその
時点での命令実行状況やメモリアクセス状況等を記録す
るトレースは、それぞれ予め、コマンドで設定する。こ
れらのコマンドで設定されたイベントやイベント発生時
のブレークやトレース等のアクションは、デバツガ部1
06のイベント処理部110やアクション処理部111
に登録され、命令実行時に次のように処理される。
【0030】イベント処理部110では、毎命令実行時
にイベント検出部112で、設定済みのイベント条件に
相当する状態が発生していないかをチエックし、イベン
トを検出するとイベント発生通知部113を通じてアク
ション処理部111に通知する。アクション処理部11
1では、通知されたイベントに起因するアクションが登
録済みのものの中にあるかどうかをチェックし、ブレー
ク処理部114やトレース処理部115等で相当する処
理を行なう。
【0031】ここまでの処理は従来のデバッグ装置と同
様である。
【0032】本実施例のデバッグ装置では、イベント処
理部110に、従来の機能に加えて、あるイベントが発
生したらデバッグ状態のファイルへの保存を行なう機能
を追加する。これに伴い、イベント検出部112に状態
保存イベント検出部119を、またイベント発生通知部
113に状態保存イベント発生通知部120を追加す
る。予め、イベントが発生したらデバッグ状態の保存処
理を行なうイベントをイベント処理部110に登録して
おくと、状態保存イベント検出部119で毎命令実行時
に、登録したイベント条件に相当する状態が発生してい
ないかをチェックし、イベントを検出すると状態保存イ
ベント発生通知部120を通じて状態保存/復元部10
7の状態保存部116に通知する。イベント発生の通知
を受けると、状態保存部116では現在のデバッグ状態
を状態保存ファイル118に保存する。
【0033】本実施例のデバッグ装置では、さらにデバ
ッグ状態の保存時の状況を管理する機能を追加する。こ
れに伴い、状態保存部116に保存状況管理部121を
追加する。
【0034】この保存状況管理部121では、状態保存
ファイル118の作成時に、図2に示すような、ファイ
ル名とそのファイルへデバッグ状態を保存する起因とな
ったイベント条件、保存時刻、デバッグ対象プログラム
名と現在実行等を関連付けて保存状況管理ファイル12
2に保存する。状態復元コマンド発行時には、この保存
状況管理ファイル122をもとに、保存状況管理部12
1で現在存在する状態保存ファイル118の一覧を表示
する。図2はこの一覧の一例である。この情報から復元
したいファイルを選択すると状態復元部117でそのフ
ァイルを読み込んでデバッグ状態を復元する。
【0035】状態保存部116では、従来のデバッグ装
置の機能であった、数命令実行後や数コマンド発行後の
デバッグ状態の自動的な保存は行なわない。しかし、状
態保存コマンド発行時やシミュレーション/デバッグ終
了時にデバッグ状態を保存する機能は継承する。これ
は、ユーザの必要と判断する箇所以外でのデバッグ状態
の保存を行なわないことを意図しており、デバッグ装置
の処理性能向上にもつながる。
【0036】第1の実施例のデバッグ方法について、図
3、図4を用いて詳しく説明する。図3、図4は、第1
の実施例のデバッグ方法の処理フローを示す図である。
【0037】起動されたデバッグ装置はコマンド入力待
ちモードになり(301)、ユーザからのコマンド入力
を受けてそのコマンドに沿った動作を行なうことでシミ
ュレーションやデバッグを実現する。コマンドが入力さ
れると(302)、デバッグ装置はそのコマンドを解析
する(303)。この時、従来例では自動的な状態保存
用にコマンドカウンタのインクリメントを行なっていた
が、本実施例ではこの機能を削除する。コマンド解析の
結果、実行コマンドであれば(304)、実行フラグを
ONにして(305)1命令実行する(306)。
【0038】次に1命令実行に付随して処理すべきデバ
ッグ処理を行なう。まず、バック実行用情報取得フラグ
がONであったら(307)、今回の命令実行前後で変
化したメモリやレジスタの情報等をバック実行用情報格
納バッファに格納する(308)。このバック実行用情
報取得フラグのON/OFF操作は、後に述べるように
バック実行用情報取得選択コマンドで行なう。従来例で
はここで自動的な状態保持用に実行命令数カウンタのイ
ンクリメントを行ない、システムが定める命令数になっ
たらデバッグ状態の保存を行ない命令数カウンタをリセ
ットする処理を行なっていたが、本実施例ではこの機能
を削除する。次に、命令実行によってユーザの登録した
イベントに相当する状態を満たしていないかどうかをチ
エツクして(309)、イベントが検出されたら(31
0)、そのイベントに関違して登録されたアクションの
処理を行なう(311)。
【0039】ところで、本実施例では、従来の機能に加
えて、あるイベントが発生したらデバッグ状態のファイ
ルへの保存を行なう機能を追加している。そこで、予
め、イベント発生時にデバッグ状態の保存処理を行なう
イベントを登録しておいたとする。その場合には、その
イベントが検出されたら状態保存要求が発生し(31
2)、状態保存ファイル118へ現在のデバッグ状態を
保存する。本実施例では、さらに、デバッグ状態保存時
の状況を管理する機能も追加しているので、ここで、保
存状況管理ファイル122への登録も同時に行なう(3
13)、イベント検出によってブレーク要求が発生した
場合には(314)、実行フラグをOFFにして(31
6)実行処理を終了する。イベントが検出されなかった
場合や、イベントに関連付けられたブレーク以外の処理
が終了した後には、実行終了事態が発生しているかどう
かを確認し(315)、実行終了事態発生時には、実行
フラグをOFFにする(316)。その他の場合には、
次の命令の実行に移る(306)。
【0040】デバッグ装置にバック実行用情報取得選択
コマンドが入力されると(317)、バック実行用情報
取得フラグを取得選択時にはON、取得しない場合には
OFFする(318)。バツク実行コマンドが入力され
ると(319)、バツク実行フラグをONして(32
0)、バツク実行用情報があれば(321)その情報を
基に1命令ずつバック実行を行なう(322)。バツク
実行用情報がない場合にはバック実行フラグをOFFす
る(324)。ユーザが指定したバック実行終了時点に
到達した場合(323)にもバツク実行フラグをOFF
する(324)。イベント設定コマンドやブレークやト
レース等のアクション設定コマンドが入力された場合に
は(325)、設定したイベントやアクション情報をイ
ベント処理部110やアクション処理部111に登録す
る(326)。
【0041】本実施例で追加した、あるイベント発生時
にデバッグ状態を保存するコマンドが入力された場合に
は(327)、イベント処理部110にその旨を登録す
る(328)。状態保存コマンド入力時には(32
9)、現在のデバッグ情報をファイルに保存して同時に
保存状況管理ファイル122への登録も行なう(33
0)。状態復元コマンド入力時には(331)、この実
施例で追加した機能であるデバッグ状態の保存状況管理
機能の生成する保存状況管理ファイルをもとにした保存
ファイル一覧から復元したいファイルを選択して(33
2)、そのファイルを読み込んでデバッグ状態を復元す
る(333)。その他のコマンドについても、そのコマ
ンドの処理を行なう(337)。
【0042】従来のデバッグ方法では、これらのコマン
ド処理終了後、コマンドカウンタ数がデバッグ装置のシ
ステムが定める命令数になったら現在のデバッグ状態を
保存していたが、この実施例のデバッグ方法では、その
処理は行なわずにコマンド入力待ち状態に戻る(30
1)。デバッグ終了コマンドが入力された場合には(3
34)、現在のデバッグ状態を保存するかどうかの選択
ができ(335)、必要に応じて現在のデバッグ状態の
状態保存ファイルへの保存と同時に保存状況管理ファイ
ルへの登録も行なった後(336)、デバッグ装置の処
理を終了する。
【0043】実施例2 第1の実施例では、追加した2つの機能である、イベン
トが発生したらデバッグ状態のファイルへの保存を行な
う機能と、デバッグ状態保存時の状況を管理する機能を
使ってデバッグ状態の保存と復元を効率的に行なう例を
説明した。第2の実施例では、他のデバッグ機能と組み
合わせることで復元したいデバッグ状態のより的確な検
索を可能にする例を説明する。
【0044】本実施例では、デバッグ状態をイベント検
出のタイミングで保存できるが、同じイベント検出時に
トレース情報の取得も行なうような設定が可能である。
このようにして、デバッグ状態保存のタイミングと同時
にトレース情報も取得するような設定を行なった場合、
第2の実施例では、保存状況管理部に、トレース情報へ
デバッグ状態保存タイミングを記録する機能を追加す
る。
【0045】具体的には、図3の313の状態保存ファ
イルへのデバッグ状態保存と保存状況管理ファイルへの
登録時に、トレース情報格納用のバッファにも状態保存
ファイル名等の情報を格納する。デバッグ状態保存のタ
イミングは状態保存コマンド発行時やデバッグ終了コマ
ンド発行時にもあるが(330、336)、この時に
も、トレース取得可能な状態であれば、同様にトレース
バッファへの登録を行なう。このようにしてデバッグ状
態保存ファイル名を格納したトレース情報の例を図5に
示す。
【0046】図5は、第2の実施例の保存状況管理部に
よって、状態保存ファイル名をトレース情報中に埋め込
んだ例を示す図である。この例では、2つの状態保存情
報ファイル名がトレース情報に埋め込まれている。
【0047】ここでトレース情報の見方について説明し
ておく。401のトレースフレーム項はトレースフレー
ムの番号を示す。番号の古いものほど、過去に取得した
トレース情報であることを示す。402の時間情報は、
1つ前のトレース内容の実行開始から現在のトレース内
容の実行開始までの所用時間をクロック単位で表示す
る。403は、プログラムの命令フェッチ結果のトレー
スである。M1は命令の1バイト目のフェッチを表す。
OPはその他のバイトのフェッチを表す。404はプロ
グラム実行時のデータのアクセス結果を示す。RPはプ
ログラムによるデータリードを、WPはプログラムによ
るデータライトを表す。405は、分岐先アドレスを示
す項である。406は、命令の逆アセンブル表示であ
る。これにより、トレース情報がどの命令に対応したも
のかがわかる。
【0048】以上が従来のトレース情報であるが、第2
の実施例では、デバッグ状態保存のタイミングで407
にデバッグ状態保存ファイル名を記録する。これによ
り、第1の実施例では図2の状態保存ファイル一覧の参
照のみであった状態保存ファイルの検索手段が、第2の
実施例では、トレース情報を参照した検索手段も追加さ
れることになり、状態保存ファイル名とファイル作成時
の実行命令種別やメモリの状態等を確認することによっ
て、復元すべきデバッグ情報ファイルの特定が容易にな
る。
【0049】
【発明の効果】以上説明したように、本発明のデバッグ
装置およびデバッグ方法では、設定しておいたイベント
を命令実行時に検出してデバッグ状態をファイルへ保存
する手段を有することで、従来、命令実行中のデバッグ
状態の保存タイミングが数命令実行後や数コマンド発行
後等、デバッグ装置のシステム所定のタイミングに限ら
れていたものを任意の時点で指定できるようにした。こ
れにより、実際には状態保存する必要のない箇所のデバ
ッグ状態を保存したファイルが多数作成されることが回
避され、また、従来の機能では復元が困難であった、あ
るメモリにある値を書き込んだ時点でのデバッグ状態の
復元処理等が可能になるという効果がある。
【0050】また、デバッグ状態保存時の状況を管理す
る手段を有することで、意図するデバッグ状態を復元で
きる状態保存ファイルが一覧表やトレース情報等を参照
して検索でき、デバッグ状態の復元処理が容易になると
いう効果がある。
【図面の簡単な説明】
【図1】第1の実施例のデバッグ装置のシステム構成を
表す図
【図2】第1の実施例の保存状況管理部の表示する状態
保存ファイル一覧の図
【図3】第1の実施例のデバッグ方法の処理フローを示
す図
【図4】第1の実施例のデバッグ方法の処理フローを示
す図
【図5】第2の実施例の保存状況管理部によって、状態
保存ファイル名をトレース情報中に埋め込んだ例を示す
【図6】従来のデバッグ装置のシステム構成を表す図
【図7】従来のデバッグ方法の処理フローを示す図
【図8】従来のデバッグ方法の処理フローを示す図
【符号の説明】
101 記憶媒体 102 情報入出力装置 103 デバッグ装置 104 オブジェクトコードファイル 105 シミュレーション部 106 デバツガ部 107 情報保存/復元部 108 通常実行部 109 バック実行部 110 イベント処理部 111 アクション処理部 112 イベント検出部 113 イベント発生通知部 114 ブレーク処理部 115 トレース処理部 116 状態保存部 117 状態復元部 118 状態保存ファイル 119 状態保存イベント検出部 120 状態保存イベント発生通知部 121 保存状況管理部 122 保存状況管理ファイル 501 記憶媒体 502 情報入出力装置 503 デバッグ装置 504 オブジェクトコードファイル 505 シミュレーション部 506 デバツガ部 507 状態保存/復元部 508 通常実行部 509 バック実行部 510 イベント処理部 511 アクション処理部 512 イベント検出部 513 イベント発生通知部 514 ブレーク処理部 515 トレース処理部 516 状態保存部 517 状態復元部 518 状態保存ファイル

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 記録媒体および情報入力装置と、通常実
    行部、バック実行部を有するシミュレーション部と、イ
    ベント処理部、アクション処理部を有するデバッガ部
    と、状態保存部、状態復元部を有する状態保存/復元部
    から成るデバッグ装置を用い、マイコンシステムのシミ
    ュレーションやデバッグをプログラムに基づいて行なう
    デバック方法において、 設定済みのイベントが命令実行時に状態保存イベント検
    出部で検出されると、状態保存イベント発生通知部から
    状態保存部に通知されて状態保存ファイルが作成され、
    この時、同時に保存状況管理部で状態保存ファイル名と
    保存時の状況とが関連付けられて保存状況管理ファイル
    に保存され、またあるデバック状態を復元したい場合に
    は、この情報を参照することで、現在存在する状態保存
    ファイルの中から状態保存ファイルが容易に決定できる
    ことを特徴とするデバッグ方法。
  2. 【請求項2】 記録媒体および情報入力装置と、通常実
    行部、バック実行部を有するシミュレーション部と、イ
    ベント処理部、アクション処理部を有するデバッガ部
    と、状態保存部、状態復元部を有する状態保存/復元部
    から成り、マイコンシステムのシミュレーションやデバ
    ッグをプログラムに基づいて行なうデバック装置におい
    て、 デバッガ部のイベント処理部は、設定したイベントの発
    生を検出してそのイベント発生時点のデバッグ状態を保
    存する手段を有し、 状態保存/復元部の状態保存部は、デバッグ状態保存時
    の状況を管理する手段を有することを特徴とするデバッ
    グ装置。
  3. 【請求項3】請求項2に記載のデバッグ装置において、
    デバッグ状態保存時の状況を管理する手段が、デバッグ
    状態保存ファイル名を記録し、復元すべきデバッグ情報
    ファイルの特定を容易にすることを特徴とするデバッグ
    装置。
  4. 【請求項4】 シミュレーションデバッグプログラムを
    記録した記録媒体であって、 設定済みのイベントが命令実行時に状態保存イベントと
    して検出する手順、 状態保存イベントの検出時に状態保存ファイルを作成す
    る手順、 状態保存ファイル名と保存時の状況とが関連付けられて
    保存状況管理ファイルに保存する手順、及びあるデバッ
    ク状態を復元する場合に保存状況管理ファイルを検索す
    る手順を実行させるシミュレーションデバッグプログラ
    ムを記録したコンピュータ読み取り可能であることを特
    徴とする記録媒体。
JP14624897A 1997-06-04 1997-06-04 マイコンシステムのデバッグ方法、デバッグ装置及びデバッグプログラムを記録した記録媒体 Expired - Fee Related JP3206641B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP14624897A JP3206641B2 (ja) 1997-06-04 1997-06-04 マイコンシステムのデバッグ方法、デバッグ装置及びデバッグプログラムを記録した記録媒体
EP98109935A EP0883061A1 (en) 1997-06-04 1998-05-30 Debugging method for a microcomputer system and recording medium on which debug program is recorded
US09/089,408 US6240529B1 (en) 1997-06-04 1998-06-03 Debugging method and debugging apparatus for microcomputer system and recording medium on which debug program is recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14624897A JP3206641B2 (ja) 1997-06-04 1997-06-04 マイコンシステムのデバッグ方法、デバッグ装置及びデバッグプログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JPH10333937A JPH10333937A (ja) 1998-12-18
JP3206641B2 true JP3206641B2 (ja) 2001-09-10

Family

ID=15403450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14624897A Expired - Fee Related JP3206641B2 (ja) 1997-06-04 1997-06-04 マイコンシステムのデバッグ方法、デバッグ装置及びデバッグプログラムを記録した記録媒体

Country Status (3)

Country Link
US (1) US6240529B1 (ja)
EP (1) EP0883061A1 (ja)
JP (1) JP3206641B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658600B1 (en) * 2000-04-24 2003-12-02 Microsoft Corporation Target control abstraction for debugging embedded systems
US6981243B1 (en) * 2000-07-20 2005-12-27 International Business Machines Corporation Method and apparatus to debug a program from a predetermined starting point
US20030182653A1 (en) * 2002-03-22 2003-09-25 Giuseppe Desoli Systems and methods for verifying correct execution of emulated code via dynamic state verification
US20040064300A1 (en) * 2002-09-26 2004-04-01 Mathiske Bernd J.W. Method and apparatus for starting simulation of a computer system from a process checkpoint within a simulator
US20050222810A1 (en) * 2004-04-03 2005-10-06 Altusys Corp Method and Apparatus for Coordination of a Situation Manager and Event Correlation in Situation-Based Management
US8694475B2 (en) * 2004-04-03 2014-04-08 Altusys Corp. Method and apparatus for situation-based management
US20050222895A1 (en) * 2004-04-03 2005-10-06 Altusys Corp Method and Apparatus for Creating and Using Situation Transition Graphs in Situation-Based Management
US7788109B2 (en) * 2004-04-03 2010-08-31 Altusys Corp. Method and apparatus for context-sensitive event correlation with external control in situation-based management
JP2007293771A (ja) * 2006-04-27 2007-11-08 Matsushita Electric Ind Co Ltd シミュレータ
JP2008197964A (ja) * 2007-02-14 2008-08-28 Matsushita Electric Ind Co Ltd シミュレータ
US7823022B2 (en) * 2007-02-20 2010-10-26 Red Hat, Inc. Methods and systems for first occurence debugging
US10152404B2 (en) * 2016-11-07 2018-12-11 Vmware, Inc. Collaborative debugging

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03127234A (ja) 1989-10-13 1991-05-30 Nec Corp 計算機システムのプログラムデバッグ装置
US5124989A (en) * 1990-01-08 1992-06-23 Microsoft Corporation Method of debugging a computer program
JPH0468446A (ja) 1990-07-09 1992-03-04 Mitsubishi Electric Corp デバッグ支援装置
JPH05181702A (ja) 1991-12-27 1993-07-23 Sharp Corp ソフトデバッガ
JPH06222952A (ja) 1993-01-27 1994-08-12 Toshiba Corp デバッグ支援装置
JPH0764820A (ja) 1993-08-31 1995-03-10 Omron Corp デバッグ処理装置
JPH07191875A (ja) 1993-12-27 1995-07-28 Nec Corp デバッガー
US5781778A (en) * 1994-09-29 1998-07-14 International Business Machines Corporation Method and system for debugging parallel and distributed applications
DE69704004T2 (de) * 1996-06-19 2001-06-07 Matsushita Electric Ind Co Ltd Vorrichtung zur Programmfehlerbeseitigung
US5867644A (en) * 1996-09-10 1999-02-02 Hewlett Packard Company System and method for on-chip debug support and performance monitoring in a microprocessor

Also Published As

Publication number Publication date
JPH10333937A (ja) 1998-12-18
US6240529B1 (en) 2001-05-29
EP0883061A1 (en) 1998-12-09

Similar Documents

Publication Publication Date Title
JP4094724B2 (ja) ソフトウェアをデバッグする際に例外を識別するための装置および方法
US7742905B2 (en) Method and system for dynamically adjusting speed versus accuracy of computer platform simulation
US8250543B2 (en) Software tracing
JP3206641B2 (ja) マイコンシステムのデバッグ方法、デバッグ装置及びデバッグプログラムを記録した記録媒体
JPH0738161B2 (ja) 誤り回復装置
US7404178B2 (en) ROM-embedded debugging of computer
KR20140013005A (ko) 단일 스텝 실행을 이용한 코드 진단
JPH11110255A (ja) ソフトウェアをデバッグするための装置および方法
KR100809291B1 (ko) 임베디드 소프트웨어의 api 테스트 방법 및 장치
US20030177471A1 (en) System and method for graphically developing a program
JP3309792B2 (ja) スタックポインタトレース装置、スタックポインタトレース方法及び記録媒体
JP3110391B2 (ja) プログラム再実行方法
CN117667748B (zh) 一种基于复合框架的芯片系统级验证方法
JPH0934754A (ja) プログラムの性能測定装置と方法
JP2000076095A (ja) プログラムトレース装置およびプログラムトレース方法およびそのプログラムを記憶した記憶媒体
JP3183228B2 (ja) プログラムデバッグ装置およびデバッグ方法
JP2908446B1 (ja) コンピュータシミュレータ及びシミュレーション方法
JP2967741B2 (ja) Cpu互換性テスト装置
JP2001166966A (ja) デバッガにおける被テストプログラムの実行環境管理方法
JP3866023B2 (ja) 情報処理装置および特定用途演算命令の例外処理方法
JP2002189613A (ja) ソフトウェア開発支援装置、ソフトウェア開発支援方法及びソフトウェア開発支援プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH0287237A (ja) Execute命令制御方式
JP2001202272A (ja) デバッグの方法とこの方法を用いたデバッグ装置及びデバッグの方法を記録した記録媒体
JP2004318469A (ja) プログラムトレース装置
JPH02294849A (ja) プログラム・デバグ方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees