JP2008065441A - デバッグシステム及びデバッグ回路 - Google Patents

デバッグシステム及びデバッグ回路 Download PDF

Info

Publication number
JP2008065441A
JP2008065441A JP2006240079A JP2006240079A JP2008065441A JP 2008065441 A JP2008065441 A JP 2008065441A JP 2006240079 A JP2006240079 A JP 2006240079A JP 2006240079 A JP2006240079 A JP 2006240079A JP 2008065441 A JP2008065441 A JP 2008065441A
Authority
JP
Japan
Prior art keywords
access
stack
information
trace
data
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.)
Granted
Application number
JP2006240079A
Other languages
English (en)
Other versions
JP4846493B2 (ja
Inventor
Takashi Sato
崇 佐藤
Atsushi Fujita
藤田  淳
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006240079A priority Critical patent/JP4846493B2/ja
Priority to US11/878,780 priority patent/US7873875B2/en
Publication of JP2008065441A publication Critical patent/JP2008065441A/ja
Application granted granted Critical
Publication of JP4846493B2 publication Critical patent/JP4846493B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • 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/3648Software debugging using additional hardware

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)

Abstract

【課題】本発明は、デバッグシステム及びデバッグ回路に関し、スタックアクセスと通常のデータアクセスのトレースを独立に行うことを可能とし、デバッグシステムの処理を低減することを目的とする。
【解決手段】デバッグ対象のCPUとデバッグ回路とを備えたデバッグシステムにおいて、CPUは、デバッグ回路が監視するCPUのデータアクセス情報をスタックアクセス用情報とスタックアクセスを除くデータアクセス用情報として独立に出力し、デバッグ回路は、CPUが出力するスタックアクセス用情報からスタックアクセスのトレース情報を、CPUが出力するスタックアクセスを除くデータアクセス用情報からスタックアクセスを除くデータアクセスのトレース情報を、夫々独立に生成して出力するように構成する。
【選択図】図9

Description

