[go: up one dir, main page]

JPH07200352A - データプロセッサ、プログラム翻訳方法、及びデバッグツール - Google Patents

データプロセッサ、プログラム翻訳方法、及びデバッグツール

Info

Publication number
JPH07200352A
JPH07200352A JP5351795A JP35179593A JPH07200352A JP H07200352 A JPH07200352 A JP H07200352A JP 5351795 A JP5351795 A JP 5351795A JP 35179593 A JP35179593 A JP 35179593A JP H07200352 A JPH07200352 A JP H07200352A
Authority
JP
Japan
Prior art keywords
instruction
debug
debugging
data processor
program
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.)
Withdrawn
Application number
JP5351795A
Other languages
English (en)
Inventor
Shinya Kanda
真也 神田
Hiroyuki Sasaki
宏幸 佐々木
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5351795A priority Critical patent/JPH07200352A/ja
Publication of JPH07200352A publication Critical patent/JPH07200352A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】 高級言語で記述されたプログラムでのサブル
ーチンコールの際に引渡されるパラメータを、エミュレ
ータのリアルタイムトレース機能でトレース取得可能に
する。 【構成】 データプロセッサ1は通常の命令とは命令コ
ードのみ相違されるデバッグ用命令を加えた命令セット
を有する。例えばデバッグ用命令はサブルーチンへパラ
メータを引き渡すためのデータ転送命令とされる。デー
タプロセッサ1は、デバッグ用命令をデバッグ用命令解
析部11で解析し、対応する通常命令と同じ動作を行
う。デバッグ用命令を認識しその実行過程をトレースす
るエミュレータを利用することにより、上記パラメータ
などをトレース取得できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、高級言語で記述された
プログラムにおけるサブルーチンコールの際に引き渡さ
れるパラメータを検証可能にするための技術に係り、そ
れを実現するためのデータプロセッサ、コンパイラなど
によって実現されるプログラム翻訳方法、及びエミュレ
ータなどのデバッグツールに関するものである。本明細
書においてデータプロセッサは、CPU(セントラル・
プロセッシング・ユニット))、マイクロプロセッサ、
及び1チップマイクロコンピュータを包含する総称的な
概念として位置付けられるものである。
【0002】
【従来の技術】大型計算機では、プリンタあるいはコン
ソール等の情報出力装置が既に周辺機器として用意され
ているため、プログラムデバッグの際に必要な情報をこ
れらの情報出力装置に出力することが行われている。例
えば、高級言語で書かれたプログラムデバッグの手法と
しては、サブルーチンコールの際にパラメータ(関数の
引数など)を情報出力装置に出力することが行なわれて
おり、ソースファイルをコンパイルする際に、パラメー
タを情報出力装置へ出力する文を挿入する手法等が提案
されている。
【0003】一方、産業用機器や家庭電気製品などのよ
うにデータプロセッサ若しくはマイクロコンピュータを
制御回路として組込んだ組込み機器におけるプログラム
デバッグでは、組み込み機器上にデバッガやデバッグ用
の入出力装置等のデバッグ用環境を整えることが難し
い。そのためエミュレータが使用されている。エミュレ
ータは、デバッグ対象とされる組込み機器に実装される
マイクロコンピュータと同一の制御機能を少なくとも備
えたエミュレーション用マイクロコンピュータを有し、
このエミュレーション用マイクロコンピュータでデバッ
グ対象プログラムを実行しながら組込み機器を実際に代
行制御する。この代行制御の過程においてエミュレーシ
ョン用マイクロコンピュータから入出力されるデータや
アドレスなどの各種情報がトレースメモリに貯えられ、
所要のブレークポイント毎に上記トレースメモリの内容
を解析可能に提供してプログラムデバッグやシステムデ
バッグを支援する。したがって、このエミュレータを使
用することにより、メモリアクセスの来歴等をそのトレ
ース機能を介して取得することができる。例えば、メモ
リアドレス及びデータなどがバスサイクル単位でトレー
スメモリに貯えられ、このように貯えられた情報をアド
レスをキーとしてそれに対応するデータを参照すること
でメモリアクセスの来歴を判断できる。
【0004】このように、エミュレータにおいては組込
み機器を実際に動作させて得られるトレース情報を基に
デバッグを行う性質上、デバッグの動作には組込み機器
の動作に対してリアルタイム性が要求される。
【0005】尚、エミュレータについて記載された文献
例としては、昭和60年12月25日に株式会社オーム
社発行の「マイクロコンピュータハンドブック」第58
0頁〜第584頁がある。
【0006】
【発明が解決しようとする課題】近年、組み込み機器を
制御するハードウエアにマイクロコンピュータ、ソフト
ウエアにC言語などの高級言語を使用する例が増えてき
ており、そのような組込み機器に対するエミュレータの
トレース機能によるメモリアクセスの来歴取得は、予じ
めアドレスの判明している変数に対して可能であるが、
アドレスの変化する変数(サブルーチンコールの際のパ
ラメータおよびローカル変数等)に対しては不可能であ
る。何故ならば、C言語のような高級言語で書かれたプ
ログラム上でサブルーチンを呼びパラメータを渡す場
合、C言語ではスタック領域の変数を使用する。スタッ
クポインタの位置はサブルーチンの呼ばれ方で変化する
ため、あるサブルーチンに着目した場合、同一サブルー
チンの先頭でのスタックポインタの値(およびローカル
変数のアドレス)は常に一定であるとは限らないからで
ある。例えば、図9においてアドレス空間に割当てられ
たデータ領域において、グローバル変数領域は変数のア
ドレスが固定であるが、スタック及びローカル変数領域
は変数のアドレスがスタックポインタ相対で決定される
ため一定にはならない。図10の(A)、即ちプログラ
ムAがプログラムBを呼び、そのプログラムBの中で更
にプログラムCが呼ばれた場合と、同図の(B)、即ち
プログラムAが直接プログラムCを呼んでいる場合とを
比べると、夫々の場合のスタックポインタの値は図11
に示されるように相違される。
【0007】以上のように、C言語のような高級言語を
利用して生成されたプログラムを実行するデータプロセ
ッサを備えた組み込み機器に対するデバッグでは、高級
言語で書かれたプログラムでのサブルーチンコールの際
に引き渡されるパラメータを、エミュレータのリアルタ
イムトレース機能でトレース取得することは不可能であ
る。そうだからといって大型計算機システムでのデバッ
グの手法を組込み機器のデバッグに採用しようにもデバ
ッグ環境が整わず、組込み機器の動作に対してリアルタ
イム性が要求されるエミュレータ利用のデバッグではパ
ラメータを出力させる特別な文若しくは記述を挿入する
こともできない。
【0008】本発明の目的は、高級言語で記述されたプ
ログラムでのサブルーチンコールの際にひき渡されるパ
ラメータやローカル変数を、エミュレータなどのデバッ
グツールのリアルタイムなトレース機能で、トレース取
得可能にする技術を提供することにある。すなわち、そ
れを可能にするためのデータプロセッサ、コンパイラな
どによって実現されるプログラム翻訳方法、及びエミュ
レータなどのデバッグツールを提供するものである。
【0009】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0010】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0011】〔1〕デバッグの動作には組込み機器の動
作に対してリアルタイム性が要求されるというリアルタ
イム性を損なわない様にするために、デバッグ用命令を
採用する。すなわち、データプロセッサの命令セットに
デバッグ用命令を追加する。追加された命令は以下の特
徴を持つ。 (a)デバッグ用命令にはデバッグ用命令と対になる通
常の命令が存在する。 (b)対となる通常の命令とデバッグ用命令との相違
は、命令コードのみであり、命令語長、オペランドのサ
イズと配置、動作、命令実行サイクル数等は、両者の間
での相違はない。
【0012】〔2〕上記デバッグ用命令を生成するため
の手段としての観点を持つ発明は、、コンパイラ(及び
デバッガ)のようなプログラム翻訳方法に着目するもの
であり、以下の何れかの機能を持つ。 (2−a) デバッグ用命令を自動生成する発明は、コ
ンパイルのようなプログラム翻訳時に、その後のデバッ
グ時にデバッグを容易にするために、ソースプログラム
の記述における特定の箇所を認識し、その必要部分に通
常の命令のコードではなく、デバッグ用の命令コードを
生成する。例えば、サブルーチンコールの部分およびパ
ラメータ引き渡しのためのデータ転送命令の箇所を認識
し、当該部分のジャンプサブルーチン命令およびムーブ
命令をデバッグジャンプサブルーチン命令およびデバッ
グムーブ命令に置き換えて、コードを生成する。 (2−b) 上記デバッグ用命令に代わるデバッグ情報
を生成して対処する発明は、上記2−aでのデバッグ用
の命令コードの生成に代えて、当該位置を示す情報をデ
バッグ情報として生成する。例えば、サブルーチンコー
ルの部分およびパラメータ引き渡しのためのデータ転送
命令の箇所を認識し、当該部分のジャンプサブルーチン
命令およびムーブ命令の位置を示す情報をデバッグ情報
として生成する。上記2−aでコンパイラが行ってい
た、デバッグ用の命令コードの生成は、デバッグ用のソ
フトウエア(例えばエミュレータのソフトウエア)がデ
バッグ情報を参照して、通常の命令コードからデバッグ
用の命令コードへの置き換えによって行う。
【0013】〔3〕上記デバッグ用命令を命令セットと
して持つデータプロセッサのためのエミュレータのよう
なデバッグツールに着目した発明は、デバッグツールに
以下の機能を持たせる。 (3−a) 上記2−aのプログラム翻訳方法が採用さ
れる場合、トレース回路に、上記デバッグ用命令を認識
する機能を持たせ、デバッグに必要な部分のみの命令実
行結果をトレース取得する機能を持たせる。例えば、デ
バッグジャンプサブルーチン命令およびデバッグムーブ
命令を認識する機能を持たせ、当該サブルーチンコール
時にデバッグジャンプサブルーチン命令、デバッグムー
ブ命令、および必要な周辺の命令実行結果をトレース取
得する機能を持たせる。また、デバッグツールにはそれ
らトレース結果を編集し、表示する機能を持たせる。 (3−b) 上記2−bのプログラム翻訳方法が採用さ
れる場合、上記3−aの機能に加えて以下の機能をデバ
ッグツールに持たせる。即ち、上記デバッグ情報に基づ
いて必要な部分の命令をデバッグ用命令で置き換える機
能をデバッグツールに持たせる。例えば、サブルーチン
コール時のジャンプサブルーチン命令およびムーブ命令
を、デバッグジャンプサブルーチン命令およびデバッグ
ムーブ命令に置き換える機能を持たせる。
【0014】
【作用】
〔1〕データプロセッサの命令セットに上記デバッグ用
命令を追加することは、そのようなデータプロセッサを
使用した組み込み機器において、通常の命令のみで構成
されたプログラムとそのプログラムの一部をデバッグ用
命令で置き換えたプログラムとの間で、プログラムのサ
イズ、構成および動作の上での相違点がないということ
を保証する。このことは、対象機器を代行制御しながら
デバッグを支援するデバッグツールに要求されるリアル
タイム性を損なわないように作用する。さらにそのこと
は、プログラム実行時に通常の命令とデバッグ用の命令
をエミュレータのようなデバッグツールが容易に区別で
きるように作用する。これにより、上記デバッグ用命令
を認識してその実行過程をトレースする機能を有するデ
バッグツールを利用することによって、高級言語で記述
されたプログラムでのサブルーチンコールの際にひき渡
されるパラメータやローカル変数を、エミュレータのリ
アルタイムなトレース機能でトレース取得できるように
なり、そのようなパラメータやローカル変数に着目した
デバッグを可能にする。
【0015】〔2〕上記デバッグ用命令を自動生成する
プログラム翻訳方法は、命令セットに上記デバッグ用命
令を含むアーキテクチャーのデータプロセッサのための
機械語プログラムを簡単に生成する。上記デバッグ用命
令に代わるデバッグ情報を生成するプログラム翻訳方法
は、デバッグにのみ利用される情報によって機械語プロ
グラムのサイズが増大することを抑える。
【0016】〔3〕デバッグ用命令を認識する機能を持
ち、その命令の実行過程をトレースするデバッグツール
は、高級言語で記述されたプログラムでのサブルーチン
コールの際に引き渡されるパラメータやローカル変数を
そのトレース回路で取得して、そのようなパラメータや
ローカル変数に着目したデバッグを可能にする。デバッ
グ用命令を直接受けて動作されるデバッグツールは、コ
ンパイラなどが生成したデバッグ情報に基づいて必要な
部分の命令をデバッグ用命令で置き換える機能が付加さ
れたデバッグツールに比べ、その物理的な規模を小さく
する。後者のデバッグツールは、デバッグ用命令に割り
当てることができる未定義コードに余裕がない場合に
も、デバッグ用命令を利用して、パラメータやローカル
変数に着目したデバッグを可能にする。
【0017】
【実施例】本発明の実施例を〔1〕データプロセッサ、
〔2〕コンパイラ、及び〔3〕エミュレータの項目に従
って順次説明する。 〔1〕 データプロセッサ 〔1−a〕 デバッグ用命令 本実施例のデータプロセッサはその命令セットにデバッ
グ用命令を有する。デバッグ用命令は(1),(2)の
特徴を有する。 (1)デバッグ用命令にはこれと対になる通常の命令が
存在する。 (2)対となる通常の命令とデバッグ用命令との相違は
命令コードのみであり、命令語長、オペランドのサイズ
と配置、動作、命令実行サイクル数等は、両者の間で相
違はない。
【0018】デバッグ用命令として、デバッグデータ転
送命令(DBGMOV命令とも記す)及びデバッグジャ
ンプサブルーチン命令(DBGJSR命令とも記す)を
命令セットに追加する場合について説明する。
【0019】データプロセッサがデータ転送命令MOV
とジャンプサブルーチン命令JSRを持つ場合、それに
対応されるデバッグ用命令として、DBGMOV命令及
びDBGJSR命令を追加する。
【0020】DBGMOV命令は、データ転送命令MO
Vと同一の動作をする命令である。命令語長、オペラン
ドのサイズと配置は同一で、命令コード(およびそれに
対応する命令ニモニック)のみが異なることを特徴とす
る。両者は、データプロセッサの動作上は全く同一とな
る。MOV命令及びDBGMOV命令の命令ニモニック
と命令コード(機械語のコード)の一例は以下の通りで
ある。 (MOV命令) 命令ニモニック;MOV.W Rx,@(yy,
Rz) 命令コード ;1234xxxxxxxx (DBGMOV命令) 命令ニモニック;DBGMOV.W Rx,@(yy,
Rz) 命令コード ;1A34xxxxxxxx
【0021】DBGJSR命令は、ジャンプサブルーチ
ン命令JSRと同一の動作をする命令である。命令語
長、オペランドのサイズと配置は同一で、命令コード
(およびそれに対応する命令ニモニック)のみが異な
る。両者は、データプロセッサの動作上は全く同一とな
る。以下にはJSR命令及びDBGJSR命令の命令ニ
モニックと命令コード(機械語のコード)の一例が示さ
れる。 (JSR命令) 命令ニモニック;JSR @xxxxxx 命令コード ;5678xxxxxxxx (DBGJSR命令) 命令ニモニック;DBGJSR @xxxxxx 命令コード ;5E78xxxxxxxx
【0022】〔1−b〕 データプロセッサの構成 図1には上記デバッグ用命令が命令セットに追加された
データプロセッサ1の構成が命令解析部および命令実行
制御部に着目して示される。上記命令解析部10は、マ
イクロプログラムあるいはハードウエアで命令の解析を
行う回路部分であり、この部分にデバッグ用命令を解析
するためのプログラムあるいはハードウエアで構成され
たデバッグ用命令解析部11が追加されている。デバッ
グ用命令を実行する場合、命令実行制御部20はそのデ
バッグ用命令と対を成す通常の命令の実行と同じに動作
する。これに着目して同図の(A)に示されるデータプ
ロセッサ1はデバッグ用命令を実行可能であっても命令
実行制御部20には特別なハードウエアは追加されてい
ない。この命令実行制御部20は、算術論理演算器など
の演算回路や汎用レジスタ若しくは各種専用レジスタな
どを有する実行部、メモリ制御部、キャッシュメモリな
ど、命令解析部10,11で得られた制御信号に基づい
て命令を実行するための各種回路によって構成される。
本発明においてその様な一般的な回路の具体的構成は一
切制限されない。
【0023】また、詳細はエミュレータの項で述べる
が、エミュレータのハードウエア構成を簡便にするため
には、デバッグ用命令の実行と通常の命令の実行とを区
別するためのステータス信号などのステータス信号3の
出力機能をデータプロセッサ1に追加することが有効で
ある。これを考慮した図1の(B)に示されるデータプ
ロセッサ1は、命令実行制御部20のハードウエアに、
上記ステータス信号3の出力制御回路21が追加され
る。この出力制御回路21は、デバッグ用命令解析部1
1がデバッグ用命令のオペレーションコードを解析する
ことによって得られる信号に基づいて上記ステータス信
号3を第1の論理値として出力し、それ以外は第2の論
理値とする。
【0024】また、データプロセッサが命令コードをデ
コードしないビットの位置を規定した命令セットを作成
し、エミュレータがこのデコードしないビットによって
通常の命令とデバッグ用命令を区別する場合には、デー
タプロセッサの変更は不要である。
【0025】〔2〕 コンパイラ 上記データプロセッサ1に対応されるコンパイラについ
て説明する。 〔2−a〕 デバッグ用命令の生成 コンパイル時に、その後のデバッグ時にデバッグを容易
にするために、コンパイラが特定の箇所を認識し、その
必要部分に通常の命令のコードではなく、デバッグ用の
命令コードを生成する。例えば、コンパイル時にコンパ
イラがサブルーチンコールの部分およびパラメータ引き
渡しのためのデータ転送命令の箇所を認識し、当該部分
のJSR命令およびMOV命令をDBGJSR命令およ
びDBGMOV命令に置き換えて、コードを生成する。
例えば、C言語で記述されたプログラムの中に、 /* SUBROUTINE CALL*/ sbrtn(a); という記述が合った場合、上記デバッグ用命令を考慮し
ないコンパイラは通常 xx xx MOV.W Rx,@(yy,Rz) xx JSR _sbrtn xx xx というコードを生成する。これに対して上記デバッグ用
命令を考慮する本実施例におけるコンパイラは、サブル
ーチンコールを認識すると(C言語でのサブルーチンコ
ールは文字列とそれに続く()および;で示されるので
容易に認識できる)、当該部分に対し、 xx xx DBGMOV.W Rx,@(yy,Rz) xx DBGJSR _sbrtn xx xx というコードを生成する。上記説明では、便宜上、生成
されるコードの代わりにニモニックを使用したが、最終
的に生成されるコードは、機械語の数値コードであるこ
とは言うまでもない。また、コードの生成をコンパイラ
が行うと書いたが、クロスソフトウエアシステムの構成
によっては、アセンブラ、リンカ等と組み合わせてコー
ドを生成する場合があることも言うまでもない。尚、上
記xxは適宜のコードを意味するものと理解されたい。
コンパイラは、エンジニアリングワークステーションな
どのデータ処理システムに適用されて実現される。
【0026】図2には本実施例のコンパイラによる処理
手順の一例が示される。コンパイラは、C言語のような
高級言語で記述されたソースファイルの記述に対して記
述行毎にどの命令に対応するかを順次判定していき、対
応する命令があった場合、その命令に対応する機械語の
コードを生成する。例えば、データプロセッサ1の命令
セットに含まれるxxの命令とyyの命令に対するコン
パイルに着目すると、図2に示されるように、ソースフ
ァイルの現在の処理対象記述行に対してxxの命令に対
応するソース記述か否かの判定ステップS1とyyの命
令に対応するソース記述か否かの判定ステップS3が存
在する。本実施例のコンパイラは上記デバッグ用命令を
コンパイルする機能が追加され、例えば上記DBGMO
V命令に対応するソース記述かを判定するステップS2
が追加されている。ソース記述に対応する命令が存在す
る場合には(上記ステップS1,S2,S3の何れかに
おいてYESと判定されたとき)その命令に対応する機
械語のコードが生成される(ステップS10,S20,
S30)。ソース記述に対応する命令が存在して機械語
コードに翻訳されると、次の命令の処理、即ちソースフ
ァイルの次の記述に対する処理に移行される。このよう
な処理がソースファイルの全ての記述行に対して行われ
る。図2においてデバッグ用命令に対応する処理はステ
ップS2とS20が代表的に示されているが、DBGJ
SR命令のようなその他のデバッグ用命令に対する処理
は、ステップS1の前に存在することになる同様の多数
の処理ステップ或はステップS3の後に存在することに
なる同様の多数の処理ステップに含まれるものと理解さ
れたい。
【0027】〔2−b〕 デバッグ用命令の生成に代わ
るデバッグ情報の生成 上述のコンパイラはデバッグ用命令を直接生成するもの
であるが、別の実施例に係るコンパイラは、コンパイラ
が特定の箇所を認識し、その必要部分の位置を示す情報
をデバッグ情報として生成する。デバッグ情報は、デバ
ッグ時にデバッグを容易にするための情報として利用さ
れ、特に制限されないが、データプロセッサが実行すべ
き機械語命令コードとは物理的に切り離された存在とさ
れる。例えば、コンパイル時にコンパイラがサブルーチ
ンコールの部分およびパラメータ引き渡しのためのデー
タ転送命令の箇所を認識し、当該部分のJSR命令およ
びMOV命令の位置を示す情報をデバッグ情報として生
成する。このようなデバッグ情報は、後述するエミュレ
ータの項でも説明するが、エミュレータのソフトウエア
に参照され、そのようなソフトウェアによって上記実施
例のコンパイラが行っていたDBGJSR命令及びDB
GMOV命令への置き換えが行われる。デバッグ情報フ
ァイルの内容としては、例えば、デバッグ用命令のアド
レスを順に記録したものがあれば、命令の置き換えは簡
単である。
【0028】〔3〕 エミュレータ 上記実施例のデータプロセッサ1を搭載した組込み機器
のシステムデバッグ若しくはプログラムデバッグに利用
されるデバッグツールとしてのエミュレータの実施例に
ついて説明する。
【0029】図3にはデバッグツールの全体を示すブロ
ック図が示される。同図に示されるエミュレータ4は、
親計算機のようなホストシステム5と、デバッグ対象と
される組込み機器としてのマイクロコンピュータシステ
ム(ターゲットシステムとも記す)6との間に接続さ
れ、そのターゲットシステム6を本来制御すべきターゲ
ットマイクロコンピュータの機能を代行する一方でデバ
ッガとしての機能を持ち、詳細なシステム評価やプログ
ラムデバッグを支援する。ホストシステム5とエミュレ
ータ4とは例えばシリアル回線7よって結合される。タ
ーゲットシステム6とエミュレータ4はインタフェース
ケーブル8によって接続される。すなわち、インタフェ
ースケーブル8の先端が、ターゲットシステム6のター
ゲットマイクロコンピュータ用ソケット61に結合され
ることにより、エミュレータ4がターゲットシステム6
を代行制御する。上記エミュレータ4及びホストシステ
ム5がデバッグツールを構成する。
【0030】上記エミュレータ4は、特に制限されない
が、ターゲットシステム6を本来制御すべきターゲット
マイクロコンピュータの機能を代行するためのエミュレ
ーション用データプロセッサ40と、エミュレーション
のための条件設定などエミュレータ全体の制御を司るた
めのコントロール用データプロセッサ41を備える。エ
ミュレーション用データプロセッサ40は、エミュレー
ションバス42に結合され、コントロール用データプロ
セッサ41はコントロールバス43に結合され、双方の
バス42,43には、エミュレーション制御回路44、
ブレーク制御回路45、トレース回路46、代行メモリ
回路47が夫々接続される。エミュレーション用データ
プロセッサ40は、ターゲットシステム6のために開発
され若しくは開発途上のターゲットプログラムを実行し
てターゲットシステム6を代行制御する途上において、
ターゲットシステム6との間でやりとりされるアドレス
並びにデータなどの各種バス情報や制御信号などはエミ
ュレーションバス42にも与えられる。このようにして
与えられた情報は、例えばエミュレーション用データプ
ロセッサ40のバスサイクルに従ってトレース回路46
にトレースされる。また、エミュレーションバス42の
状態をブレーク制御回路45が監視して、予め設定され
ている状態に到達したときにエミュレーション動作を停
止させる。上記代行メモリ回路47は、ターゲットシス
テム6に未だ用意されていないメモリを補うための記憶
領域や、ターゲットプログラムの格納領域として利用さ
れる。ブレーク制御回路45に対するブレーク条件の設
定や、トレース回路46に対するトレース開始アドレス
の設定などの各種条件設定や初期設定はコントロールバ
ス43を介してコントロール用データプロセッサ41が
行う。上記ブレーク制御回路45によってエミュレーシ
ョン動作が停止されている状態において、トレース回路
46が保有するトレース情報は、コントロール用データ
プロセッサ41に読出されてホストインタフェース48
を通じホストシステム5に転送される。ホストシステム
5は転送されたトレース情報を表示したりその解析を行
ったりしてデバッグを支援する。
【0031】図4には上記トレース回路46の一例が示
される。同図に示されるトレース回路46は、アドレ
ス、データ、その他のデータプロセッサ情報(例えばス
テータス情報やアクセス制御信号)に基づいてトレース
メモリへの書き込みを制御するトレース条件判定回路4
60と、その制御に基づいて所要に情報を格納するトレ
ースメモリ461を備える。このトレース回路46はデ
ータプロセッサによる命令プリフェッチを考慮してデー
タプロセッサの動作を解析するため、PC追跡回路46
2及び命令解析回路463を備える。アドレス、デー
タ、その他のデータプロセッサ情報は、エミュレーショ
ン用バス42の情報であり、基本的にはインタフェース
ケーブル8を介してエミュレーション用データプロセッ
サ40とターゲットシステム6とがやり取りする情報と
等価な情報である。
【0032】上記命令解析回路463はデータプロセッ
サ40がデバッグ用命令をフェッチしたか否かを解析す
る。上記命令解析回路463は命令フェッチを示すデー
タプロセッサ40のステータス情報及び命令コードから
デバッグ用命令を認識できる。図1の(B)で説明した
ようにデータプロセッサがデバッグ用命令と通常命令と
を識別可能にするステータス信号3を出力する場合には
そのステータス信号を以ってデバッグ用命令のフェッチ
を認識すればよい。デバッグ用命令を認識すると、命令
解析回路463はエミュレーションバス42上のデバッ
グ用命令をトレースメモリ461に書込み制御する。プ
リフェッチされた命令が実行されるか否かは、PC追跡
回路462が監視する。例えばその制御には、プリフェ
ッチした命令をデコード回路に供給したことを示すステ
ータス信号やプリフェッチした分岐先の命令を実行しな
いことを示すステータス信号をデータプロセッサ40か
ら受け取って判定する。例えば、PC追跡回路462
は、プリフェッチされたデバッグ用命令が実行されると
き、それによって起動されるバスサイクルなどで転送さ
れるパラメータなどをトレースメモリ461に記憶させ
るためにトレースメモリ461に対する書込み制御を行
う。このように、トレース回路46は、デバッグ用の命
令のフェッチサイクルそしてその実行サイクルをトレー
ス取得できる機能を有する。
【0033】コンパイラがデバッグ情報を生成する場合
において、エミュレータを含むデバッグツールは、コン
パイラが生成したデバッグ情報に基づいて必要な部分の
命令をデバッグ用命令で置き換える機能を必要とする。
この機能は、エミュレータで検証すべきプログラムをホ
ストシステム5がダウンロードするときに当該ホストシ
ステム5で実現できる。或は、エミュレータ4のコント
ロールプロセッサ41で行うようにしてもよい。
【0034】図5には、データプロセッサが上記DBG
MOV命令を実行した際の、トレース取得の様子を示す
タイミングチャートの一例が示される。ここでは、DB
GMOV命令の実行により、cccc番地へのデータd
dddの書き込みが行われる場合を概略的に説明する。
まず、データプロセッサ1,40はaaaa番地から始
まるDBGMOV命令(命令コードの第1オペレーショ
ンコード=1a34、第2オペレーションコード=xx
xx)をフェッチする。エミュレータの命令解析回路4
63はDBGMOV命令のフェッチであることを認識
し、トレースメモリ461に対して、フェッチされるべ
き命令の書き込みを指示する。命令解析回路463はこ
れに入力されるデータバス上の情報が命令情報であるの
かそれ以外のデータ情報であるかの識別を、データプロ
セッサが出力するステータス信号の一種であるLIR信
号に基づいて判定する。LIR信号はそのローレベルに
よってデータプロセッサが命令の先頭をフェッチしてい
ることを示す信号である。次にPC追跡回路462が、
この命令の実行を確認すると、トレースメモリ461に
対して、データの転送サイクル(cccc番地へのデー
タddddの書込み)のデータ取得を指示する。命令プ
リフェッチを行うデータプロセッサの場合、プリフェッ
チされた命令は実行されないことがある。PC追跡回路
462は、プリフェッチされた命令が実際に実行された
か否かをLID信号によって識別する。LID信号は、
データプロセッサがプリフェッチした命令を命令デコー
ダへ転送したことを示す信号である。
【0035】データプロセッサ40がデバッグ用の命令
を実行したことを示すステータス信号を出力し、或はデ
バッグ用命令をフェッチしたことを示すステータス信号
及びフェッチしたデバッグ用命令を実行したことを示す
ステータス信号を出力する場合には、エミュレータの命
令解析回路463およびPC追跡回路462は不要とな
り、ステータス信号の解析回路を代わりに置くこととな
る。この場合、データプロセッサの複雑な命令コードお
よび動作の解析が不要となるため、エミュレータの物理
的な回路規模を小さくできる。上記夫々のステータス信
号は図1で説明したステータス信号3の一例とされる。
【0036】トレース取得終了後に、エミュレータ若し
くはホストシステムは、トレースメモリの内容を解析
し、表示する。図5のDBGMOV命令の実行結果を例
に取ると、トレースメモリの内容は図6の(A)に示さ
れる様になる。図6の(A)の内容を整理して表示する
と、図6の(B)に示される通りとされる。また、トレ
ース取得の例では説明しなかったが、これを更にDBG
JSR命令と組み合わせて表示すると、図6の(C)の
ようになる。これを高級言語記述での表示とすれば、図
6の(D)に示されるようになる。
【0037】コンパイラが、デバッグ用命令ではなく、
デバッグ用命令の位置をデバッグ情報として生成した場
合のエミュレータの動作は、以下の通りとなる。まず、
プログラムおよびデバッグ情報をダウンロードする。次
に、デバッグ情報で指示されたアドレスの命令(必要が
あればユーザがエミュレータコマンドで指示したアドレ
ス情報を加味して)をデバッグ用命令のコードに置き換
える。次に、プログラムを実行し、トレースを取得し、
その後表示する。この部分の動作は、前に説明した通り
である。さらに必要があれば、ユーザが別なアドレス情
報をエミュレータコマンドで指示し、再度命令の置き換
え、プログラムの実行、トレースの取得を行うことにな
る。
【0038】次に、データプロセッサ40がプリフェッ
チを行う場合のトレース取得のタイミングを図7及び図
8を参照しながら更に詳述する。ここでは、プリフェッ
チキューは1段とし、条件分岐命令に続く命令のプリフ
ェッチの際には、条件分岐命令の次のアドレスの命令及
び分岐先の命令の両者が、この順でプリフェッチされる
ものとする。尚、この例では、条件分岐命令(Bcc、
この例ではBEQ命令)の次にDBGMOV命令が続
き、これが実行される場合には、cccc番地へのデー
タddddの書き込み(例えばパラメータの転送)が行
われるものとする。すなわち、図7の(A)に示される
命令記述に着目する。このとき、データプロセッサ40
はステータス信号としてLIR信号、LID信号、及び
BCB信号を出力し、エミュレータ4は当該信号LI
R,LID,BCBを基に、プリフェッチされた命令の
実行を監視する。LIR信号は、データプロセッサ40
が命令の先頭をフェッチしていることを示す信号であ
る。データ転送サイクルでは出力されない。エミュレー
タは、これに入力されるデータバス上の情報が命令情報
であるのかそれ以外のデータ情報であるかの識別にLI
R信号を利用する。LID信号は、データプロセッサ4
0がプリフェッチした命令を命令デコーダ(図1の命令
解析部10及びデバッグ用命令解析部11に含まれる)
へ転送したことを示す信号である。命令プリフェッチを
行うデータプロセッサ40の場合、プリフェッチされた
命令が実行されないことがある。エミュレータ4は、プ
リフェッチされた命令が実際に実行されたか否かをLI
D信号及びBCB信号によって識別する。BCB信号
は、データプロセッサ40がプリフェッチした条件分岐
命令などの分岐先の命令を実行しないことを示す信号で
ある。
【0039】図7には上記条件の下でBEQ命令におけ
る分岐先命令(zzzz番地の命令)が実行されない場
合のタイミングチャートが示される。まず、データプロ
セッサはBEQ命令をプリフェッチした後、aaaa番
地から始まるDBGMOV命令をプリフェッチする。エ
ミュレータ4の命令解析回路463はDBGMOV命令
のプリフェッチであることをLIR信号を用いて認識す
る。この時、トレースメモリ461に対して、トレース
取得(データ及びアドレスなどの情報書き込み)を指示
する。次に、BEQ命令の飛び先であるzzzz番地の
プリフェッチを開始するが、この時BCB信号がローレ
ベルにされて分岐先の命令実行を無効とする場合、すな
わちBEQ命令における条件不成立によってブランチし
ない場合、DBGMOV命令が実行されることになり、
PC追跡回路462がBCB信号およびLID信号によ
りDBGMOV命令の実行を確認した上でトレースメモ
リ461に対して、データの転送サイクル(cccc番
地へのデータddddの書き込み)のトレース取得を指
示する。
【0040】図8には上記条件の下でBEQ命令におけ
る分岐先命令(zzzz番地の命令)が実行される場合
のタイミングチャートが示される。BCB信号が無効
(ブランチする、従ってDBGMOV命令は実行されな
い)の場合には、PC追跡回路462は、トレースメモ
リ461へのDBGMOV命令のプリフェッチのデータ
取得のキャンセルを指示する。これによって、トレース
メモリ461の次に書込み可能なカレントアドレスはD
BGMOV命令のプリフェッチのトレース取得前に戻さ
れ、次回の書き込み時にオーバーライトされることによ
り、今回の書き込みを無効とすることができる。
【0041】上記実施例によれば以下の作用効果があ
る。 〔1〕データプロセッサ1,40の命令セットに上記デ
バッグ用命令を追加することは、そのようなデータプロ
セッサを使用した組み込み機器において、通常の命令の
みで構成されたプログラムとそのプログラムの一部をデ
バッグ用命令で置き換えたプログラムとの間で、プログ
ラムのサイズ、構成および動作の上での相違点がないと
いうことを保証できる。このことは、対象機器を代行制
御しながらデバッグを支援するエミュレータ4に要求さ
れるリアルタイム性を損なわないように作用する。さら
にそのことは、プログラム実行時に通常の命令とデバッ
グ用の命令をエミュレータ4が容易に区別できるように
作用する。これにより、上記デバッグ用命令を認識して
その実行過程をトレースする機能を有するエミュレータ
4を利用することによって、高級言語で記述されたプロ
グラムでのサブルーチンコールの際にひき渡されるパラ
メータやローカル変数を、エミュレータ4のリアルタイ
ムなトレース機能でトレース取得できるようになり、そ
のようなパラメータやローカル変数に着目したデバッグ
が可能になる。
【0042】〔2〕上記デバッグ用命令を自動生成する
コンパイラは、命令セットに上記デバッグ用命令を含む
アーキテクチャーのデータプロセッサのための機械語プ
ログラムを簡単に生成できる。上記デバッグ用命令に代
わるデバッグ情報を生成するコンパイラは、デバッグに
のみ利用される情報によって機械語プログラムのサイズ
が増大することを抑えることができる。
【0043】〔3〕デバッグ用命令を認識する機能を持
ち、その命令の実行過程をトレースするエミュレータ4
は、高級言語で記述されたプログラムでのサブルーチン
コールの際に引き渡されるパラメータやローカル変数を
そのトレース回路で取得して、そのようなパラメータや
ローカル変数に着目したデバッグを可能にする。デバッ
グ用命令を直接受けて動作されるエミュレータは、コン
パイラなどが生成したデバッグ情報に基づいて必要な部
分の命令をデバッグ用命令で置き換える機能が付加され
たエミュレータに比べ、その物理的な規模を小さくでき
る。後者のデバッグツールは、デバッグ用命令に割り当
てることができる未定義コードに余裕がない場合にも、
デバッグ用命令を利用して、パラメータやローカル変数
に着目したデバッグが可能になる。
【0044】〔4〕デバッグ用命令の実行と通常の命令
の実行とを区別するためのステータス信号、さらにはデ
ータプロセッサ40がデバッグ用の命令を実行したこと
を示すステータス信号、或はデバッグ用命令をフェッチ
したことを示すステータス信号及びフェッチしたデバッ
グ用命令を実行したことを示すステータス信号などのス
テータス信号3を出力する機能をデータプロセッサ1、
40が有することにより、エミュレータの物理的な回路
規模を小さくできる。
【0045】以上本発明者によってなされた発明を実施
例に基づいて具体的に説明したが、本発明はそれに限定
されるものではなく、その要旨を逸脱しない範囲におい
て種々変更可能であることは言うまでもない。例えば、
エミュレータの全体的な構成は図3に限定されず、コン
トロールプロセッサを用いないものなど適宜変更可能で
ある。また、デバッグ用命令の種類も上記実施例に限定
されず、パラメータやローカル変数などに着目したデバ
ッグのために必要な命令に対応して設定することができ
る。また、データプロセッサが出力するステータス信号
LIR、LID、BCBの意義は、図7及び図8で説明
した内容とは逆であってもよい。すなわち、命令の先頭
をフェッチしていないことを示す第一の信号、プリフェ
ッチした命令を命令デコーダへ転送しないことを示す第
二の信号、プリフェッチした分岐先の命令を実行するこ
とを示す第三の信号として定義されてもよい。或いはそ
の他の定義を与えてもよい。
【0046】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0047】〔1〕データプロセッサの命令セットに上
記デバッグ用命令を追加することにより、上記デバッグ
用命令を認識してその実行過程をトレースする機能を有
するデバッグツールを利用することによって、高級言語
で記述されたプログラムでのサブルーチンコールの際に
ひき渡されるパラメータやローカル変数を、エミュレー
タのようなデバッグツールのリアルタイムなトレース機
能でトレース取得できるようになり、そのようなパラメ
ータやローカル変数に着目したデバッグが可能になる。
【0048】〔2〕上記デバッグ用命令を自動生成する
プログラム翻訳方法は、命令セットに上記デバッグ用命
令を含むアーキテクチャーのデータプロセッサのための
機械語プログラムを簡単に生成を実現する。上記デバッ
グ用命令に代わるデバッグ情報を生成するプログラム翻
訳方法は、デバッグにのみ利用される情報によって機械
語プログラムのサイズが増大することを抑える。
【0049】〔3〕デバッグ用命令を認識する機能を持
ち、その命令の実行過程をトレースするデバッグツール
は、高級言語で記述されたプログラムでのサブルーチン
コールの際に引き渡されるパラメータやローカル変数を
そのトレース回路で取得して、そのようなパラメータや
ローカル変数に着目したデバッグを可能にできる。デバ
ッグ用命令を直接受けて動作されるデバッグツールは、
コンパイラなどが生成したデバッグ情報に基づいて必要
な部分の命令をデバッグ用命令で置き換える機能が付加
されたデバッグツールに比べ、その物理的な規模を小さ
くできる。後者のデバッグツールは、デバッグ用命令に
割り当てることができる未定義コードに余裕がない場合
にも、デバッグ用命令を利用して、パラメータやローカ
ル変数に着目したデバッグを可能にする。
【0050】〔4〕デバッグ用命令の実行と通常の命令
の実行とを区別するためのステータス信号、さらにはデ
ータプロセッサがデバッグ用の命令を実行したことを示
すステータス信号、或はデバッグ用命令をフェッチした
ことを示すステータス信号及びフェッチしたデバッグ用
命令を実行したことを示すステータス信号などのステー
タス信号を出力する機能をデータプロセッサが有するこ
とにより、エミュレータの物理的な回路規模を小さくで
きる。
【図面の簡単な説明】
【図1】本発明の一実施例に係るデータプロセッサのブ
ロック図である。
【図2】本実施例の一時司令に係るコンパイラによる処
理手順の一例フローチャートである。
【図3】本発明の一実施例に係るエミュレータの全体を
示すブロック図である。
【図4】エミュレータに含まれるトレース回路の一例ブ
ロック図である。
【図5】データプロセッサがDBGMOV命令を実行し
た際のトレース取得の様子を示す一例タイミングチャー
トである。
【図6】図5のDBGMOV命令の実行結果によってト
レースメモリに得られる内容並びにそれに基づく表示内
容の一例説明図である。
【図7】BEQ命令における分岐先命令が実行されない
場合を例としてデータプロセッサがプリフェッチを行う
場合のトレース取得のタイミングを詳細に示すタイミン
グチャートである。
【図8】図7のBEQ命令における分岐先命令が実行さ
れる場合のタイミングチャートである。
【図9】C言語のような高級言語で書かれたプログラム
に基づいて割当てられるアドレスマップの一例説明図で
ある。
【図10】サブルーチンのような同一プログラムであっ
てもその呼ばれ方が相違されることを示す説明図であ
る。
【図11】同一プログラムであってもその呼ばれ方が異
なると変数のアドレスが一定にならないことを示す説明
図である。
【符号の説明】
1 データプロセッサ 10 命令解析部 11 デバッグ用命令解析部 20 命令実行制御部 21 出力制御回路 3 ステータス信号 4 エミュレータ 40 エミュレーション用データプロセッサ 46 トレース回路 460 トレース条件判定回路 461 トレースメモリ 462 PC追跡回路 463 命令解析回路 5 ホストシステム 6 ターゲットシステム

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 フェッチした命令を解析する命令解析部
    と、命令の解析結果に従って命令を実行するための命令
    実行制御部とを備えたデータプロセッサにおいて、 上記命令解析部で解析対象とされる命令セットに含まれ
    る所定の命令に対して命令コードが相違されたデバッグ
    用命令を解析するためのデバッグ用命令解析部を設け、 上記デバッグ用命令解析部は、デバッグ用命令と対を成
    す上記所定の命令に対する命令解析部での解析結果と同
    一の解析結果を少なくとも得るものであることを特徴と
    するデータプロセッサ。
  2. 【請求項2】 上記デバッグ用命令は、それと対を成す
    上記所定の命令に対し、命令語長、オペランドのサイズ
    と配置、命令実行サイクル数が等しくされるものである
    ことを特徴とする請求項1記載のデータプロセッサ。
  3. 【請求項3】 上記デバッグ用命令解析部の解析結果を
    受けて、データプロセッサがデバッグ用の命令を実行し
    たことを示すステータス信号、又はデバッグ用命令をフ
    ェッチしたことを示すステータス信号及びフェッチした
    デバッグ用命令を実行したことを示すステータス信号を
    出力する出力制御回路を備えて成るものであることを特
    徴とする請求項1又は2記載のデータプロセッサ。
  4. 【請求項4】 高級言語で記述されたソースプログラム
    から請求項1乃至3の何れか1項記載のデータプロセッ
    サのための機械語のプログラムを生成するプログラム翻
    訳方法であって、 ソースプログラムの記述におけるサブルーチンコール及
    びそれに伴うパラメータ引渡の箇所に対し、上記デバッ
    グ用命令の命令コードを生成するステップを含むことを
    特徴とするプログラム翻訳方法。
  5. 【請求項5】 上記デバッグ用命令は、当該部分のジャ
    ンプサブルーチン命令に対して命令コードのみ相違され
    るデバッグジャンプサブルーチン命令と、当該部分のム
    ーブ命令に対して命令コードのみ相違されるデバッグム
    ーブ命令を含むものであることを特徴とする請求項4記
    載のプログラム翻訳方法。
  6. 【請求項6】 高級言語で記述されたソースプログラム
    から請求項1乃至3の何れか1項記載のデータプロセッ
    サのための機械語のプログラムを生成するプログラム翻
    訳方法であって、 ソースプログラムの記述におけるサブルーチンコール及
    びそれに伴うパラメータ引渡の箇所に対し、その位置を
    示すためのデバッグ情報を生成するステップを含むこと
    を特徴とするプログラム翻訳方法。
  7. 【請求項7】 請求項4記載のプログラム翻訳方法で生
    成された機械語プログラムのデバッグを行うためのデバ
    ッグツールであって、 デバッグツールによる対象機器に対する制御情報をトレ
    ースメモリに貯えるトレース回路に、上記デバッグ用命
    令を認識してその実行過程をトレースメモリに格納させ
    るデバッグ用命令制御回路を設けて成るものであること
    を特徴とするデバッグツール。
  8. 【請求項8】 請求項6記載のプログラム翻訳方法で生
    成された機械語プログラムのデバッグを行うためのデバ
    ッグツールであって、 上記プログラム翻訳方法で生成されたデバッグ情報に基
    づいて必要な部分の命令をデバッグ用命令で置き換える
    回路を備え、 デバッグツールによる対象機器に対する制御情報をトレ
    ースメモリに貯えるトレース回路に、上記デバッグ用命
    令を認識してその実行過程をトレースメモリに格納させ
    るデバッグ用命令制御回路を設けて成るものであること
    を特徴とするデバッグツール。
  9. 【請求項9】 上記デバッグ用命令制御回路は、命令の
    先頭をフェッチしているか否かを示す第1の信号と、プ
    リフェッチした命令を命令デコーダへ転送したか否かを
    示す第2の信号と、プリフェッチした分岐先の命令を実
    行するか否かを示す第3の信号とをデータプロセッサの
    ステータス信号として受け、これに入力されるデータバ
    ス上の情報が命令情報であるか否かの識別を上記第1の
    信号によって行い、プリフェッチされた命令が実行され
    たか否かを上記第2の信号によって識別し、プリフェッ
    チした分岐先の命令が実行されたか否かを第3の信号で
    判定して、プリフェッチされたデバッグ用命令の実行過
    程をトレースメモリに格納させるものであることを特徴
    とする請求項7又は8記載のデバッグツール。