本発明は、デバッグシステム及びデバッグ回路に係り、特にマイクロコントローラ等に内蔵される情報処理装置のデバッグを支援するデバッグシステム及びデバッグ回路に関する。
マイクロコントローラ等に代表される情報処理装置(以下、CPUと言う)を含む装置において、CPUを動作させるプログラムを開発する場合、一般的にはデバッグシステムを用いる。デバッグシステムは、開発するプログラムの諸動作情報の表示や、開発プログラムに対して特定の操作機能をプログラム開発者に提供し、デバッグを支援する。
図1は、従来のデバッグシステムの一例を示すブロック図である。図1において、デバッグ対象の1チップのマイクロコントローラ1は、外部デバッグ装置2を介してホストコンピュータ3に接続されている。マイクロコントローラ1は、CPU11、デバッグ回路12、記憶装置13及び周辺機能14,15がバス16を介して接続された構成を有する。マイクロコントローラ1は、デバッグ専用ピン17を介して外部デバッグ装置2に接続されている。
デバッグシステムは、マイクロコントローラ1に内蔵されCPU11の各種監視を行うデバッグ回路12と、マイクロコントローラ1の外部で各種デバッグ処理を行う外部デバッグ装置2と、デバッガソフトウェア10が実行されるホストコンピュータ3で構成される。デバッグ回路12と外部デバッグ装置2、及び、外部デバッグ装置2とホストコンピュータ3は、夫々専用の信号で接続される。
デバッグシステムの主要な機能の1つに、トレース機能がある。トレース機能には、命令の実行履歴情報を得る命令トレース機能と、データアクセスの実行履歴情報を得るデータトレース機能があり、これら機能によりCPU11の各種動作の履歴情報(トレース情報)を得ることは、デバッグする過程において非常に有益である。
CPU11のトレース情報は、トレース情報を取得する時間に比例して情報量が増加する。大量のトレース情報をマイクロコントローラ1内のデバッグ回路12に格納するためには、その内部に大容量の記憶装置が必要となり、マイクロコントローラ1のチップ面積及びコストが増加する。このため、一般的には、デバッグ回路12はトレース情報を外部デバッグ装置2へ出力し、外部デバッグ装置2にトレース情報を記憶するという手法が取られている。これには、外部デバッグ装置2を1チップで構成するという要求がなく、マイクロコントローラ1内のデバッグ回路12に大容量の記憶装置を設けるより、外部デバッグ装置2に必要な記憶装置を設けた方がコスト及び機能の面で有利だという背景がある。
図2は、デバッグ回路12及び外部デバッグ装置2の構成を示すブロック図である。デバッグ回路12はトレース装置19を有する。他方、外部デバッグ装置2は、ライト制御部21、トレースデータ記録部22及びリード制御部23を有する。デバッグシステムのデータトレース機能において、デバッグ対象のCPU11の動作をトレースする場合、デバッグ回路12内のトレース装置19がCPU11のデータアクセスを監視する。そして、トレース装置19がトレース対象のアクセスを検出すると、アクセス種類(リード、ライト、サイズ等)、アクセスアドレス及びアクセスデータからトレース情報を生成する。ここで、デバッグ回路12が監視するCPU11のデータアクセスには、スタックポインタ(SP:Stack Pointer)を用いたスタックアクセス(例えば、PUSH命令、POP命令、EIT(例外、割込み、トラップ)、RETI命令、スタックポインタ相対アクセス命令等)と、スタックアクセスを除くデータアクセス(以下、「通常のデータアクセス」と言う)には区別がない。このため、デバッグ回路12は、スタックアクセスと通常のデータアクセスを同一のトレース情報として扱う。又、このトレース情報を受け取る外部デバッグ装置2においても、これらを同一のトレース情報として扱う。
デバッグ回路12は、トレース情報を生成した後、デバッグ専用ピン17を経由して外部デバッグ回路2へ出力する。一般的に、このデバッグ専用ピン17は、デバッグ時以外には使用しない。このため、コスト削減の観点から、デバッグ時以外に使用しないデバッグ専用ピン17は、極力少ないピン数で実現することが望ましい。又、デバッグ専用ピン17から出力される情報は、圧縮することが望まれる。これは、少ないピン数と有限な帯域で、最大の情報を出力するためである。
図3は、データトレース機能を説明する図である。図3に示すように、デバッガソフトウェア10がデータトレースの設定指示を行うと、外部デバッグ装置2ではライト制御部21の初期化が行われ、デバッグ回路12ではデータトレースの設定が行われる。又、デバッガソフトウェア10がデバッグ対象プログラムのトレース開始指示を行うと、CPU11ではデバッグ対象プログラムの実行が開始される。又、CPU11ではデバッグ対象プログラムが実行され、デバッグ回路12ではトレースデータが生成され、外部デバッグ装置2ではトレースデータ記録部22によりトレースデータが記録される。CPU11ではデバッグ対象プログラムの実行中断条件に一致するとデバッグ対象プログラムの実行を中断し、デバッガソフトウェア10ではデバッグ対象プログラムのトレース中断を検出する。
デバッガソフトウェア10ではトレースデータ量の通知指示を行い、外部デバッグ装置2ではトレースデータ量の通知を行う。デバッガソフトウェア10ではトレースデータの読み出し指示を行い、外部デバッグ装置2ではトレースデータの読み出し及び送信を行う。デバッガソフトウェア10では、以後トレースデータの受信、受信したトレースデータのワークエリアへの展開、受信したトレースデータの解析、トレースリストの作成及びトレース結果の表示を行う。
図4は、スタックアクセス及び通常のデータアクセスの抽出を説明する図である。図4は、デバッグ専用ピン17を経由して外部デバッグ回路2へ出力されるデータトレース情報を時系列的に示す。図4において、梨地で示す矩形はスタックアクセスのトレースデータを示し、白抜きの矩形は通常のデータアクセスのトレースデータを示す。
図5は、データトレースのトレースリストの解析及び分離を説明する図である。図5において、左側に示すトレースリストは、デバッガソフトウェア10の解析部10A及び分離部10Bにより右側に示す通常のデータアクセスのトレースリストとスタックアクセスのトレースリストへ分離される。
特開2004−178591号公報 特開2004−38981号公報
従来技術では、次のような2つの課題がある。
第1の課題は、データトレースにおいて、スタックアクセスと通常のデータアクセスの区別がなされていないことに起因するものである。
従来技術のデータトレースでは、デバッグシステムにおいてスタックアクセスと通常のデータアクセスの区別がなく、デバッグ回路12はこれらを同一のトレース情報として扱い、スタックアクセスと通常のデータアクセスを含む全トレース情報をデバッグ専用ピン17から出力する。このため、外部デバッグ装置2では、スタックアクセスと通常のデータアクセスを含む全トレース情報を記憶装置(図示せず)に格納する。ホストコンピュータ3上のデバッガソフトウェア10は、外部デバッグ装置2に記憶されているトレース情報を基にデータアクセスの実行履歴リスト(トレースリスト)を作成する。作成されるトレースリストにおいて、スタックアクセスと通常のデータアクセスの区別は存在しない。このため、スタックアクセスのみをトレースしたい場合や、通常のデータアクセスのみをトレースしたい場合には、図5に示すように、ホストコンピュータ3上のデバッガソフトウェア10でトレースリストを解析し、スタックアクセスのトレースリストと通常のデータアクセスのトレースリストに分離するという工程が必要である。
例えばスタックアクセスと通常のデータアクセスのうち一方のみをトレースしたい場合、デバッグ専用ピン17から出力されるトレースデータのうち、トレース対象以外のトレースデータは、最終的に破棄される。このため、デバッグ専用ピン17に出力されるトレースデータに無駄が生じると同時に、デバッグ専用ピン17の有限な帯域を圧迫する原因や外部デバッグ装置2内のトレースデータの記憶装置の容量を圧迫する原因となる。又、スタックアクセスと通常のデータアクセスを分離する工程では、その処理に外部デバッグ装置2やホストコンピュータ3の資源が使われ、これらに負荷がかかってしまう。
第2の課題は、スタックアクセスの特徴を積極的に活かしたデータトレース情報の圧縮についてである。
上記第1の課題で述べた通り、従来技術のデータトレースでは、スタックアクセスと通常のデータアクセスは区別がない。このため、データトレースのトレース情報のうち、アドレスに関しては全ビットの情報をベースに何らかの圧縮方法を用いて圧縮を行っている。即ち、スタックアクセスと通常のデータアクセスでは、同じアドレス圧縮方法を使用している。この結果、スタックアクセスの圧縮率は、通常のデータアクセスのそれと同等である。全ビットのアドレス情報をベースに行う圧縮技術は、例えば特許文献1や特許文献2において提案されている。
一方、スタックアクセスには、通常のデータアクセスと比較して、アクセスするアドレスに局所性及び連続性を持つという大きな特徴がある。ここでは、これらの特徴を説明する。図6〜図8は、32ビットCPUにおけるスタックアクセスを説明する図である。図6は汎用レジスタR0をプッシュするプッシュアクセスを示し、図7は汎用レジスタR0にポップするポップアクセスを示し、図8は汎用レジスタR0をスタックポインタの値に対して+0x8のオフセットでライトするスタックポインタ相対アクセスを示す。
スタックアクセスには、一般的にスタックへのプッシュ(PUSH)アクセスとスタックからのポップ(POP)アクセスがある。PUSHアクセスの具体的な例としては、PUSH命令、EIT(例外、割込み、トラップ)時のCPUレジスタの退避アクセスがあり、これらを実行すると、図6に示すように、CPUはスタックアクセスするデータ幅に応じてスタックポインタ(SP)をディクリメントした後に、SPが示すアドレスへライトアクセスを行う。POPアクセスの具体的な例としては、POP命令、RETI命令(割込み復帰命令)時のCPUレジスタの復帰アクセスがあり、これらを実行すると、図7に示すように、CPUはSPが示すアドレスからのリードアクセスを行った後に、スタックアクセスしたデータ幅に応じてSPをインクリメントする。尚、一般的に、PUSHアクセス及びPOPアクセスのデータ幅は固定であり、SPのインクリメント値及びディクリメント値も固定である。このように、PUSHアクセス又はPOPアクセスでは、SPはインクリメント、又は、ディクリメントされ、スタックアクセスのアドレスに局所性と連続性がある。
CPUの命令セットに依存するが、スタックアクセスには、上記のPOPアクセスとPUSHアクセス以外にSPを使ったアクセスがある。例えば、スタックポインタ相対アクセス(以下、「SP相対アクセス」と言う)を行うスタックポインタ相対アクセス命令がある。SP相対アクセス命令では、図8に示すように、CPUは、命令のオペランドに含まれるSPの値からのオフセット値により、SPから相対的に表現されるアドレスへリードアクセス、又は、ライトアクセスを行う。このSP相対アクセスには連続性はないが、SPからのオフセット範囲内でアクセスを行うという点から局所性がある。
これらの特徴を活用してスタックアクセスのトレース情報のアドレス部を圧縮することは、大変有益であると考えられる。しかし、デバッグ回路が監視するCPUのデータアクセスにおいて、スタックアクセスと通常のデータトレースに区別がないため、容易にスタックアクセスが持つこれらの特徴に着目した圧縮を行うことはできない。
そこで、本発明は、少なくとも上記の第1の課題を解決し、更に望ましくは上記の第2の課題をも解決したデバッグシステム及びデバッグ回路を提供することを目的とする。つまり、本発明は、スタックアクセスと通常のデータアクセスのトレースを独立に行うことを可能とし、デバッグシステムの処理を低減することを少なくとも目的とし、更に望ましくはスタックアクセスのトレース情報について、スタックアクセスのアドレスが持つ局所性と連続性に着目した情報圧縮を可能にし、スタックアクセスのトレースの情報量を削減することをも目的とする。
上記の課題は、デバッグ対象のCPUとデバッグ回路とを備えたデバッグシステムであって、該CPUは、該デバッグ回路が監視する該CPUのデータアクセス情報をスタックアクセス用情報とスタックアクセスを除くデータアクセス用情報として独立に出力する出力手段を備え、該デバッグ回路は、該CPUが出力するスタックアクセス用情報からスタックアクセスのトレース情報を、該CPUが出力するスタックアクセスを除くデータアクセス用情報からスタックアクセスを除くデータアクセスのトレース情報を、夫々独立に生成して出力するトレース手段を備えたことを特徴とするデバッグシステムによって達成できる。
上記の課題は、データアクセス情報をスタックアクセス用情報とスタックアクセスを除くデータアクセス用情報として独立に出力するCPUをデバッグするデバッグ回路であって、該CPUが出力するスタックアクセス用情報からスタックアクセスのトレース情報を、該CPUが出力するスタックアクセスを除くデータアクセス用情報からスタックアクセスを除くデータアクセスのトレース情報を、夫々独立に生成して出力するトレース手段を備えたことを特徴とするデバッグ回路によって達成できる。
本発明によれば、少なくとも上記の第1の課題を解決し、更に望ましくは上記の第2の課題をも解決したデバッグシステム及びデバッグ回路を実現することができる。
つまり、本発明によれば、スタックアクセスと通常のデータアクセスのトレースを独立に行うことが可能となり、デバッグシステムの処理を低減することが可能となる。更に望ましくは、本発明によれば、スタックアクセスのトレース情報について、スタックアクセスのアドレスが持つ局所性と連続性に着目した情報圧縮が可能となり、スタックアクセスのトレースの情報量を削減することが可能となる。
本発明は、マイクロコントローラ等に内蔵される情報処理装置(CPU)のデバッグを支援するデバッグシステムに適用される。デバッグシステムが持つデータアクセスのトレース機能において、スタックアクセスとスタックアクセスを除くデータアクセスを独立したアクセスとして監視し、それらを選択的にトレースすることを特徴とする。
更に、スタックアクセスの局所性及び連続性を利用してスタックアクセスのトレース情報を圧縮するようにしても良い。
上記の第1の課題を解決する本発明の第1の特徴は、CPUとデバッグ回路の双方において、スタックアクセスと通常のデータアクセスを独立に扱う点にある。
具体的には、CPUは自らが行うデータアクセスが、スタックアクセスか、通常のデータアクセスかを識別する。CPUは、データトレース用にデバッグ回路が監視するデータアクセス情報を、スタックアクセス用情報と通常のデータアクセス用情報の2種類独立に生成して出力する。これらのアクセス情報を監視するデバッグ回路は、スタックアクセス用のトレース装置と通常のデータアクセス用のトレース装置を有する。スタックアクセス用トレース装置は、スタックアクセス用情報からスタックアクセスのトレース情報を生成し、通常のデータアクセス用トレース装置は通常のデータアクセス用情報から通常のデータアクセスのトレース情報を生成する。
更に、デバッグ回路は、スタックアクセスに対するトレース及びトレース出力を許可することを保持する手段と、通常のデータアクセスに対するトレース及びトレース出力を許可することを保持する手段と、スタックアクセスのトレース情報と通常のデータアクセスのトレース情報を多重化する手段を有し、トレース及びトレース出力を許可(有効)にする設定にしたスタックアクセス、及び、通常のデータアクセスのトレース情報をデバッグ専用ピンに出力する。
上記の第2の課題を解決する本発明の第2の特徴は、デバッグシステムにおいてスタックアクセスのトレース情報のアドレス部を、実行したスタックアクセスの情報を用いて絶対値及び相対値で表現する点にある。
本発明の第1の特徴により、デバッグシステムはスタックアクセスと通常のデータアクセスを独立にトレースすることが可能になる。これにより、スタックアクセスのトレースと通常のデータアクセスのトレースにおいて、別のトレース情報圧縮方法を適用できる。更に、スタックアクセスが持つアドレスの局所性と連続性に着目して、以下に示す方法によりトレース情報の圧縮を行う。
つまり、データアクセスのトレースでは、アクセスの種類、アドレス及びデータの3つの情報をベースにトレース情報を生成する。これに対して、スタックアクセスのトレースでは、スタックアクセス情報及びデータの2つの情報をベースにトレース情報を生成する。このスタックアクセス情報は、スタックアクセスに関する情報(PUSHアクセス、POPアクセス、SP相対リードアクセス、SP相対ライトアクセス、SP相対アクセスのオフセット値等)に加え、SPの書き換えに関する情報をも含む。
図6及び図7と共に説明したように、例えばPUSHアクセスやPOPアクセスでは、これらのスタックアクセスが発生した際に、一意にスタックアクセスのリード又はライトが決まる。又、現在のSP値を把握していれば、スタックアクセスのアドレスとスタックアクセス後のSP値も一意に決まる。例えば、図8と共に説明したSP相対リードアクセス又はSP相対ライトアクセスが発生した際、SPからのオフセット値の情報があり、且つ、現在のSP値を把握していれば、一意にスタックアクセスのアドレスが決まる。このように、実行したスタックアクセス情報が、スタックアクセスのアドレスをSPに対して相対値で表現している。
現在のSP値を把握していれば、実行したスタックアクセスのアドレスが一意に決まることは上記の通りである。現在のSP値を知るには、例えばSPの初期値設定や途中書き換え等によりSPの書き換えが発生した場合を利用する。スタックアクセス情報には、SPの書き換えに関する情報も含まれる。SPの書き換えが発生した場合、スタックアクセス情報でSPの書き換えという情報を生成する。同時に新しく書き換わったSP値の情報を生成する。このように、SP書き換え時はSP値を絶対値で表現する。絶対値で表現されたSP値は、PUSHアクセス又はPOPアクセスの実行後の更新を反映させることにより、常に現在のSP値を把握することが可能となる。
このように、スタックアクセスのアドレスではなくスタックアクセス情報を用いることにより、スタックアクセスのアドレスと現在のSP値をトレースすることが可能となる。又、スタックアクセス情報にはアクセスの種類が含まれるため、アクセスのリード又はライトを把握することが可能となる。
従って、CPUはスタックアクセス時に、スタックアクセス情報とスタックアクセスデータを生成する。デバッグ回路は、CPUが出力するスタックアクセス情報とスタックアクセスデータの2つの情報をベースに、スタックアクセスのトレース情報を生成する。スタックアクセスのトレース情報を受ける外部デバッグ装置、及び、デバッガソフトウェアは、これらの2つの情報からSP値とスタックアクセスのトレースを行う。
本発明の第1の特徴により、デバッグ回路は、スタックアクセスのトレース情報と通常のデータアクセスのトレース情報を独立したトレース情報として出力することができる。即ち、デバッグシステムは、スタックアクセスのトレース情報と通常のデータアクセスのトレース情報を独立に処理することが可能である。又、デバッグ回路は、スタックアクセスのトレース情報と通常のデータアクセスのトレース情報を選択的に出力することができる。即ち、デバッグシステムは所望のトレース対象のトレース情報だけを得て、処理することが可能となる。
本発明の第2の特徴により、デバッグ回路は、スタックアクセスのトレース情報をスタックアクセスのリード・ライト、アドレス及びデータではなく、発生したスタックアクセス情報とデータを使用することにより、より少ない情報量でトレース情報を表現できる。即ち、デバッグシステムのデータトレースのうち、スタックアクセスのトレース情報を圧縮することが可能になる。更に、この圧縮されたトレース情報を復元する過程では、スタックアクセスのトレースだけではなくSP値もトレースが可能となる。
本発明の第1の実施例を説明する。第1実施例は、上記本発明の第1の特徴を有する。図9は第1実施例におけるデバッグシステムを示すブロック図であり、図10は第1実施例のCPUの構成を示すブロック図である。
図9に示すように、デバッグ対象の1チップのマイクロコントローラ(図示せず)内のCPU41−1は、マイクロコントローラ内のデバッグ回路42−1を介して外部デバッグ装置32に接続されている。マイクロコントローラ自体の基本構成は、例えば図1に示すマイクロコントローラ1と同様であっても良い。
CPU41−1は、図10に示す如く接続された命令実行制御部411、メモリアクセス制御部412、スタックポインタ(SP)413Aを有するCPUレジスタ413、データトレースインタフェース414、スタックトレースインタフェース415及びデータバスインタフェース416を有する。メモリアクセス時には、メモリアクセス制御部412からデータバスインタフェース416にアクセスが発生する。これと同時に、メモリアクセス制御部412は、アクセスがスタックアクセスであるか否かを示すSPアクセス信号を生成する。データトレースインタフェース414は、データアクセス検出時、且つ、SPアクセス信号が「0」でありスタックアクセスではないことを示す場合にデータアクセスのトレース情報を生成する。データトレースインタフェース414で生成されたデータアクセスの種類、アドレス及びデータは、デバッグ回路42−1内のトレース装置49−1のデータトレース装置491−1に供給される。スタックトレースインタフェース415は、データアクセス検出時、且つ、SPアクセス信号が「1」でありスタックアクセスであることを示す場合にスタックアクセスのトレース情報を生成する。スタックトレースインタフェース415で生成されたスタックアクセスの種類、アドレス及びデータは、デバッグ回路42−1内のトレース装置49−1ののスタックトレース装置492−1に供給される。データバスインタフェース416は、マイクロコントローラ内の記憶装置(図示せず)や周辺機能(図示せず)等とマイクロコントローラ内のバス(図示せず)を介して接続されている。
CPU41−1は、自らが実行したデータアクセスが、スタックアクセスか通常のデータアクセスか識別可能である。このことを利用して、CPU41−1は実行したスタックアクセスに対して、スタックアクセス専用にスタックアクセスの種類(リード・ライト情報)、スタックアクセスのアドレス及びスタックアクセスのデータを生成する。同様に、CPU41−1は実行した通常のデータアクセスに対して、データアクセス専用にデータアクセスの種類(リード・ライト情報、サイズ情報等)、データアクセスのアドレス及びデータアクセスのデータを生成する。
デバッグ回路42−1は、デバッグ専用ピン47と、デバッグ専用ピンへ出力するトレース情報を生成するトレース装置49−1を有する。トレース装置49−1は、図9に示す如く接続されたデータトレース装置491−1、スタックトレース装置492−1、データトレース許可の保持部493、多重化装置494及びスタックトレース許可の保持部495を有する。
トレース装置49−1は、命令トレースを行う装置とデータトレースを行う装置を有するが、本発明の要旨は命令トレースとは直接関係がないため、図9においては命令トレースを行う装置の図示は省略する。データトレース許可の保持部493とスタックトレース許可の保持部495は、いずれもレジスタからなり、デバッグ制御用プログラムを実行するCPU41−1からのアクセス又は外部デバッグ装置32からのレジスタ書き換えコマンドにより設定される。データトレース装置491−1は、データトレース許可の保持部493により通常のデータトレースが許可されている場合、CPU41−1が生成したデータアクセスの種類(リード・ライト情報、サイズ情報等)、データアクセスのアドレス及びデータアクセスのデータを監視し、通常のデータアクセスのトレース情報を生成する。スタックトレース装置492−1は、スタックトレース許可の保持部495によりスタックトレースが許可されている場合、CPU41−1が生成したスタックアクセスの種類(リード・ライト情報)、スタックアクセスのアドレス及びスタックアクセスのデータを監視し、スタックアクセスのトレース情報を生成する。多重化装置494は、データトレース装置491−1が生成した通常のデータアクセスのトレース情報とスタックトレース装置492−1が生成したスタックアクセスのトレース情報を多重化して、トレース情報として出力する。このトレース情報は、デバッグ専用ピン47を経由して外部デバッグ装置32へ出力される。ここで、スタックトレース許可の保持部493とデータトレース許可の保持部495の設定により、スタックアクセスのみのトレース情報を出力する、通常のデータアクセスのトレース情報を出力する、両方のトレース情報を出力する、両方のトレース情報を出力しない、というように選択的にトレース情報を出力することができる。
図11は、第1実施例におけるトレース情報フォーマットとデータトレースIDを説明する図である。図11中、(a)は通常のデータアクセスのトレース情報フォーマットを示し、(b)はスタックアクセスのトレース情報フォーマットを示し、(c)はデータトレースIDを示す。図11では、説明の便宜上、CPU41−1が32ビットであるものとする。
図11(a)に示すように、通常のデータアクセスのトレース情報フォーマットは、1ビットのデータトレースID、1ビットのリード・ライト情報、2ビットのサイズ情報、32ビットのアドレス及び8ビット又は16ビット又は32ビットのデータで構成されている。又、図11(b)に示すように、スタックアクセスのトレース情報フォーマットは、1ビットのデータトレースID、1ビットのリード・ライト情報、32ビットのアドレス及び32ビットのデータで構成されている。更に、図11(c)に示すように、データトレースIDは1ビットであり、「0b0」であるとトレース情報が通常のデータアクセストレースであることを示し、「0b1」であるとトレース情報がスタックアクセストレースであることを示す。
図11において、「アドレス」は、アクセス先のアドレスであり、例えば特許文献1や特許文献2において提案されている手法により圧縮可能であるが、ここでは32ビットの全アドレス情報を用いるものとする。図11(a)に示す通常のデータアクセスのトレース情報フォーマット上の「データ」は、8ビット、16ビット、32ビットと可変長であり、このビット長は「サイズ」で示され、この「サイズ」の値によりデータは8ビット又は16ビット又は32ビットで表現される。図11(b)に示すスタックアクセスのトレース情報フォーマット上の「データ」は、32ビットの固定長であり、「サイズ」の情報は不要である。
外部デバッグ装置32は、トレース情報を内部の記憶装置(図示せず)に格納する。外部デバッグ装置32と接続するホストコンピュータ(図示せず)内のデバッガソフトウェアは、外部デバッグ装置32からトレース情報を読み出し、データアクセスのトレース情報からトレースリストを作成し、トレース情報をプログラム開発者に提供する。デバッガソフトウェアは、図11(c)に示す「データトレースID」からそのトレース情報がスタックアクセスであるか通常のデータアクセスであるかを識別できるため、このトレース情報から容易にスタックアクセスのトレースリストと通常のデータアクセスの2つのトレースリストが作成できる。
尚、「データトレースID」は、スタックアクセスと通常のデータアクセスのうちどちらか一方のトレースをするという条件下では、デバッガソフトウェアがどちらのトレースを行っているかを把握できるため、省略することも可能である。
本発明の第2の実施例を説明する。第2実施例は、上記本発明の第1の特徴を有する。図12は第2実施例におけるデバッグシステムを示すブロック図であり、図13は第2実施例のCPUの構成を示すブロック図である。又、図14は第2実施例におけるデータトレース装置の構成を示すブロック図であり、図15は第2実施例におけるスタックトレース装置の構成を示すブロック図である。図12及び図13中、図9及び図10と同一部分には同一符号を付し、その説明は省略する。
第2実施例と、上記第1の実施例との違いを説明する。上記第1の実施例では、CPU41−1は、実行したデータアクセスがスタックアクセスであるか通常のデータアクセスであるかを判断し、夫々のデータアクセスの情報を独立に生成する。又、デバッグ回路42−1は、スタックアクセスと通常のデータアクセスのデータアクセス情報を監視する。これに対し、第2の実施例では、CPU41−2は実行したデータアクセスの情報と共にそのデータアクセスがスタックアクセスであるか否かを示すスタックアクセス信号を出力する。このため、図13に示すように、CPU41−2にはデータトレースインタフェースが設けられていない。
デバッグ回路42−2の構成は、基本的には上記第1の実施例と同様である。又、トレース装置49−2の構成も、基本的には上記第1の実施例と同様である。上記第1実施例との相違点としては、第2実施例では、トレース装置49−2内のデータトレース装置491−2とスタックトレース装置492−2が監視するCPU41−2からの情報が上記第1実施例の場合とは異なる。データトレース装置491−2及びスタックトレース装置492−2は、CPU41−2が出力するデータアクセス情報とスタックアクセス信号を監視する。
データトレース装置491−2は、図14に示す如く接続されたアクセス検出部4911、トレースデータバッファ4912及びバッファ制御部4913を有する。トレースデータバッファ4912には、図11(a)に示すようなトレース情報フォーマットのトレースデータが、アクセス検出部4911のアクセス検出に応答してバッファ制御部4913の制御下で格納されて読み出される。データトレース装置491−2は、データトレース許可の保持部493により通常のデータアクセスのトレースが許可され、且つ、スタックアクセス信号が「0」の場合(即ち、スタックアクセスではない)、通常のデータアクセスのトレース情報を生成する。
スタックトレース装置492−2は、図15に示す如く接続されたアクセス検出部4921、トレースデータバッファ4922及びバッファ制御部4923を有する。トレースデータバッファ4922には、図11(b)に示すようなトレース情報フォーマットのトレースデータが、アクセス検出部4921のアクセス検出に応答してバッファ制御部4923の制御下で格納されて読み出される。スタックトレース装置492−2は、スタックトレース許可の保持部495によりスタックアクセスのトレースが許可され、且つ、スタックアクセス信号が「1」の場合(即ち、スタックアクセスである)、スタックアクセスのトレース情報を生成する。トレース装置49−2内の多重化装置494以降の処理は、上記第1の実施例と同様である。
本発明の第3の実施例を説明する。第3実施例は、上記本発明の第1の特徴を有する。図16は第3実施例におけるデバッグシステムを示すブロック図であり、図17は第3実施例のスタックトレース装置の構成を示すブロック図である。図16中、図9と同一部分には同一符号を付し、その説明は省略する。又、図17中、図15と同一部分には同一符号を付し、その説明は省略する。第3実施例では、CPU41−3が複数のSPを有する。
第3実施例と、上記第1の実施例との違いを説明する。上記第1の実施例では、図9に示すようにCPU41−1は1つのSP413Aを有する。これに対し、第3実施例では、図16に示すようにCPU41−3は、ユーザ用のSP(USP)413Bとシステム用のSP(SSP)413Cの2つのSPを有する。又、第3実施例では、複数のSP413B,413CのうちどのSPによるスタックアクセスであるかを識別するための情報として、CPU41−3はスタックID情報を他のスタックアクセスの情報と共に生成する。デバッグ回路42−3は、このスタックID情報をスタックアクセスのトレース情報に盛り込み、トレース装置49−3内の多重化装置494を経由してトレース情報を外部デバッグ装置32へ出力する。外部デバッグ装置32の記憶装置には、スタックID情報を含むトレース情報を格納する。
スタックトレース装置492−3は、図17に示す如く接続されたアクセス検出部4921、トレースデータバッファ4922、バッファ制御部4923及びスタックIDデコーダ4924を有する。トレースデータバッファ4922には、スタックIDデコーダ4924によりスタックアクセスID情報をデコードして得られたトレース情報用のスタックIDを含む図18(b)に示すようなトレース情報フォーマットのトレースデータが、アクセス検出部4921のアクセス検出に応答してバッファ制御部4923の制御下で格納されて読み出される。スタックトレース装置492−3は、スタックトレース許可の保持部495によりスタックアクセスのトレースが許可され、且つ、スタックアクセス信号が「1」の場合(即ち、スタックアクセスである)、スタックアクセスのトレース情報を生成する。トレース装置49−3内の多重化装置494以降の処理は、上記第1の実施例と同様である。
図18は第3実施例におけるトレース情報フォーマットとデータトレースIDを説明する図である。図18中、図11と同一部分には同一符号を付し、その説明は省略する。図11に示したフォーマットとの違いは、図18のフォーマットではスタックIDが設けられている点である。その他のフォーマットは、基本的には図11と同じである。スタックIDは、CPU41−3が複数のSP413B,413Cを有する場合にどのSPを用いたスタックアクセスであるかを識別するための情報を示す。USP413CとSSP413Bの2つのSPを持つCPU41−3において、スタックIDは図18(c)のように割当てることで、デバッガソフトウェアは、トレース用USP413CとUSPのスタックアクセスのトレースリスト構築、トレース用SSP413BとSSPのスタックアクセスのトレースリスト構築を行うことが可能になる。
本発明の第4の実施例を説明する。第4実施例は、上記本発明の第2の特徴を有する。図19は第4実施例におけるデバッグシステムを示すブロック図であり、図20は第4実施例のスタックトレース装置の構成を示すブロック図である。図19中、図9と同一部分には同一符号を付し、その説明は省略する。又、図20中、図15と同一部分には同一符号を付し、その説明は省略する。
第4実施例と、上記第1の実施例との違いを説明する。上記第1の実施例では、CPU41−1は実行したスタックアクセスに対して、スタックアクセス専用にスタックアクセスの種類(リード・ライト情報)、スタックアクセスのアドレス及びスタックアクセスのデータを生成する。これに対し、第4実施例では、CPU41−4は実行したスタックアクセスに対して、スタックアクセス専用にスタックアクセス情報(スタックアクセス情報とスタックアクセス付加情報の2種)とスタックアクセスデータを生成する。デバッグ回路42−4内のトレース装置49−4のスタックトレース装置492−4は、スタックトレース許可の保持部495によりスタックトレースが許可されている場合、CPU41−4が生成したこれらの情報を監視し、スタックアクセスのトレース情報を生成する。スタックトレース装置492−4で生成されるスタックアクセスのトレース情報は、上記第1実施例の場合と同様に多重化装置494を経由してトレース情報としてデバッグ専用ピン47に出力され、外部デバッグ装置32へ出力される。
スタックトレース装置492−4は、図20に示す如く接続されたアクセス検出部4921、トレースデータバッファ4922、バッファ制御部4923、マルチプレクサ部4925及びセレクタ部4926を有する。トレースデータバッファ4922には、トレースデータがアクセス検出部4921のアクセス検出に応答してバッファ制御部4923の制御下で格納されて読み出される。トレースデータバッファ4922から読み出されたトレースデータは、マルチプレクサ部4925で多重化され、セレクタ部4926により図21(a)に示すスタックアクセス付加情報を含まないタイプ1のトレース情報フォーマットのトレース情報又は図21(b)に示すスタックアクセス付加情報を含むタイプ2のトレース情報フォーマットのトレース情報が選択的に出力される。タイプ1又タイプ2のトレース情報のどちらをセレクタ部4926から選択出力するかは、スタックアクセス情報に基づいて制御される。スタックトレース装置492−4は、スタックトレース許可の保持部495によりスタックアクセスのトレースが許可され、且つ、スタックアクセス信号が「1」の場合(即ち、スタックアクセスである)、スタックアクセスのトレース情報を生成する。トレース装置49−3内の多重化装置494以降の処理は、上記第1の実施例と同様である。
図21は、第4実施例におけるトレース情報フォーマット、スタックアクセス情報及びスタックアクセス付加情報を説明する図である。トレース情報フォーマットには、PUSHアクセス、POPアクセス及びSP書き換え時に使用する図21(a)に示すタイプ1と、SP相対アクセス時に使用する図21(b)に示すタイプ2とがある。タイプ1とタイプ2のトレース情報フォーマットには、データトレースID、スタックアクセス情報及びスタックアクセスデータが含まれ、これに加えてタイプ2にはスタックアクセス付加情報が含まれる。データトレースIDは、上記本発明の第1の特徴で説明した通りである。スタックアクセス情報は、実行したスタックアクセスの種類(PUSHアクセス、POPアクセス、SP相対アクセス又はSP書き換え)を示し、図21(c)に示すように、スタックアクセスデータはスタックアクセスに関連したデータ(PUSHアクセス時、POPアクセス時又はSP相対アクセス時のアクセスデータ、SP書き換え時の新しいSP値)を示す。スタックアクセス付加情報は、SP相対アクセス時の付加的なアクセス情報を示し、具体的には図21(d)に示すように、SP相対アクセス時のリード・ライトとSP値に対するオフセット値を示す。
次に、このスタックアクセスのトレース情報のフォーマットで、各スタックアクセスをトレースした場合のトレースデータと、デバッガソフトウェアにおいてトレースデータから復元されるSP(トレース用SP)とスタックアクセスのトレースリストを構築する様子を示す。
図22はSP書き換え時のトレースデータと、トレースデータからトレースされるトレース用SPと、トレースリスト構築の様子を説明する図である。図22中、(a)はスタックアクセスのトレースデータ、(b)はトレース用SP(トレースデータ反映以前)、(c)はトレース用SP(トレースデータ反映以前)、(d)はスタックアクセスのトレースリスト構築を示す。スタックアクセス情報は、「0b11」でSP書き換えを示し、スタックアクセスデータの「0x00004000」は新しいSP値を示す。これにより、トレース用SPはトレースデータ反映以前の値に関係なく、スタックアクセスデータにある値がトレース用SPに上書きされる。SP書き換え時は、スタックアクセスのイベントではないため、スタックアクセスのトレースリストにイベントは記録されない。
図23はPUSHアクセス時のトレースデータと、トレースデータからトレースされるトレース用SPとトレースリスト構築の様子を説明する図である。図23中、(a)はスタックアクセスのトレースデータ、(b)はトレース用SP(トレースデータ反映以前)、(c)はトレース用SP(トレースデータ反映以前)、(d)はスタックアクセスのトレースリスト構築を示す。スタックアクセス情報は、「0b00」PUSHアクセスを示す。スタックアクセスデータの「0x01234567」はPUSHしたデータ値を示す。PUSHアクセスにより、トレース用SPはトレースデータ反映以前の値「0x00004000」からPUSHしたデータ幅分のアドレスをディクリメントした「0x00003FFC」となる。PUSHアクセスによるアクセスアドレスは「0x00003FFC」である。即ち、スタックアクセスとしては、アドレス「0x00003FFC」へデータ「0x01234567」をライトしたことになる。よって、トレースリストには、「アドレス0x00003FFCへデータ0x01234567をライト」というイベントが記録される。
図24はPOPアクセス時のトレースデータと、トレースデータからトレースされるトレース用SPとトレースリスト構築の様子を説明する図である。図24中、(a)はスタックアクセスのトレースデータ、(b)はトレース用SP(トレースデータ反映以前)、(c)はトレース用SP(トレースデータ反映以前)、(d)はスタックアクセスのトレースリスト構築を示す。スタックアクセス情報は、「0b01」POPアクセスを示す。スタックアクセスデータの「0x89ABCDEF」はPOPしたデータ値を示す。POPアクセスによるアクセスアドレスは「0x00003FF0」である。即ち、スタックアクセスとしては、アドレス「0x00003FF0」からデータ「0x89ABCDEF」をリードしたことになる。よって、トレースリストには、「アドレス0x00003FF0からデータ0x89ABCDEFをリード」というイベントが記録される。POPアクセスにより、トレース用SPはトレースデータ反映以前の値「0x00003FF0」からPOPしたデータ幅分のアドレスをインクリメントした「0x00003FF4」となる。
図25はSP相対アクセス時のトレースデータと、トレースデータからトレースされるトレース用SPとトレースリスト構築の様子を説明する図である。図25中、(a)はスタックアクセスのトレースデータ、(b)はトレース用SP(トレースデータ反映以前)、(c)はトレース用SP(トレースデータ反映以前)、(d)はスタックアクセスのトレースリスト構築を示す。スタックアクセス情報は「0b10」でSP相対アクセスを示す。スタックアクセス付加情報は「0x14」であり、bit4の「0b1」でライトアクセスを示し、bit3-0の「0x4」でSP値に対するオフセット値が「+0x10」(0x4は6ビットオフセット値の上位4ビット)であることを示す。スタックアクセスデータの「0xF0E1D2C3」はSP相対アクセスのデータ値を示す。SP相対アクセスアクセスの発生は、トレース用SPに影響を与えないため、トレース用SPはトレースデータ反映以前の値「0x00003FC0」を維持する。SP相対アクセスによるアクセスアドレスはSP値「0x00003FC0」とオフセット値「+0x10」から「0x00003FD0」である。又、SP相対アクセスは、ライトアクセスである。即ち、スタックアクセスとしては、アドレス「0z00003FD0」へデータ「0xF0E1D2C3」をライトしたことになる。よって、トレースリストには、「アドレス0x00003FD0へデータ0xF0E1D2C3をライト」というイベントが記録される。
以上のような方法により、CPU41−4とデバッグ回路42−4は、スタックアクセス情報をベースにしたスタックアクセスのトレース情報を生成し、デバッガソフトウェアはそのトレースデータからトレース用SPとスタックアクセスのトレースリストを構築することが可能になる。
尚、第4実施例では、1つのSP413Aを有するCPU41−4のトレースについて説明したが、上記第3実施例のようにCPUが複数のSPを有する場合にも上記スタックIDを追加することで容易に対応が可能である。
又、第4実施例は、上記第3実施例に限らず、上記第1実施例又は上記第2実施例と適宜組み合わせても良いことは言うまでもない。
本発明の第1の特徴によれば、デバッグシステムは、スタックアクセスと通常のデータアクセスのトレースを独立に行うことが可能になる。これにより、デバッグシステムは、スタックアクセスと通常のデータアクセスが混在するトレース情報を分析し、これらを分離する工程を省くことが可能になり、デバッグシステムの処理を低減することができる。又、本発明の第1の特徴によれば、スタックアクセスと通常のデータアクセスを選択的にトレース情報として出力することが可能になる。これにより、一方のトレースデータを得る場合において、所望しない他方のトレースによる無駄なトレースデータの生成、無駄なトレースデータのデバッグ専用ピンへの出力による帯域の圧迫、無駄なトレースデータによるトレースデータの記憶容量の圧迫をなくすことができる。言い換えれば、デバッグシステムの資源への負荷を効果的に低減できる。この結果、デバッグシステムの資源が従来技術と同じ場合では、データトレース処理の高速化が図れる。又、従来技術と比較して、同じデータトレース処理に必要なデバッグシステムの資源も低減可能となる。
本発明の第2の特徴によれば、スタックアクセスのトレース情報について、スタックアクセスのアドレスが持つ局所性と連続性に着目した情報圧縮が可能になる。具体的には、スタックアクセスのトレース情報にスタックアクセスのアドレスではなくスタックアクセス情報を用いる。そして、スタックアクセス時はSPに対するアクセスアドレスとSPの更新を相対値で表現し、SP書き換え時は新しいSP値を絶対値で表現する。この表現手法により、スタックアクセスのトレース情報にスタックアクセスのアドレス情報が不要になる。この結果、スタックアクセスのトレースの情報量を削減し、デバッグ専用ピンの帯域への負荷を低減することができる。又、トレースリストを構築する過程でSPを復元するため、SPのトレースが同時にできるという利点もある。尚、本発明の第2の特徴によれば、従来技術では必要なかったSP書き換えに関する情報をトレース情報として生成するため、トレース対象が増加する。しかし、SPの書き換えはプログラム実行中に何度も行うものではないので、SP書き換えをトレースすることによるトレース対象の増加の悪影響、即ち、トレース情報の増加による悪影響は、トレース情報の圧縮による効果に対して十分小さいと考えられる。
次に、本発明の第2の特徴を有する第4実施例におけるスタックアクセスのトレース情報の圧縮効率を簡単に見積もる。本発明の第2の特徴を用いない未圧縮トレース情報として図11(b)のフォーマットを想定し、本発明の第2の特徴を用いる圧縮トレース情報として図21 (a)及び図21 (b)のフォーマットを想定する。この場合、未圧縮トレース情報では、アドレス情報は32ビット、リード・ライト情報は1ビット、データ情報は32ビットである。他方、圧縮トレース情報では、アクセス情報はPUSHアクセス、POPアクセス又はSP書き換えの場合は2ビット、SP相対アクセスの場合は7ビット、データ情報は32ビットである。これより、データ情報を除く情報の圧縮率は、PUSHアクセス、POPアクセス又はSP書き換えの場合は約1/16、SP相対アクセスの場合は約1/5であり、全情報における圧縮率はPUSHアクセス、POPアクセス又はSP書き換えの場合は約1/2、SP相対アクセスの場合は約3/5となる。
尚、本発明は、以下に付記する発明をも包含するものである。
(付記1) デバッグ対象のCPUとデバッグ回路とを備えたデバッグシステムであって、
該CPUは、該デバッグ回路が監視する該CPUのデータアクセス情報をスタックアクセス用情報とスタックアクセスを除くデータアクセス用情報として独立に出力する出力手段を備え、
該デバッグ回路は、該CPUが出力するスタックアクセス用情報からスタックアクセスのトレース情報を、該CPUが出力するスタックアクセスを除くデータアクセス用情報からスタックアクセスを除くデータアクセスのトレース情報を、夫々独立に生成して出力するトレース手段を備えたことを特徴とするデバッグシステム。
(付記2) 該出力手段は、該デバッグ回路が監視する該CPUのデータアクセス情報に、データアクセスの情報とデータアクセスがスタックアクセスか否かを示す信号を含めて出力し、
該トレース手段は、該CPUのデータアクセスがスタックアクセスか否かを示す信号からスタックアクセスのトレース情報とスタックアクセスを除くデータアクセスのトレース情報を、夫々独立に生成して出力することを特徴とする付記1記載のデバッグシステム。
(付記3) 該トレース手段は、スタックアクセスのトレース情報の生成とスタックアクセスを除くデータアクセスのトレース情報の生成を独立に許可する手段と、夫々のトレース情報を多重化する手段とを有し、スタックアクセスのトレース情報とスタックアクセスを除くデータアクセスのトレース情報を選択的にトレースすることを特徴とする付記1又は2記載のデバッグシステム。
(付記4) 該デバッグ回路が出力するスタックアクセスのトレース情報とスタックアクセスを除くデータアクセスのトレース情報から、スタックアクセスのトレースとスタックアクセスを除くデータアクセスのトレースを独立に行う外部デバッグ装置を更に備えたことを特徴とする付記1乃至る3のいずれか1項記載のデバッグシステム。
(付記5) 該出力手段は、該デバッグ回路が監視するスタックアクセス用情報に、スタックアクセスを実行した場合には実行したスタックアクセスの種類、スタックアクセスのデータ及びスタックポインタからのオフセット値の情報を含め、スタックポインタの書き換えた場合にはスタックポインタ書き換えを実行した情報と新しいスタックポインタ値の情報を含め、
該トレース手段は、該CPUが出力するスタックアクセス用情報に基づいて、スタックアクセスを実行した場合には実行したスタックアクセスの種類、スタックアクセスのデータ及びスタックポインタからのオフセット値の情報を含むトレース情報を生成して出力し、スタックポインタの書き換えた場合にはスタックポインタ書き換えを実行した情報と新しいスタックポインタ値の情報を含むトレース情報を生成して出力し、
該外部デバッグ装置は、該デバッグ回路が出力するスタックアクセスのトレース情報からスタックポインタをトレースすることを特徴とする付記4記載のデバッグシステム。
(付記6) 該外部デバッグ装置は、該トレース手段が出力するスタックアクセスのトレース情報からスタックアクセスをトレースすることを特徴とする付記4記載のデバッグシステム。
(付記7) 該出力手段は、該CPUがスタックプッシュアクセスを実行した場合にスタックプッシュアクセスの発生とそのスタックアクセスのデータを該デバッグ回路が監視するスタックアクセス用情報に含めて出力し、
該トレース手段は、該CPUが出力するスタックアクセス情報からスタックプッシュアクセスとそのスタックアクセスのデータを含むスタックアクセスのトレース情報を生成して出力し、
該外部デバッグ装置は、該デバッグ回路が出力するスタックアクセスのトレース情報のうち、発生したスタックアクセスがスタックプッシュアクセスであることを示す情報に基づいてスタックポインタのディクリメントをトレースし、発生したスタックアクセスがスタックプッシュアクセスであることを示す情報と発生したスタックアクセスのデータの情報に基づいてスタックポインタが示すアドレスへのライトアクセスとそのライトデータをトレースすることを特徴とする付記5又は6記載のデバッグシステム。
(付記8) 該出力手段は、該CPUがスタックポップアクセスを実行した場合にスタックポップアクセスの発生とそのスタックアクセスのデータを該デバッグ回路が監視するスタックアクセス用情報に含めて出力し、
該トレース手段は、該CPUが出力するスタックアクセス情報からスタックポップアクセスと、そのスタックアクセスのデータを含むスタックアクセスのトレース情報を生成して出力し、
該外部デバッグ装置は、該デバッグ回路が出力するスタックアクセスのトレース情報のうち、発生したスタックアクセスがスタックポップアクセスであるという情報と発生したスタックアクセスのデータの情報とに基づいて、スタックポインタが示すアドレスへのリードアクセスとそのリードデータをトレースし、発生したスタックアクセスがスタックポップアクセスであることを示す情報に基づいてスタックポインタのインクリメントをトレースすることを特徴とする付記5又は6記載のデバッグシステム。
(付記9) 該出力手段は、該CPUがスタックポインタ相対アクセスを実行した場合にスタックポインタ相対アクセスの発生と、アクセスのリード・ライトと、スタックポインタからの相対アドレス値と、スタックアクセスのデータを、該デバッグ回路が監視するスタックアクセス用情報に含めて出力し、
該トレース手段は、該CPUが出力するスタックアクセス情報からスタックポインタ相対アクセスと、アクセスのリード・ライトと、スタックポインタからの相対アドレス値と、スタックアクセスのデータを含むスタックアクセスのトレース情報を生成して出力し、
該外部デバッグ装置は、該デバッグ回路が出力するスタックアクセスのトレース情報の各情報に基づいて、スタックポインタとスタックポインタからのオフセット値の和が示すアドレスへのリードアクセスとそのリードデータ、又は、ライトアクセスとそのライトデータをトレースすることを特徴とする付記5又は6記載のデバッグシステム。
(付記10) 該出力手段は、該CPUがスタックポインタの書き換えを実行した場合にスタックポインタ書き換えの発生と、書き換えによる新しいスタックポインタ値を、該デバッグ回路が監視するスタックアクセス用情報に含めて出力し、
該トレース手段は、該CPUが出力するスタックアクセス情報からスタックポインタ書き換えの発生と、書き換えによる新しいスタックポインタ値を含むスタックアクセスのトレース情報を生成して出力し、
該外部デバッグ装置は、該デバッグ回路が出力するスタックアクセスのトレース情報の各情報に基づいて、スタックポインタが書き換えられたことと、書き換えによる新しいスタックポインタ値をトレースすることを特徴とする付記5又は6記載のデバッグシステム。
(付記11) データアクセス情報をスタックアクセス用情報とスタックアクセスを除くデータアクセス用情報として独立に出力するCPUをデバッグするデバッグ回路であって、
該CPUが出力するスタックアクセス用情報からスタックアクセスのトレース情報を、該CPUが出力するスタックアクセスを除くデータアクセス用情報からスタックアクセスを除くデータアクセスのトレース情報を、夫々独立に生成して出力するトレース手段を備えたことを特徴とするデバッグ回路。
(付記12) 該CPUが出力するデータアクセス情報は、データアクセスの情報とデータアクセスがスタックアクセスか否かを示す信号を含み、
該トレース手段は、該CPUのデータアクセスがスタックアクセスか否かを示す信号からスタックアクセスのトレース情報とスタックアクセスを除くデータアクセスのトレース情報を、夫々独立に生成して出力することを特徴とする付記11記載のデバッグ回路。
(付記13) 該トレース手段は、スタックアクセスのトレース情報の生成とスタックアクセスを除くデータアクセスのトレース情報の生成を独立に許可する手段と、夫々のトレース情報を多重化する手段とを有し、スタックアクセスのトレース情報とスタックアクセスを除くデータアクセスのトレース情報を選択的にトレースすることを特徴とする付記11又は12記載のデバッグ回路。
(付記14) 該CPUが出力するスタックアクセス用情報は、スタックアクセスを実行した場合には実行したスタックアクセスの種類、スタックアクセスのデータ及びスタックポインタからのオフセット値の情報を含み、スタックポインタの書き換えた場合にはスタックポインタ書き換えを実行した情報と新しいスタックポインタ値の情報を含み、
該トレース手段は、該CPUが出力するスタックアクセス用情報に基づいて、スタックアクセスを実行した場合には実行したスタックアクセスの種類、スタックアクセスのデータ及びスタックポインタからのオフセット値の情報を含むトレース情報を生成して出力し、スタックポインタの書き換えた場合にはスタックポインタ書き換えを実行した情報と新しいスタックポインタ値の情報を含むトレース情報を生成して出力することを特徴とする付記11乃至13のいずれか1項記載のデバッグ回路。
(付記16) デバッグ回路により監視される情報処理装置であって、
該情報処理装置のデータアクセス情報をスタックアクセス用情報とスタックアクセスを除くデータアクセス用情報として独立に該デバッグ回路へ出力する出力手段を備えたことを特徴とする情報処理装置。
(付記17) 該出力手段は、データアクセス情報に、データアクセスの情報とデータアクセスがスタックアクセスか否かを示す信号を含めて出力することを特徴とする付記16記載の情報処理装置。
(付記18) 該出力手段は、スタックアクセス用情報に、スタックアクセスを実行した場合には実行したスタックアクセスの種類、スタックアクセスのデータ及びスタックポインタからのオフセット値の情報を含め、スタックポインタの書き換えた場合にはスタックポインタ書き換えを実行した情報と新しいスタックポインタ値の情報を含めることを特徴とする付記16又は17記載の情報処理装置。
(付記19) 該出力手段は、該情報処理装置がスタックプッシュアクセスを実行した場合にスタックプッシュアクセスの発生とそのスタックアクセスのデータをスタックアクセス用情報に含めて出力することを特徴とする付記16乃至18のいずれか1項記載の情報処理装置。
(付記20) 該出力手段は、該情報処理装置がスタックポップアクセスを実行した場合にスタックポップアクセスの発生とそのスタックアクセスのデータを該デバッグ回路が監視するスタックアクセス用情報に含めて出力することを特徴とする付記16乃至18のいずれか1項記載の情報処理装置。
(付記21) 該出力手段は、該情報処理装置がスタックポインタ相対アクセスを実行した場合にスタックポインタ相対アクセスの発生と、アクセスのリード・ライトと、スタックポインタからの相対アドレス値と、スタックアクセスのデータを、該デバッグ回路が監視するスタックアクセス用情報に含めて出力することを特徴とする付記16乃至18のいずれか1項記載の情報処理装置。
(付記22) 該出力手段は、該情報処理装置がスタックポインタの書き換えを実行した場合にスタックポインタ書き換えの発生と、書き換えによる新しいスタックポインタ値を、該デバッグ回路が監視するスタックアクセス用情報に含めて出力することを特徴とする付記16乃至18のいずれか1項記載の情報処理装置。
以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
従来のデバッグシステムの一例を示すブロック図である。 デバッグ回路及び外部デバッグ装置の構成を示すブロック図である。 データトレース機能を説明する図である。 スタックアクセス及び通常のデータアクセスの抽出を説明する図である。 データトレースのトレースリストの解析及び分離を説明する図である。 32ビットCPUにおけるスタックアクセスを説明する図である。 32ビットCPUにおけるスタックアクセスを説明する図である。 32ビットCPUにおけるスタックアクセスを説明する図である。 第1実施例におけるデバッグシステムを示すブロック図である。 第1実施例のCPUの構成を示すブロック図である。 第1実施例におけるトレース情報フォーマットとデータトレースIDを説明する図である。 第2実施例におけるデバッグシステムを示すブロック図である。 第2実施例のCPUの構成を示すブロック図である。 第2実施例におけるデータトレース装置の構成を示すブロック図である。 第2実施例におけるスタックトレース装置の構成を示すブロック図である。 第3実施例におけるデバッグシステムを示すブロック図である。 第3実施例のスタックトレース装置の構成を示すブロック図である。 第3実施例におけるトレース情報フォーマットとデータトレースIDを説明する図である。 第4実施例におけるデバッグシステムを示すブロック図である。 第4実施例のスタックトレース装置の構成を示すブロック図である。 第4実施例におけるトレース情報フォーマット、スタックアクセス情報及びスタックアクセス付加情報を説明する図である。 SP書き換え時のトレースデータ、トレース用SP及びトレースリストの構築を説明する図である。 PUSHアクセス時のトレースデータ、トレース用SP及びトレースリストの構築を説明する図である。 POPアクセス時のトレースデータ、トレース用SP及びトレースリストの構築を説明する図である。 SP相対アクセス時のトレースデータ、トレース用SP及びトレースリストの構築を説明する図である。
符号の説明
32 外部デバッグ装置
41−1〜41−4 CPU
42−1〜42−4 デバッグ回路
49−1〜49−4 トレース装置
491−1,491−2 データトレース装置
492−1〜492−4 スタックトレース装置