JP5351795A 1993-12-28 1993-12-28 データプロセッサ、プログラム翻訳方法、及びデバッグツール Withdrawn JPH07200352A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5351795A JPH07200352A (ja) 1993-12-28 1993-12-28 データプロセッサ、プログラム翻訳方法、及びデバッグツール

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5351795A JPH07200352A (ja) 1993-12-28 1993-12-28 データプロセッサ、プログラム翻訳方法、及びデバッグツール

Publications (1)

Publication Number Publication Date
JPH07200352A true JPH07200352A (ja) 1995-08-04

Family

ID=18419662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5351795A Withdrawn JPH07200352A (ja) 1993-12-28 1993-12-28 データプロセッサ、プログラム翻訳方法、及びデバッグツール

Country Status (1)

Country Link
JP (1) JPH07200352A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006331201A (ja) * 2005-05-27 2006-12-07 Matsushita Electric Ind Co Ltd 命令実行装置、デバッグ方法、デバッグ装置及びデバッグプログラム
JP2009157874A (ja) * 2007-12-28 2009-07-16 Nec Electronics Corp 情報処理装置、及びソフトウェアのデバッグ方法
JP2021108129A (ja) * 2017-03-29 2021-07-29 グーグル エルエルシーGoogle LLC 分散ハードウェアトレーシング
US11921611B2 (en) 2017-03-29 2024-03-05 Google Llc Synchronous hardware event collection

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006331201A (ja) * 2005-05-27 2006-12-07 Matsushita Electric Ind Co Ltd 命令実行装置、デバッグ方法、デバッグ装置及びデバッグプログラム
JP4718901B2 (ja) * 2005-05-27 2011-07-06 パナソニック株式会社 命令実行装置、デバッグ方法、デバッグ装置及びデバッグプログラム
JP2009157874A (ja) * 2007-12-28 2009-07-16 Nec Electronics Corp 情報処理装置、及びソフトウェアのデバッグ方法
JP2021108129A (ja) * 2017-03-29 2021-07-29 グーグル エルエルシーGoogle LLC 分散ハードウェアトレーシング
US11650895B2 (en) 2017-03-29 2023-05-16 Google Llc Distributed hardware tracing
US11921611B2 (en) 2017-03-29 2024-03-05 Google Llc Synchronous hardware event collection