Claims (10)

  1. デバッグ対象のCPUとデバッグ回路とを備えたデバッグシステムであって、
    該CPUは、該デバッグ回路が監視する該CPUのデータアクセス情報をスタックアクセス用情報とスタックアクセスを除くデータアクセス用情報として独立に出力する出力手段を備え、
    該デバッグ回路は、該CPUが出力するスタックアクセス用情報からスタックアクセスのトレース情報を、該CPUが出力するスタックアクセスを除くデータアクセス用情報からスタックアクセスを除くデータアクセスのトレース情報を、夫々独立に生成して出力するトレース手段を備えたことを特徴とするデバッグシステム。
  2. 該出力手段は、該デバッグ回路が監視する該CPUのデータアクセス情報に、データアクセスの情報とデータアクセスがスタックアクセスか否かを示す信号を含めて出力し、
    該トレース手段は、該CPUのデータアクセスがスタックアクセスか否かを示す信号からスタックアクセスのトレース情報とスタックアクセスを除くデータアクセスのトレース情報を、夫々独立に生成して出力することを特徴とする請求項1記載のデバッグシステム。
  3. 該トレース手段は、スタックアクセスのトレース情報の生成とスタックアクセスを除くデータアクセスのトレース情報の生成を独立に許可する手段と、夫々のトレース情報を多重化する手段とを有し、スタックアクセスのトレース情報とスタックアクセスを除くデータアクセスのトレース情報を選択的にトレースすることを特徴とする請求項1又は2記載のデバッグシステム。
  4. 該デバッグ回路が出力するスタックアクセスのトレース情報とスタックアクセスを除くデータアクセスのトレース情報から、スタックアクセスのトレースとスタックアクセスを除くデータアクセスのトレースを独立に行う外部デバッグ装置を更に備えたことを特徴とする請求項1乃至3のいずれか1項記載のデバッグシステム。
  5. 該出力手段は、該デバッグ回路が監視するスタックアクセス用情報に、スタックアクセスを実行した場合には実行したスタックアクセスの種類、スタックアクセスのデータ及びスタックポインタからのオフセット値の情報を含め、スタックポインタの書き換えた場合にはスタックポインタ書き換えを実行した情報と新しいスタックポインタ値の情報を含め、
    該トレース手段は、該CPUが出力するスタックアクセス用情報に基づいて、スタックアクセスを実行した場合には実行したスタックアクセスの種類、スタックアクセスのデータ及びスタックポインタからのオフセット値の情報を含むトレース情報を生成して出力し、スタックポインタの書き換えた場合にはスタックポインタ書き換えを実行した情報と新しいスタックポインタ値の情報を含むトレース情報を生成して出力し、
    該外部デバッグ装置は、該デバッグ回路が出力するスタックアクセスのトレース情報からスタックポインタをトレースすることを特徴とする請求項4記載のデバッグシステム。
  6. 該出力手段は、該CPUがスタックプッシュアクセスを実行した場合にスタックプッシュアクセスの発生とそのスタックアクセスのデータを該デバッグ回路が監視するスタックアクセス用情報に含めて出力し、
    該トレース手段は、該CPUが出力するスタックアクセス情報からスタックプッシュアクセスとそのスタックアクセスのデータを含むスタックアクセスのトレース情報を生成して出力し、
    該外部デバッグ装置は、該デバッグ回路が出力するスタックアクセスのトレース情報のうち、発生したスタックアクセスがスタックプッシュアクセスであることを示す情報に基づいてスタックポインタのディクリメントをトレースし、発生したスタックアクセスがスタックプッシュアクセスであることを示す情報と発生したスタックアクセスのデータの情報に基づいてスタックポインタが示すアドレスへのライトアクセスとそのライトデータをトレースすることを特徴とする請求項5記載のデバッグシステム。
  7. 該出力手段は、該CPUがスタックポップアクセスを実行した場合にスタックポップアクセスの発生とそのスタックアクセスのデータを該デバッグ回路が監視するスタックアクセス用情報に含めて出力し、
    該トレース手段は、該CPUが出力するスタックアクセス情報からスタックポップアクセスと、そのスタックアクセスのデータを含むスタックアクセスのトレース情報を生成して出力し、
    該外部デバッグ装置は、該デバッグ回路が出力するスタックアクセスのトレース情報のうち、発生したスタックアクセスがスタックポップアクセスであるという情報と発生したスタックアクセスのデータの情報とに基づいて、スタックポインタが示すアドレスへのリードアクセスとそのリードデータをトレースし、発生したスタックアクセスがスタックポップアクセスであることを示す情報に基づいてスタックポインタのインクリメントをトレースすることを特徴とする請求項5記載のデバッグシステム。
  8. 該出力手段は、該CPUがスタックポインタ相対アクセスを実行した場合にスタックポインタ相対アクセスの発生と、アクセスのリード・ライトと、スタックポインタからの相対アドレス値と、スタックアクセスのデータを、該デバッグ回路が監視するスタックアクセス用情報に含めて出力し、
    該トレース手段は、該CPUが出力するスタックアクセス情報からスタックポインタ相対アクセスと、アクセスのリード・ライトと、スタックポインタからの相対アドレス値と、スタックアクセスのデータを含むスタックアクセスのトレース情報を生成して出力し、
    該外部デバッグ装置は、該デバッグ回路が出力するスタックアクセスのトレース情報の各情報に基づいて、スタックポインタとスタックポインタからのオフセット値の和が示すアドレスへのリードアクセスとそのリードデータ、又は、ライトアクセスとそのライトデータをトレースすることを特徴とする請求項5記載のデバッグシステム。
  9. 該出力手段は、該CPUがスタックポインタの書き換えを実行した場合にスタックポインタ書き換えの発生と、書き換えによる新しいスタックポインタ値を、該デバッグ回路が監視するスタックアクセス用情報に含めて出力し、
    該トレース手段は、該CPUが出力するスタックアクセス情報からスタックポインタ書き換えの発生と、書き換えによる新しいスタックポインタ値を含むスタックアクセスのトレース情報を生成して出力し、
    該外部デバッグ装置は、該デバッグ回路が出力するスタックアクセスのトレース情報の各情報に基づいて、スタックポインタが書き換えられたことと、書き換えによる新しいスタックポインタ値をトレースすることを特徴とする請求項5記載のデバッグシステム。
  10. データアクセス情報をスタックアクセス用情報とスタックアクセスを除くデータアクセス用情報として独立に出力するCPUをデバッグするデバッグ回路であって、
    該CPUが出力するスタックアクセス用情報からスタックアクセスのトレース情報を、該CPUが出力するスタックアクセスを除くデータアクセス用情報からスタックアクセスを除くデータアクセスのトレース情報を、夫々独立に生成して出力するトレース手段を備えたことを特徴とするデバッグ回路。
JP2006240079A 2006-09-05 2006-09-05 デバッグシステム及びデバッグ回路 Active JP4846493B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006240079A JP4846493B2 (ja) 2006-09-05 2006-09-05 デバッグシステム及びデバッグ回路
US11/878,780 US7873875B2 (en) 2006-09-05 2007-07-26 Debugging system, debugging circuit and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006240079A JP4846493B2 (ja) 2006-09-05 2006-09-05 デバッグシステム及びデバッグ回路

Publications (2)

Publication Number Publication Date
JP2008065441A true JP2008065441A (ja) 2008-03-21
JP4846493B2 JP4846493B2 (ja) 2011-12-28

Family

ID=39153478

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006240079A Active JP4846493B2 (ja) 2006-09-05 2006-09-05 デバッグシステム及びデバッグ回路

Country Status (2)

Country Link
US (1) US7873875B2 (ja)
JP (1) JP4846493B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010218139A (ja) * 2009-03-16 2010-09-30 Fujitsu Semiconductor Ltd 実行履歴トレース方法
JP2011008395A (ja) * 2009-06-24 2011-01-13 Renesas Electronics Corp デバッグ支援装置及びデバッグ支援方法
JP2011227608A (ja) * 2010-04-16 2011-11-10 Mitsubishi Electric Corp 電子部品及びデバッグ方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8205120B2 (en) * 2007-12-21 2012-06-19 Sap Ag Intelligent test framework
KR101060181B1 (ko) * 2009-08-03 2011-08-29 강원대학교산학협력단 원격 디버깅을 위한 웹 기반 소프트웨어 디버깅 장치 및 그 방법
US8713369B2 (en) 2011-05-08 2014-04-29 Telefonaktiebolaget L M Ericsson (Publ) Hardware/software debugging using memory access parameters
US8645763B2 (en) 2011-09-12 2014-02-04 Microsoft Corporation Memory dump with expanded data and user privacy protection
US8510523B2 (en) 2011-09-12 2013-08-13 Microsoft Corporation Memory dump with expanded data and user privacy protection
US11063998B2 (en) * 2012-06-29 2021-07-13 Schneider Electric USA, Inc. System and method for energy management information system reliability assurance
US9588872B2 (en) * 2015-02-20 2017-03-07 Vmware, Inc. Discovery of code paths
JP7073813B2 (ja) * 2018-03-16 2022-05-24 富士通株式会社 制御プログラム、制御方法および情報処理装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06250879A (ja) * 1993-02-25 1994-09-09 Fujitsu Ltd プログラムアクセストレース装置
JPH0756766A (ja) * 1993-08-10 1995-03-03 Nec Corp トレース装置
JP2005182573A (ja) * 2003-12-22 2005-07-07 Toshiba Corp インサーキットエミュレータ装置
JP2007052676A (ja) * 2005-08-18 2007-03-01 Nec Corp データトレース方法およびトレースモジュール

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438715B1 (en) * 1998-05-04 2002-08-20 Stmicroelectronics N.V. Trace operations in an integrated circuit for a disk drive
US6745351B1 (en) * 2000-05-26 2004-06-01 I-Tech Corporation Indexing system for protocol analyzers
US7017084B2 (en) * 2001-09-07 2006-03-21 Network Appliance Inc. Tracing method and apparatus for distributed environments
GB2389432B (en) 2002-06-07 2005-09-07 Advanced Risc Mach Ltd Instruction tracing in data processing systems
US20040064763A1 (en) * 2002-09-27 2004-04-01 Swoboda Gary L. Apparatus and method for a trace system on a chip having multiple processing units
US7162552B2 (en) 2002-11-22 2007-01-09 Texas Instruments Incorporated Programmable extended compression mask for dynamic trace
JP2004309998A (ja) * 2003-02-18 2004-11-04 Nec Corp 確率分布推定装置および異常行動検出装置,ならびにその確率分布推定方法および異常行動検出方法
US7702964B2 (en) * 2004-05-11 2010-04-20 Qualcomm Incorporated Compression of data traces for an integrated circuit with multiple memories
US7802233B2 (en) * 2006-01-30 2010-09-21 Microsoft Corporation Automated display of trace historical data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06250879A (ja) * 1993-02-25 1994-09-09 Fujitsu Ltd プログラムアクセストレース装置
JPH0756766A (ja) * 1993-08-10 1995-03-03 Nec Corp トレース装置
JP2005182573A (ja) * 2003-12-22 2005-07-07 Toshiba Corp インサーキットエミュレータ装置
JP2007052676A (ja) * 2005-08-18 2007-03-01 Nec Corp データトレース方法およびトレースモジュール

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010218139A (ja) * 2009-03-16 2010-09-30 Fujitsu Semiconductor Ltd 実行履歴トレース方法
US8578216B2 (en) 2009-03-16 2013-11-05 Spansion Llc Execution history tracing method
US9507688B2 (en) 2009-03-16 2016-11-29 Cypress Semiconductor Corporation Execution history tracing method
JP2011008395A (ja) * 2009-06-24 2011-01-13 Renesas Electronics Corp デバッグ支援装置及びデバッグ支援方法
JP2011227608A (ja) * 2010-04-16 2011-11-10 Mitsubishi Electric Corp 電子部品及びデバッグ方法