Similar Documents

Publication Publication Date Title
US9152531B2 (en) Post-compile instrumentation of object code for generating execution trace data
EP0753814B1 (en) Determining dynamic properties of programs
US6286132B1 (en) Debugging support apparatus, a parallel execution information generation device, a computer-readable recording medium storing a debugging support program, and a computer-readable recording medium storing a parallel execution information generation program
US7266809B2 (en) Software debugger and software development support system for microcomputer operable to execute conditional execution instruction
EP1130518B1 (en) Software analysis system having an apparatus for selectively collecting analysis data from a target system executing software instrumented with tag statements and method for use thereof
US20120317551A1 (en) Post-compile instrumentation of object code for generating execution trace data
US6141791A (en) Debug aid device, program compiler device, storage medium storing computer-readable debugger program, and storage medium storing program compiler program
JP3612294B2 (ja) デバッグ方法およびデバッグ装置
JP2004062858A (ja) データ処理装置内のアプリケーション・コードのコンパイル
EP0530350A1 (en) Improved system and method for jacketing cross-domain calls in a multi-code execution and debugging system within a multi-architecture environment
JP2013058217A (ja) プロセッサ命令セット動作モードを比較するデバッグ回路
WO2004003730A1 (en) Automatic configuration of a microprocessor
US20070234307A1 (en) Methods and apparatus to inline conditional software instrumentation
CA2194020C (en) Minimizing debug information for global types in compiled languages
JP4718901B2 (ja) 命令実行装置、デバッグ方法、デバッグ装置及びデバッグプログラム
CA2194021A1 (en) Binary class library with debugging support
JPH07200352A (ja) データプロセッサ、プログラム翻訳方法、及びデバッグツール
US20030070117A1 (en) Simulation apparatus and simulation method
KR0177742B1 (ko) 마이크로 콘트롤러의 칩내에 합체 가능한 마이크로 콘트롤러 디벨롭먼트 시스템
JP3745968B2 (ja) 試験システム及び試験方法及び試験プログラム及び試験プログラムを記録した計算機で読み取り可能な記録媒体
JPH096647A (ja) 逆実行デバッグシステム
JP3716635B2 (ja) 情報処理装置、及びその割込み制御方法
JPH06103109A (ja) データプロセッサ、及びこれを用いるデバッグ装置
Studio Getting Started Guide
JPH07281924A (ja) トレース装置及びこれを備えたエミュレータ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010306