Also Published As

Publication number Publication date
JP4846493B2 (ja) 2011-12-28
US20080059843A1 (en) 2008-03-06
US7873875B2 (en) 2011-01-18

Similar Documents

Publication Publication Date Title
JP4846493B2 (ja) デバッグシステム及びデバッグ回路
JP4225851B2 (ja) データ処理装置用トレース要素生成システム
US20080209443A1 (en) Apparatus and method for displaying process operation
US8825922B2 (en) Arrangement for processing trace data information, integrated circuits and a method for processing trace data information
US8555256B2 (en) Pass-by breakpoint setting and debugging method and device
JP2011133473A (ja) 試験装置、試験方法およびプログラム
JP2008139908A (ja) メモリ制御装置、コンピュータシステム及びデータ再生記録装置
JP2006178646A (ja) 情報処理装置、情報処理方法、半導体装置、コンピュータプログラム
CN111465923B (zh) 用于捕获和执行图形处理操作的技术
JP6206097B2 (ja) 情報処理装置、起動方法及び起動プログラム
US20070079109A1 (en) Simulation apparatus and simulation method
JP2009175960A (ja) 仮想マルチプロセッサシステム
JP2008293076A (ja) エラー判定プログラム、エラー判定方法、及び、電子機器
US10795797B2 (en) Controller, SATA system and method of operation therefor
KR101851330B1 (ko) 코드 재사용 공격 탐지 장치 및 그 방법
WO2018158846A1 (ja) シミュレーション装置、シミュレーション方法およびシミュレーションプログラム
JP2006331391A (ja) データ処理装置及びデータ処理方法
JP6328632B2 (ja) 実行可能コード・データのロック・フリー・ストリーミング
JP2010039884A (ja) ソフトウェア解析システム
JP2011018187A (ja) 試験方法、試験プログラム、試験装置、及び試験システム
JP2005165825A (ja) トレース情報記録装置
JP2008129851A (ja) 演算処理装置
JP6918267B2 (ja) ボトルネック検出装置及びボトルネック検出プログラム
JP2006031248A (ja) 関数呼び出しをフックしてログを生成するソフトウェア評価システム
JP2011164730A (ja) Cpuでの命令実行と非同期的に発生するメモリアクセスエラーの原因究明のための情報処理装置、異常分析方法、および異常分析プログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080729

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110913

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111012

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4846493

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250