JP2001034504A - ソースレベルデバッガ - Google Patents

ソースレベルデバッガ

Info

Publication number
JP2001034504A
JP2001034504A JP11205178A JP20517899A JP2001034504A JP 2001034504 A JP2001034504 A JP 2001034504A JP 11205178 A JP11205178 A JP 11205178A JP 20517899 A JP20517899 A JP 20517899A JP 2001034504 A JP2001034504 A JP 2001034504A
Authority
JP
Japan
Prior art keywords
data
source
pipeline
instruction
memory
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
JP11205178A
Other languages
English (en)
Inventor
Katsuya Mizumoto
勝也 水本
Ryosuke Okuda
亮輔 奥田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP11205178A priority Critical patent/JP2001034504A/ja
Priority to US09/453,964 priority patent/US6550056B1/en
Publication of JP2001034504A publication Critical patent/JP2001034504A/ja
Pending 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)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 プログラムを一時停止又は終了した際に、パ
イプラインに残ったデータを表示できない等パイプライ
ンの内部状態を表示できないという課題があった。 【解決手段】 未処理命令解析部11は、パイプライン
に残ったデータが書き込まれるべきメモリ及び/又はレ
ジスタ、並びに変数を特定し、ユーザインタフェース部
12は、特定されたメモリ及び/又はレジスタ、並びに
変数の現在のデータを他のデータと区別して所定の形式
で表示する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、パイプライン処
理方式を採用したコンピュータ用のソースプログラムを
デバッグするためのソースレベルデバッガに関するもの
である。
【0002】
【従来の技術】図24は従来のソースレベルデバッガの
動作を示すタイミングチャートである。ソースレベルデ
バッガを用いたシステムデバッグでは、ストップ、ステ
ップ、ブレークポイント等でソースプログラムの実行を
一時停止し、一時停止がかかった命令終了後のメモリ、
レジスタ、変数等の内容を表示する。図24に示すよう
に例えばブレークポイントを「ld24 r5、200
0」(ロード命令:メモリの2000番地の内容をレジ
スタR5にロードする)に設定した場合、ソースレベル
デバッガは、クロックサイクルCC5でプログラムの実
行を停止する。この結果、sub命令の書き込みステー
ジ、ld24命令のメモリアクセス及び書き込みステー
ジは未処理となり、メモリ2000番地の内容を読み取
りレジスタR5へ格納する前に、システム(プログラ
ム)の実行は停止される。このように、パイプライン構
造を持つマイクロプロセッサの場合、一時停止がかけら
れた時点で最後に実行された命令のデータがメモリ、レ
ジスタ、変数に格納されずにパイプラインに残ってしま
うことがある。
【0003】これは、上記のように、ソースレベルデバ
ッガによる命令の終了は、パイプラインの命令実行ステ
ージで行われるからであり、ストア命令、ロード命令等
が有する実行ステージ後のメモリ、レジスタ等へのデー
タ書き込みステージ(ライトバックステージ)が実行さ
れないからである。この結果、図24に示す例では、ソ
ースレベルデバッガのレジスタウィンドウでレジスタR
5の内容は「0」と表示される。なお、もしld24命
令において書き込みステージまで実行されると、レジス
タR5の内容は「FF」と表示される。
【0004】インサーキットエミュレータ(ICE)の
場合、一時停止する命令に来たとき、マイクロプロセッ
サに割り込みをかけることによりプログラムを一時停止
している。割り込みがかかったマイクロプロセッサで
は、実行中の命令がメモリ、レジスタ、変数、外部等に
データを書き込む必要がある場合、nop等の命令を自
動挿入することにより、ライトバックステージまで進め
ることができる。図24に示した例では、クロックサイ
クルCC7まで進めてレジスタR5の内容を取得する。
この結果、ソースレベルデバッガは命令終了後のメモ
リ、レジスタ、変数等の内容を表示することができる。
しかしながら、ICEでは、nop命令等の自動挿入を
行うことによりクロックサイクルを進めるので、パイプ
ラインの内容(内部状態)を保持したままプログラムの
実行を一時停止することができない。図24に示した例
では、ld24命令で一時停止するとld24命令以降
のxor命令が実行されずに、パイプラインの内容が崩
れてしまうこととなる。
【0005】また、実システムではライトバックステー
ジ中にDMA転送が生じた場合と比較するとパイプライ
ンの内容にずれが生じるので、従来のソースレベルデバ
ッガは実システムと全く同じ動作でのデバッグはできな
い。なお、命令セットシミュレータの場合、動作単位が
命令(アセンブリ)レベルであるので、パイプラインの
動きまでシミュレートすることはできない。
【0006】一方、上記したように、サイクル(クロッ
ク)ベースのシミュレータの場合、パイプラインの内容
を保持したままプログラムを一時停止することができる
が、メモリ等の内容はパイプラインに保持されたままで
あり、ソースレベルデバッガはパイプラインの内容即ち
パイプラインに残ったデータを表示することはできな
い。
【0007】
【発明が解決しようとする課題】従来のソースレベルデ
バッガは以上のように構成されているので、プログラム
を一時停止又は終了した際に、パイプラインに残ったデ
ータを表示できない等パイプラインの内部状態を表示で
きないという課題があった。それ故、プログラム開発者
等のユーザは一時停止された命令が最後まで実行される
ことにより表示されたであろう内容を把握することがで
きず実システムの状態を把握できないという課題があっ
た。
【0008】また、従来のソースレベルデバッガはマイ
クロプロセッサのキャッシュメモリの内容とキャッシュ
メモリに取り込まれているメモリの内容とが一致してい
るのか否かを把握することできるユーザインタフェース
を備えていないという課題があった。
【0009】さらに、従来のソースレベルデバッガはス
テップ実行等によって命令単位でソースプログラムを実
行してデバッグを行えるが、サイクル(クロック)単位
でソースプログラムをステップ実行しブレークポイント
を設定することができず、実システムのクロックレベル
でのデバッグを行えないという課題があった。
【0010】この発明は上記のような課題を解決するた
めになされたもので、ソースプログラムを一時停止又は
終了した際に、パイプラインの内部状態を表示できるソ
ースレベルデバッガを得ることを目的とする。
【0011】また、この発明は、プログラム開発者等の
ユーザにキャッシュメモリの内容とキャッシュメモリに
取り込まれているメモリの内容とが一致しているのか否
かを把握させることが可能なソースレベルデバッガを得
ることを目的とする。
【0012】また、この発明は、サイクル(クロック)
単位でソースプログラムをデバッグするソースレベルデ
バッガを得ることを目的とする。
【0013】
【課題を解決するための手段】この発明に係るソースレ
ベルデバッガは、ソースプログラムの実行を一時停止又
は終了した際に、パイプライン中の命令の未処理ステー
ジを解析し、パイプラインの内部状態に関する情報を取
得する未処理命令解析手段と、この未処理命令解析手段
により得られたパイプラインの内部状態に関する情報を
所定の形式で表示する表示手段とを備えたものである。
【0014】この発明に係るソースレベルデバッガは、
未処理命令解析手段が、パイプラインに残ったデータが
書き込まれるべきメモリ及び/又はレジスタ、並びに変
数を特定し、表示手段が、特定されたメモリ及び/又は
レジスタ、並びに変数の現在のデータ即ちソースプログ
ラムの実行を一時停止又は終了した際のデータを他のデ
ータと区別して所定の形式で表示するものである。
【0015】この発明に係るソースレベルデバッガは、
特定されたメモリ及び/又はレジスタ、並びに変数の現
在のデータを他のデータを表示するものとは異なる色又
はフォントで表示するものである。
【0016】この発明に係るソースレベルデバッガは、
特定されたメモリ及び/又はレジスタ、並びに変数の現
在のデータを点滅させるか又は文字飾りを施して表示し
他のデータと区別するものである。
【0017】この発明に係るソースレベルデバッガは、
未処理命令解析手段が、表示手段による表示とともに、
さらに所定の音を発生させるものである。
【0018】この発明に係るソースレベルデバッガは、
未処理命令解析手段が、パイプラインにデータが残って
いるデータを直接そのデータソースであるメモリ及び/
又はレジスタから取得し、表示手段が、上記メモリ及び
/又はレジスタ、並びに変数に書き込まれる上記データ
を他のデータと区別して所定の形式で表示するものであ
る。
【0019】この発明に係るソースレベルデバッガは、
メモリ及び/又はレジスタ、並びに変数に書き込まれる
データを他のデータを表示するものとは異なる色又はフ
ォントで表示するものである。
【0020】この発明に係るソースレベルデバッガは、
メモリ及び/又はレジスタ、並びに変数に書き込まれる
データを点滅させるか又は文字飾りを施して表示し他の
データと区別するものである。
【0021】この発明に係るソースレベルデバッガは、
特定されたメモリ及び/又はレジスタ、並びに変数の現
在のデータ即ちソースプログラムの実行を一時停止又は
終了した際のデータも併せて表示するものである。
【0022】この発明に係るソースレベルデバッガは、
ソースプログラムの実行を一時停止又は終了した際に、
パイプライン中の命令の未処理ステージを解析し、未処
理の上記命令がパイプラインにデータを残したままであ
るか否かを判定する未処理命令解析手段と、この未処理
命令解析手段によりデータがパイプラインに残っている
と判定された命令を他の命令と区別して所定の形式で表
示する表示手段とを備えたものである。
【0023】この発明に係るソースレベルデバッガは、
未処理命令解析手段によりパイプラインにデータを残し
ていると判定された命令を他の命令を表示するものとは
異なる色又はフォントで表示するものである。
【0024】この発明に係るソースレベルデバッガは、
未処理命令解析手段によりパイプラインにデータを残し
ていると判定された命令を点滅させるか又は文字飾りを
施して表示し他の命令と区別するものである。
【0025】この発明に係るソースレベルデバッガは、
未処理命令解析手段が、表示手段による表示とともに、
さらに所定の音を発生させるものである。
【0026】この発明に係るソースレベルデバッガは、
ソースプログラムの実行を一時停止又は終了した際に、
メモリの一部の内容が取り込まれているキャッシュメモ
リの内容が上記メモリの上記一部の内容と一致している
か否かを判定するキャッシュ内容チェック手段と、この
キャッシュ内容チェック手段の判定結果に基づき、不一
致の部分を一致している部分と区別して上記メモリの内
容を表示する表示手段とを備えたものである。
【0027】この発明に係るソースレベルデバッガは、
不一致の部分を一致している部分を表示するものとは異
なる色又はフォントで表示するものである。
【0028】この発明に係るソースレベルデバッガは、
不一致の部分を点滅させるか又は文字飾りを施し一致し
ている部分と区別して表示するものである。
【0029】この発明に係るソースレベルデバッガは、
少なくとも不一致の部分については、キャッシュメモリ
の内容についても併せて表示するものである。
【0030】この発明に係るソースレベルデバッガは、
ソースプログラムをサイクル(クロック)単位で実行す
るサイクルステップ実行手段と、対話形式でユーザに上
記サイクルステップ実行手段の起動を可能とすべく所定
の表示画面を表示する表示手段とを備えたものである。
【0031】この発明に係るソースレベルデバッガは、
サイクルステップ実行手段を起動するためのボタン、プ
ルダウンメニュー、ポップアップメニュー、コマンドラ
イン入力のためのウィンドウのうちの少なくともいずれ
か1つを含む表示画面を表示するものである。
【0032】この発明に係るソースレベルデバッガは、
サイクル単位でのブレークポイントを以前に一時停止し
たサイクルから数えた相対サイクル、及び起動時から数
えた絶対サイクルでの指定を可能にする一時停止条件設
定手段を備えたものである。
【0033】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1によるソ
ースレベルデバッガの構成を示すブロック図である。図
において、1はパイプライン制御方式を用いたコンピュ
ータのソースプログラムをデバッグするソースレベルデ
バッガ、11は命令単位のステップ実行、ブレークポイ
ント等の実行によってプログラムが一時停止又は終了し
たとき、パイプラインの未処理(未実行)ステージにお
ける命令を解析し、その命令に関するデータ(以下更新
データと称する)がパイプラインに残っているか否かを
判定し、パイプラインの残った更新データが書き込まれ
るべきメモリ及び/又はレジスタ、並びに変数を特定
し、この特定した結果をパイプラインの内部状態に関す
る情報として送出する未処理命令解析部(未処理命令解
析手段)、12は未処理命令解析部11からのパイプラ
インの内部状態に関する情報に基づき、メモリ及び/又
はレジスタ、並びに変数に書き込まれるべき更新データ
がパイプラインに残っている場合にはその旨をユーザに
知らせるべく、パイプラインの内部状態を所定の形式で
表示する表示画面を形成するユーザインタフェース部
(表示手段)、2はユーザインタフェース部12により
得られた表示画面を表示する表示装置である。
【0034】次に動作について説明する。図2はこの発
明の実施の形態1によるソースレベルデバッガの動作を
示すフローチャートであり、図3(a)〜3(c)はこ
の発明の実施の形態1によるソースレベルデバッガのユ
ーザインタフェース部12により生成されたメモリウィ
ンドウ、レジスタウィンドウ、変数ウィンドウの一例を
示す図である。
【0035】以下では図24に示したような一連の命令
を実行しブレークポイントを「ld24 r5、200
0」(ロード命令:メモリの2000番地の内容をレジ
スタR5にロードする)に設定した場合を例に説明す
る。この例では、ソースレベルデバッガ1は、ブレーク
ポイントが設定されたロード命令の実行ステージを実行
するクロックサイクルCC5でソースプログラムの実行
を停止する。この結果、図24に示す例では、sub命
令の書き込みステージ、ld24命令のメモリアクセス
及び書き込みステージは未実行(未処理)となり、メモ
リ2000番地の内容を読み取りレジスタR5へ格納す
る前に、システム(ソースプログラム)の実行は停止さ
れる。これは、上記したように、ソースレベルデバッガ
1による命令の終了は、パイプライン処理の命令実行ス
テージで行われるからであり、ストア命令、ロード命令
等の実行ステージ後のメモリ、レジスタ等へのデータ書
き込みステージ(ライトバックステージ)は実行されな
い。この結果、図24に示す例では、ブレークポイント
ではレジスタR5の内容は「0」である。しかしなが
ら、実際にld24命令において書き込みステージまで
実行されたならばレジスタ5の内容は「FF」となるは
ずである。
【0036】そこで、未処理命令解析部11は、命令単
位のステップ実行、ブレークポイント等の実行によって
ソースプログラムが一時停止又は終了したとき、ステッ
プST21において、パイプラインの命令実行ステージ
からライトバックステージに未処理の命令が残っている
か否か、即ちパイプラインに更新データが残っているか
否かを判定する。もし命令が残っているならば、未処理
命令解析部11は、ステップST22において、シミュ
レータの実行イベントであるサイクル(クロック)を止
めることにより一時停止中のパイプラインの内部状態を
確保する。未処理命令解析部11はさらに、ステップS
T23において、未処理ステージに残っている各命令の
解析を行い、各命令がロード命令であるかストア命令で
あるかを判定するとともに、パイプラインに残っている
更新データが書き込まれるべきメモリ又はレジスタ、並
びに変数を特定する。勿論、この場合、ロード命令、ス
トア命令以外の命令であるか否かについても判定しても
構わない。ロード命令の場合には、未処理命令解析部1
1は、ステップST24において、更新データのデータ
ソースである上記ロード命令に関連するメモリの所定の
番地(アドレス)から更新データを直接取得して、ロー
ド命令のロード先の所定のレジスタのデータは将来更新
される旨を確認する(即ち、ロード命令が最後まで実行
されたならばデータは更新される旨を確認する)。他
方、ストア命令の場合には、未処理命令解析部11は、
ステップST25において、更新データのデータソース
である上記ストア命令に関連するレジスタからデータを
直接取得して同様にストア命令のストア先のメモリ所定
のアドレスのデータは将来更新される旨を確認する。こ
のようにして、未処理命令解析部11は、パイプライン
に更新データが残っているか否かを判定し、残っている
場合には更新データが書き込まれるべきメモリ及び/又
はレジスタ、並びに変数を特定し、この特定した結果を
パイプラインの内部状態に関する情報として送出する。
【0037】次に、ユーザインタフェース部12は、ス
テップST26において、未処理命令解析部11からの
パイプラインの内部状態に関する情報に基づき、ロード
命令のロード先の所定のレジスタのデータは更新される
旨を示す図3(b)に示すようなレジスタウィンドウを
生成して、表示装置2に表示する。この例では、パイプ
ラインに残っているロード命令の未処理部分により後に
更新される上記所定のレジスタのデータ300は、点滅
するように他のデータと区別して表示される。ユーザは
一時停止時のデータ300の値「00」が点滅している
のを見て、パイプラインに上記所定のレジスタの更新デ
ータが残っていることを知ることができる。ユーザイン
タフェース部12は、さらに、データ300を更新され
ない他のデータの表示色と異なる色で表示してもよい。
また、パイプラインに残っているロード命令の未処理部
分で後に更新される上記所定のレジスタのデータ300
を点滅させるのに代わって、ユーザインタフェース部1
2は、上記所定のレジスタのデータ300を単に他のデ
ータの表示色と異なる色で区別して表示してもよい。ま
た、ユーザインタフェース部12は、レジスタウィンド
ウとともに図3(c)に示すような、上記所定のレジス
タのデータ200を有する変数についてもそのデータが
更新される旨を示す変数ウィンドウを生成して表示装置
2に表示する。この変数ウィンドウについても、更新さ
れるデータは図3(b)に示すようなレジスタウィンド
ウに表示された更新されるデータと同一の表示形式で表
示され得る。
【0038】一方、ユーザインタフェース部12は、ス
テップST27において、未処理命令解析部11からの
パイプラインの内部状態に関する情報に基づき、ストア
命令のストア先のメモリの所定のアドレスのデータは更
新される旨を示す図3(a)に示すようなメモリウィン
ドウを生成して、表示装置2に表示する。この例では、
パイプラインに残っている命令の未処理部分で後に更新
されるメモリの上記所定のアドレスのデータ100は点
滅するように他のデータと区別して表示される。この例
では、ユーザはメモリウィンドウのデータ100の値
「00」が点滅しているのを見て、パイプラインにメモ
リに書き込まれるべき更新データが残っていることを知
ることができる。ユーザインタフェース部12は、さら
に、データ100を更新されない他のデータの表示色と
異なる色で表示してもよい。また、パイプラインに残っ
ている命令の未処理部分により後に更新される上記所定
のアドレスのデータ100を点滅させる代わりに、ユー
ザインタフェース部12は、データ100を単に他のデ
ータの表示色と異なる色で他のデータと区別して表示し
てもよい。また、ユーザインタフェース部12は、メモ
リウィンドウとともに図3(c)に示すような、上記所
定のアドレスのデータ200を有する変数についてもそ
のデータが更新される旨を示す変数ウィンドウを生成し
て表示装置2に表示する。この変数ウィンドウについて
も、更新されるデータは図3(a)に示すようなメモリ
ウィンドウに表示された更新されるデータと同一の表示
形式で表示され得る。
【0039】なお、パイプラインにメモリ及びレジスタ
に書き込むべき更新データが残っている場合には、ユー
ザインタフェース部12は、図3(a)〜図3(c)に
示すような、メモリウィンドウ、レジスタウィンドウ及
び変数ウィンドウを表示装置2に表示する。
【0040】図24に示した例では、ブレークポイント
が設定された命令はロード命令であるので、未処理命令
解析部11は、ステップST24において、ロード命令
ld24に関連するメモリの2000番地からデータを
直接取得して、レジスタR5の内容は更新されると判定
する。その結果、ユーザインタフェース部12は、ステ
ップST26において、未処理命令解析部11の判定結
果に基づき、ロード命令のロード先のレジスタR5のデ
ータは更新される旨を示す図3(b)に示すようなレジ
スタウィンドウを生成して、表示装置2に表示する。
【0041】この実施の形態1には多くの変形例があり
得る。例えば、未処理命令解析部11は、ユーザインタ
フェース部12に更新されるデータを図3(a)〜図3
(c)のように特定の表示形式で表示させるとともに、
所定の音でユーザにパイプラインの更新データが残って
いる旨を知らせるように図示していない音発生部に指示
することが可能である。
【0042】図4(a)〜図4(c)はこの実施の形態
1の一変形例によるソースレベルデバッガ1のユーザイ
ンタフェース部12により生成されるメモリウィンド
ウ、レジスタウィンドウ及び変数ウィンドウを示す図で
ある。図4(a)に示すメモリウィンドウでは、更新さ
れるデータはアンダーラインを付けて他のデータと区別
して表示されている。これに代わって、更新されるデー
タに他の文字飾りを施しても構わない。図4(b)に示
すレジスタウィンドウでは、更新されるデータは斜体文
字(異なるフォント)で表示されている。これに代わっ
て、更新されるデータを太文字等の他のフォントで表示
してもよい。図4(c)に示す変数ウィンドウでは、図
4(a)又は図4(b)で特定の表示形式で表示された
データに対応する変数のデータが他の変数のデータとは
異なるフォントで表示されている。なお、言うまでもな
く、メモリウィンドウ、レジスタウィンドウ、及び変数
ウィンドウのうちのいかなるウィンドウも図4(a)〜
4(c)のいずれの形式で表示することができる。
【0043】図5(a)〜図5(c)はこの実施の形態
1の他の変形例によるソースレベルデバッガ1のユーザ
インタフェース部12により生成されるメモリウィンド
ウ、レジスタウィンドウ及び変数ウィンドウを示す図で
ある。図5(a)に示すメモリウィンドウでは、更新さ
れるデータのメモリ中での格納場所を示すアドレスの1
6進の上位ビット及び最下位ビットはともにアンダーラ
インを付けて他のアドレスの上位、最下位ビットと区別
して表示されている。これに代わって、そのアドレスの
上位、最下位ビットに他の文字飾りを施しても構わな
い。図5(b)に示すレジスタウィンドウでは、更新さ
れるデータ及びレジスタ名は斜体文字(異なるフォン
ト)で表示されている。これに代わって、更新されるデ
ータ及びレジスタ名を太文字等の他のフォントで表示し
てもよい。図5(c)に示す変数ウィンドウでは、図5
(a)又は図5(b)で特定の表示形式で表示されたデ
ータに対応する変数の変数名が他の変数名とは異なるフ
ォントで表示されている。なお、言うまでもなく、メモ
リウィンドウ、レジスタウィンドウ、及び変数ウィンド
ウのうちのいかなるウィンドウも図5(a)〜図5
(c)のいずれの形式で表示することができる。
【0044】なお、言うまでもなく、点滅、文字飾り、
色、フォント等のいかなる組み合わせを用いて更新され
るデータを他のデータと区別するように表示しても構わ
ない。例えば、更新されるデータを点滅させ、さらに他
のデータと異なるフォントで表示することができる。ま
た、更新されるデータを他のデータと異なる色及びフォ
ントで表示してもよい。さらに、メモリウィンドウで、
更新されるデータのメモリ中での格納場所を示すアドレ
スにアンダーライン等を施して他のアドレスと区別して
表示するとともに、更新されるデータも点滅、文字飾
り、色、フォント等のいかなる組み合わせを用いて他の
データと区別するように表示してもよい。
【0045】以上のように、この実施の形態1によれ
ば、命令セット単位のステップ実行、ブレークポイント
等の実行によってソースプログラムが一時停止又は終了
したとき、パイプラインの未処理ステージにおける命令
を解析し、その命令に関する更新データがパイプライン
に残っているか否かを判定し、その判定結果に基づきユ
ーザへパイプラインにメモリ及び/又はレジスタ、並び
に変数に格納すべき更新データが残っている場合には所
定の表示形式でその旨を表示した表示画面を生成するの
で、ユーザへパイプラインに更新データが残っているか
否かを知らせることができ、さらに、ユーザへパイプラ
インに残っている更新データが書き込まれるべきメモリ
のアドレス及び/又はレジスタ名、並びに更新データの
変数名を把握させることができる。これにより、デバッ
グの対象であるソースプログラムが適用される実システ
ムの動作を把握することができる効果がある。
【0046】実施の形態2.この発明の実施の形態2に
よるソースレベルデバッガは、パイプラインの未処理ス
テージにおける命令を解析しその命令に関する更新デー
タがパイプラインに残っている場合には、更新データを
格納しているメモリの所定のアドレス又は所定のレジス
タに直接アクセスして更新データを取得し、取得した更
新データを所定の表示形式で表示した表示画面を生成す
るものである。この発明の実施の形態2によるソースレ
ベルデバッガは、図1に示した上記実施の形態1による
ものと同一の構成を有しているが、未処理命令解析部1
1が、パイプラインの未処理ステージにおける命令を解
析しパイプラインにその命令に関する更新データが残っ
ている場合には、更新データを格納しているメモリの所
定のアドレス又は所定のレジスタに直接アクセスして更
新データを取得し、ユーザインタフェース部12が未処
理命令解析部11により取得された更新データを所定の
表示形式で表示装置2に表示する点で上記実施の形態1
によるソースレベルデバッガとは異なる。
【0047】次に動作について説明する。未処理命令解
析部11は、パイプラインの未処理ステージにおける命
令を解析しその命令に関する更新データがパイプライン
に残っている場合には、その更新データを格納している
メモリの所定のアドレス又は所定のレジスタに直接アク
セスして更新データを取得する。そして、ユーザインタ
フェース部12は未処理命令解析部11により取得され
た更新データを図6(a)〜図6(c)のように表示装
置2に表示する。その更新データがメモリの所定のアド
レスに書き込まれるべきである場合には、図6(a)に
示すように、更新データの格納位置を示す所定のアドレ
スの16進の上位ビットの値と最下位ビットの値にアン
ダーラインが施され、そのアドレスには更新データが表
示される。また、その更新データが所定のレジスタに書
き込まれるべきである場合には、図6(b)に示すよう
に、その更新データ及びレジスタ名が他のデータとは異
なるフォントで表示され、その所定のレジスタには更新
データが表示される。また、図6(c)に示す変数ウィ
ンドウでは、図6(a)又は図6(b)に表示された更
新データに対応する変数のデータが他のデータの表示色
とは異なる色で表示される。また、言うまでもなく、メ
モリウィンドウ、レジスタウィンドウ、及び変数ウィン
ドウのうちのいかなるウィンドウも図6(a)〜図6
(c)のいずれの表示形式で表示することができる。ま
た、これに代わって、図3(a)に示したように、ユー
ザインタフェース部12は更新データを点滅させて表示
することができる。
【0048】なお、言うまでもなく、点滅、文字飾り、
色、フォント等のいかなる組み合わせを用いて更新デー
タを他のデータと区別するように表示しても構わない。
例えば、更新データを点滅させ、さらに他のデータと異
なるフォントで表示することができる。また、更新デー
タを他のデータと異なる色及びフォントで表示してもよ
い。さらに、メモリウィンドウで、更新データのメモリ
中での格納場所を示すアドレスにアンダーライン等を施
して他のアドレスと区別して表示するとともに、更新デ
ータも点滅、文字飾り、色、フォント等のいかなる組み
合わせを用いて他のデータと区別するように表示しても
よい。
【0049】この実施の形態2には変形例があり得る。
例えば、未処理命令解析部11は、ユーザインタフェー
ス部12に更新データを図6(a)〜図6(c)のよう
に特定の表示形式で表示させるとともに、所定の音でユ
ーザにパイプラインの更新データが残っている旨を知ら
せるように図示していない音発生部に指示することが可
能である。
【0050】また、ユーザインタフェース部12は未処
理命令解析部11により取得された更新データを、一時
停止した時点でのメモリ及び/又はレジスタ、並びに変
数の現在のデータ(即ち将来更新されるデータ)ととも
に、図7(a)〜図7(c)に示すように表示装置2に
表示することができる。その更新データがメモリの所定
のアドレスに書き込まれるべきである場合には、図7
(a)に示すように、所定のアドレスには、更新前のデ
ータとともに更新データが括弧内に表示される。また、
その更新データが所定のレジスタに書き込まれるべきで
ある場合には、図7(b)に示すように、その所定のレ
ジスタには更新前のデータとともにその右横には矢印を
隔てて更新データが表示される。また、図7(c)に示
す変数ウィンドウでは、図7(a)又は図7(b)に表
示されたような変数の現在のデータを表示するテーブル
とともに、パイプラインの残っている変数の更新データ
を表示するテーブルが表示されている。また、言うまで
もなく、メモリウィンドウ、レジスタウィンドウ、及び
変数ウィンドウのうちのいかなるウィンドウも図7
(a)〜図7(c)のいずれの形式で表示することがで
きる。
【0051】以上のように、この実施の形態2によれ
ば、命令セット単位のステップ実行、ブレークポイント
等の実行によってソースプログラムが一時停止又は終了
したとき、パイプラインの未処理ステージにおける命令
を解析し、その命令に関する更新データがパイプライン
に残っているか否かを判定し、その判定結果に基づきユ
ーザへパイプラインにメモリ及び/又はレジスタ、並び
に変数に代入すべき更新データが残っている場合には所
定の表示形式で更新データを表示した表示画面を生成す
るので、ユーザへパイプラインに更新データが残ってい
るか否かを知らせることができ、さらに、ユーザへパイ
プラインに残っているデータを書き込むべきメモリのア
ドレス及び/又はレジスタ名、並びにそのデータの変数
名を把握させることができる。これにより、デバッグの
対象であるソースプログラムが適用される実システムの
動作を把握することができる効果がある。さらに、ユー
ザへ、パイプライン中に残っている将来メモリ及び/又
はレジスタ、並びに変数に書き込まれる更新データも把
握させることができる。
【0052】また、図7に示したような変形例によれ
ば、更新データを表示するとともに、更新前のデータと
対比して表示することも可能であるので、ユーザに、メ
モリ及び/又はレジスタ、並びに変数に実際に書き込ま
れているデータとパイプラインに残っているメモリ、レ
ジスタ及び変数の更新データとをともに把握させること
ができる。
【0053】実施の形態3.図8はこの発明の実施の形
態3によるソースレベルデバッガの構成を示すブロック
図であり、図において、図1に示すものと同一の参照符
号は上記実施の形態1によるソースレベルデバッガの構
成要素と同一又は相当するものを示しているので、以下
ではその説明を省略する。また、図8において、13は
メモリの一部の内容を取り込んでいるキャッシュメモリ
の内容とメモリのその一部の内容とを比較し、不一致が
ある場合にはその旨をユーザインタフェース部12に知
らせるキャッシュ内容チェック部(キャッシュ内容チェ
ック手段)である。
【0054】次に動作について説明する。図9はこの実
施の形態3によるソースレベルデバッガの動作を示すフ
ローチャートである。まず、キャッシュ内容チェック部
13は、命令単位のステップ実行、ブレークポイント等
の実行によってソースプログラムが一時停止又は終了し
たとき、ステップST91において、メモリの一部の内
容を取り込んでいるキャッシュメモリの内容とメモリの
その一部の内容とを比較し、不一致があるか否かを判定
し判定結果をユーザインタフェース部12へ送出する。
【0055】次に、ユーザインタフェース部12は、不
一致がある場合には、ステップST92において、キャ
ッシュ内容チェック部13の判定結果に基づきメモリの
内容を示す図10(a)に示すようなメモリウィンドウ
を生成して、表示装置2に表示する。図10(a)に示
す例では、キャッシュメモリに取り込まれているデータ
には「*」が付けられており、さらに、キャッシュメモ
リの内容と不一致があるものについては異なる色で表示
されている。図10(b)は他の表示例を示す図であ
り、この例では、キャッシュメモリに取り込まれている
データの欄の背景色はグレーとなっており、キャッシュ
メモリの内容と不一致があるものについては「*」が付
けられている。
【0056】この実施の形態3には変形例があり得る。
例えば、キャッシュ内容チェック部13は、キャッシュ
メモリからデータを取得し、ユーザインタフェース部1
2は、取得したキャッシュメモリの内容をともに、図1
1(a)に示すように表示装置2に表示することができ
る。この図11(a)に示す例では、キャッシュメモリ
の内容は括弧内に表示されている。また、これに代わっ
て、キャッシュ内容チェック部13は不一致がある場合
にキャッシュメモリからデータを取得し、ユーザインタ
フェース部12は、不一致があるキャッシュメモリの内
容をともに、図11(b)に示すように表示装置2に表
示することができる。この図11(b)に示す例におい
ても、不一致のあるキャッシュメモリの内容は括弧内に
表示されている。
【0057】以上のように、この実施の形態3によれ
ば、命令単位のステップ実行、ブレークポイント等の実
行によってソースプログラムが一時停止又は終了したと
き、メモリの一部の内容を取り込んでいるキャッシュメ
モリの内容とメモリのその一部の内容とを比較し、不一
致がある場合にはその旨をユーザインタフェース部12
に知らせ、ユーザインタフェース部12は、不一致があ
る旨をユーザに知らせるべくメモリの内容を表示するの
で、ユーザにキャッシュメモリに取り込まれているメモ
リの内容及びアドレスを把握させることができる上に、
不一致がある旨を知らせることができる。これにより、
デバッグの対象であるソースプログラムが適用される実
システムの動作を把握することができる効果がある。さ
らに、キャッシュメモリの内容をも表示することによ
り、ユーザにキャッシュメモリの内容をも同時に把握さ
せることができる。
【0058】実施の形態4.図12はこの発明の実施の
形態4によるソースレベルデバッガの構成を示すブロッ
ク図である。図において、図1に示すものと同一の参照
符号は上記実施の形態1によるソースレベルデバッガの
構成要素と同一又は相当するものを示しているので、以
下ではその説明を省略する。また、図12において、1
4はソースプログラムを実行する実行部、15はソース
プログラムをステップ実行するステップ実行部、16は
ソースプログラムを一時停止するソースプログラム中の
場所を指定するブレークポイントを設定したりする等の
ソースプログラムを一時停止させる停止条件を設定する
ための一時停止条件設定部である。この実施の形態4に
よるソースレベルデバッガの未処理命令解析部11は、
命令単位のステップ実行、又はブレークポイント等によ
ってソースプログラムが一時停止又は終了したとき、未
処理ステージにおける命令を解析し、未処理の命令がパ
イプラインにデータを残したままであるか否か、即ち、
未処理の命令がメモリ及び/又はレジスタ、並びに変数
へのデータ書き込みが終了しているか否かを判定する。
また、ユーザインタフェース部12は、ソースプログラ
ムの実行、ステップ実行を可能とすべく各種のメニュ
ー、ソースウィンドウ、コマンドウィンドウ等が表示可
能な表示画面を生成して、対話形式でプログラム開発者
等のユーザに命令単位でプログラムのステップ実行等を
可能にする。
【0059】図13はユーザインタフェース部12によ
り生成された表示画面の一例を示す図であり、図におい
て、20はユーザインタフェース部12により生成され
た表示画面のメインウィンドウ、21はメニューバー、
22a〜22fはGOボタン,STOPボタン,STE
Pボタン,NEXTボタン,STEP Instボタ
ン,Next Instボタンである各種の実行ボタ
ン、23はソースプログラムを表示するためのソースウ
ィンドウ、24はユーザからのコマンド入力を受け取り
それを表示するとともにソースレベルデバッガ1のメッ
セージを表示するコマンドウィンドウ、30はコマンド
ウィンドウ内に表示されたプロンプト、25は22a〜
22fの各種ボタンと同一のメニュー項目を表示するポ
ップアップメニューである。また、図14はマウス等の
クリックによりメニューバー21のデバッグが選択され
た場合の表示画面の一例を示す図であり、図において、
26は22a〜22fの各種ボタンと同一のメニュー項
目を表示するプルダウンメニューである。
【0060】次に動作について説明する。ユーザがマウ
ス等を用いてGOボタン22a、又はポップアップメニ
ュー25若しくはプルダウンメニュー26のGO項目を
選択してGOコマンドを実行するか、コマンドウィンド
ウ24で「go」を入力して実行すると、ソースレベル
デバッガ1はロードされたソースプログラムの実行を開
始する。また、ユーザがマウス等を用いてSTOPボタ
ン22b又はポップアップメニュー25若しくはプルダ
ウンメニュー26のSTOP項目を選択してSTOPコ
マンドを実行するか、コマンドウィンドウ24でSTO
Pコマンドを入力して実行すると、ソースレベルデバッ
ガ1は実行中のソースプログラムを停止する。
【0061】STEP又はSTEP Instコマンド
が発行されると、ソースレベルデバッガ1はロードされ
たソースプログラムの1命令だけを実行した後ソースプ
ログラムを一時停止する。STEPコマンドとSTEP
Instコマンドの相違は、STEPコマンドの場合
には1命令の単位がC言語等の高級言語の命令単位であ
るのに対して、STEP Instコマンドの場合には
1命令の単位がアセンブリ言語の命令(CPUのインス
トラクション)単位である点にある。NEXT又はNE
XT Instコマンドは、基本的にはSTEP又はS
TEP Instコマンドと同一であるが、STEP又
はSTEP Instコマンドと異なる点は、ソースプ
ログラム中の関数を1命令と見なすところである。ST
EP又はSTEP Instコマンドは関数に進んだと
き、関数内で定義されている先頭の命令で一時停止する
が、NEXT又はNEXT Instコマンドは関数に
進んだとき、関数を1命令と見なして、関数を実行後関
数の次の命令で一時停止する。すなわち、NEXT又は
NEXT Instコマンドが実行された場合には、関
数内の命令で一時停止しない。
【0062】図15はこの実施の形態4によるソースレ
ベルデバッガ1のソースプログラムの実行手順を示すフ
ローチャートである。図15に示すように、ステップS
T151において、GOコマンドが発行されると、ソー
スレベルデバッガ1の実行部14はロードされたソース
プログラムの実行を開始し、1ステップずつ命令を実行
する。そして、実行部14は、ステップST152にお
いて、ソースプログラムカウンタ(図示せず)の値が、
一時停止条件設定部16により予め設定された停止条件
を満たしているか否かを判定する。もし、停止条件を満
たしていないならば、ステップST153に進みソース
プログラムの実行を1ステップ進め、さらにステップS
T152へ戻る。もし、ステップST152において停
止条件を満たしているならば、実行部14は、ステップ
ST154において、ソースプログラムの実行を一時停
止し、一時停止したときの命令が格納されているメモリ
のアドレスから一時停止したソースプログラムの対応す
る行番号を取得する。さらに、実行部14は、ステップ
ST155において、一時停止したソースプログラムの
対応する行に所定のマーク27b「→」を表示する。
【0063】次に、未処理命令解析部11は、ステップ
ST156において、上記の一時停止した行の命令が、
メモリ又はレジスタ、及び変数へデータ書き込みが終了
していない命令であるか否か(未処理の命令が残ってい
るか否か)、即ちその命令がパイプラインに更新データ
を残したままであるか否かを判定する。もしその命令が
メモリ、レジスタ、変数等へデータ書き込みが終了して
いない命令であるならば、未処理命令解析部11は、ス
テップST157において、その旨をユーザインタフェ
ース部12に知らせ、ユーザインタフェース部12は、
図16(a)又は図16(b)に示すように、ソースウ
ィンドウ23に表示された該当する命令を囲みなどの文
字飾りを施すか又は他の命令の表示色と異なる色で表示
する。この例では、ユーザがコマンドウィンドウ24で
「breadpoint 127」を入力することによ
り、127行の「read_pt=0x100」にブレ
ークポイントが設けられており、さらに、「go」を入
力することによりソースプログラムが実行され、127
行で一時停止し、127行の命令がメモリ又はレジス
タ、及び変数へデータ書き込みが終了していない命令で
ある旨が表示されている。即ち、変数read_ptに
は0x100は代入されていない。なお、図16(a)
及び16(b)に示されたマーク27a「○」は、ユー
ザが予め設定したブレークポイントを示している。
【0064】これに代わって、該当する命令を点滅させ
たり、他の命令とは異なるフォントで表示したり、又
は、点滅、文字飾り、色、フォント等のいかなる組み合
わせを用いて他の命令と区別して表示しても構わない。
また、該当する命令をソースウィンドウ23内で特定の
表示形式で表示するとともに、未処理命令解析部11
は、音でユーザに一時停止した行の命令がメモリ又はレ
ジスタ、及び変数へデータ書き込みが終了していない命
令である旨を知らせるように図示していない音発生部に
指示することが可能である。
【0065】以上のように、この実施の形態4によれ
ば、ソースレベルデバッガ1はソースプログラムが一時
停止又は終了した時点で完全に処理が終了していない命
令を他の命令と区別して表示することができるので、ユ
ーザは完全に処理が終了していない命令を容易に知るこ
とが可能となる。
【0066】実施の形態5.図17はこの発明の実施の
形態5によるソースレベルデバッガの構成を示すブロッ
ク図である。図において、図12に示すものと同一の参
照符号は上記実施の形態4によるソースレベルデバッガ
の構成要素と同一又は相当するものを示しているので、
以下ではその説明を省略する。また、図17において、
17はソースプログラムをサイクル(クロック)単位で
ステップ実行するサイクルステップ実行部である。この
実施の形態5によるソースレベルデバッガ1の一時停止
条件設定部16は、ソースプログラムを一時停止するソ
ースプログラム中の場所を指定するブレークポイント
(停止アドレス)を設定したり、サイクル単位でソース
プログラムを一時停止するブレークポイント(停止サイ
クル)を設定したりする等のソースプログラムを一時停
止させる条件を設定する。ユーザインタフェース部12
は、ソースプログラムの実行、ステップ実行、サイクル
単位でのステップ実行を可能とすべく各種のメニュー、
ソースウィンドウ、コマンドウィンドウ等が表示可能な
表示画面を形成して、対話形式でプログラム開発者等の
ユーザにサイクル単位でステップ実行を可能にする。
【0067】図18はこの実施の形態5によるユーザイ
ンタフェース部12により生成された表示画面の一例を
示す図であり、図において、図13に示すものと同一の
参照符号は図13に示したものと同一又は相当するもの
を示しているので、以下ではその説明を省略する。ま
た、図18において、22gはソースプログラムのサイ
クル(クロック)単位でのステップ実行を起動するため
のSTEP CYCボタンである。なお、言うまでもな
いが、このボタンの名称は「STEP CYC」に限定
されない。また、図19はマウス等のクリックによりメ
ニューバー21のデバッグが選択された場合の表示画面
の一例を示す図である。
【0068】次に動作について説明する。以下では上記
実施の形態4によるソースレベルデバッガの動作とは異
なる点についてのみ説明する。ユーザがマウス等を用い
てSTEP CYCボタン22g又はポップアップメニ
ュー25若しくはプルダウンメニュー26のSTEP
CYC項目を選択してSTEP CYCコマンドが発行
されるか、ユーザがコマンドウィンドウ24においてs
tep cycleコマンドを入力すると、ソースレベ
ルデバッガ1はロードされたソースプログラムのサイク
ル(クロック)単位でのステップ実行を開始する。ST
EP又はSTEP Instコマンドが発行された場合
には、C言語等のプログラミング言語の命令単位又はア
センブリ言語の命令単位でソースプログラムがステップ
実行されたのに対して、STEP CYCコマンドが発
行されると、ソースレベルデバッガ1はプロセッサのサ
イクル単位でソースプログラムを実行する。
【0069】図20(a),図20(b)は、一時停止
条件設定部16の指示により、ユーザインタフェース部
12が、ユーザにサイクル単位でソースプログラムを一
時停止するブレークポイント(停止サイクル)の設定を
可能とするために表示装置2に表示する入力ウィンドウ
の一例である。図20(a),図20(b)に示すよう
に、ユーザはサイクル単位でソースプログラムを一時停
止するブレークポイント(停止サイクル)を相対サイク
ル数及び/又は絶対サイクル数で設定可能である。絶対
サイクル数とは、CPU起動時(クロックを最初に印加
したとき)を起点とした総サイクル数である。一方、相
対サイクル数とは、STOP,STEP,ブレークポイ
ント等によってソースプログラムが一時停止している時
のサイクル数を起点としたサイクル数である。例えば図
21のにおいて、図20(a),図20(b)に示す
ようにユーザがブレークポイントの相対サイクル数を1
0、絶対サイクル数を25000と同時に設定した場
合、ソースレベルデバッガ1によって、ソースプログラ
ムは絶対サイクル数が25000の図21のにおいて
一時停止状態となる。さらに、ソースレベルデバッガ1
によりソースプログラムを引き続き実行させると、今度
は、絶対サイクル数が25005の図21の(から
相対サイクル数10だけ経過したサイクル)でソースプ
ログラムが一時停止する。なお、ユーザがコマンドウィ
ンドウ24からサイクル単位でソースプログラムを一時
停止するブレークポイントを相対サイクル数及び/又は
絶対サイクル数で設定可能なように、所定のコマンドを
設けてもよい。
【0070】図22はこの実施の形態5によるソースレ
ベルデバッガ1のサイクル単位でのソースプログラムの
ステップ実行の手順を示すフローチャートである。図2
2に示すように、ステップST221において、STE
P CYCコマンドが発行されると、ソースレベルデバ
ッガ1のサイクルステップ実行部17はロードされたソ
ースプログラムをサイクル単位でステップ実行する。そ
して、サイクルステップ実行部17は、ステップST2
22においてサイクル(クロック)数をカウントし、ス
テップST223において現在のカウントがソースプロ
グラムの予め定めたブレークポイントの相対サイクル数
又は絶対サイクル数の停止サイクルに等しいか否かを判
定する。もし、現在のカウントがソースプログラムの予
め定めたブレークポイントに対応する停止サイクルに等
しくないならば、ステップST221に戻る。一方、も
し現在のカウントがソースプログラムの予め定めたブレ
ークポイントに対応する停止サイクルに等しいならば、
サイクルステップ実行部17は、ステップST224に
おいて、ソースプログラムを一時停止し、その停止サイ
クルから一時停止したソースプログラムの対応する行番
号を取得する。さらに、サイクルステップ実行部17
は、ステップST225において、一時停止したソース
プログラムの対応する行に所定のマーク27b「→」を
表示する。この場合、同時に、同一の行に、予め設定さ
れたブレークポイントであることを示す所定のマーク2
7a「○」も表示する。
【0071】ステップST223を実行する際に、サイ
クルステップ実行部17は、さらに、停止条件を満たし
ているか否かを判定する。もし、停止条件を満たしてい
ないのであれば、ステップST221に戻る。一方、も
し停止条件を満たしているならば、サイクルステップ実
行部17は、ステップST224において、ソースプロ
グラムの実行を一時停止し、その停止位置のソースプロ
グラムの対応する行番号を取得する。
【0072】次に、未処理命令解析部11は、ステップ
ST226において、メモリ又はレジスタ、及び変数へ
データ書き込みが終了していない命令があるか否か(未
処理の命令が残っているか否か)、即ちその命令がパイ
プライン中に更新データを残しているか否かを判定す
る。もしメモリ、レジスタ、変数等へデータ書き込みが
終了していない命令があるならば、サイクルステップ実
行部17は、ステップST227において、図23
(a)又は図23(b)に示すように、ソースウィンド
ウ23に表示された該当する命令を囲みなどの文字飾り
を施すか又は他の命令の表示色と異なる色で表示する。
この例では、ユーザがコマンドウィンドウ24で「br
eadpoint 127」を入力することにより、1
27行の「read_pt=0x100」にブレークポ
イントが設けられており、step cycleコマン
ドを入力することによりソースプログラムがサイクル単
位でステップ実行され、127行で一時停止し、127
行の命令がメモリ又はレジスタ、及び変数へデータ書き
込みが終了していない命令である旨が表示されている。
即ち、変数read_ptには0x100は代入されて
いない。
【0073】これに代わって、該当する命令を点滅させ
たり、他の命令とは異なるフォントで表示したり、又
は、点滅、文字飾り、色、フォント等のいかなる組み合
わせを用いて他の命令と区別して表示しても構わない。
また、該当する命令をソースウィンドウ23内で特定の
表示形式で表示するとともに、音でユーザに一時停止し
た行の命令がメモリ又はレジスタ、及び変数へデータ書
き込みが終了していない命令である旨を知らせるように
してもよい。
【0074】以上のように、この実施の形態5によれ
ば、ソースレベルデバッガ1はソースプログラムをサイ
クル単位で実行できるので、サイクル単位でのデバッグ
が可能となる効果がある。さらに、ソースレベルデバッ
ガ1はソースプログラムが一時停止又は終了した時点で
完全に処理が終了していない命令を他の命令と区別して
表示することができるので、ユーザは完全に処理が終了
していない命令を容易に知ることが可能となる。
【0075】
【発明の効果】以上のように、この発明によれば、ソー
スプログラムの実行を一時停止又は終了した際に、パイ
プライン中の命令の未処理ステージを解析し、パイプラ
インの内部状態に関する情報を取得する未処理命令解析
手段と、この未処理命令解析手段により得られたパイプ
ラインの内部状態に関する情報を所定の形式で表示する
表示手段とを備えるように構成したので、ユーザへパイ
プラインの内部状態を知らせることができ、デバッグの
対象であるソースプログラムが適用される実システムの
動作を把握することができる効果がある。
【0076】この発明によれば、表示手段が、特定され
たメモリ及び/又はレジスタ、並びに変数の現在のデー
タ即ちソースプログラムの実行を一時停止又は終了した
際のデータを他のデータと区別して所定の形式で表示す
るようにしたので、ユーザへパイプラインに更新データ
が残っているか否かを知らせることができ、さらに、ユ
ーザへパイプラインに残っている更新データが書き込ま
れるべきメモリのアドレス及び/又はレジスタ名、並び
に更新データの変数名を把握させることができる効果が
ある。これにより、デバッグの対象であるソースプログ
ラムが適用される実システムの動作を把握することがで
きる効果がある。
【0077】この発明によれば、特定されたメモリ及び
/又はレジスタ、並びに変数の現在のデータを他のデー
タを表示するものとは異なる色又はフォントで表示する
ようにしたので、ユーザへパイプラインに残っている更
新データが書き込まれるべきメモリのアドレス及び/又
はレジスタ名、並びに更新データの変数名を把握させる
ことができ、これにより、デバッグの対象であるソース
プログラムが適用される実システムの動作を把握するこ
とができる効果がある。
【0078】この発明によれば、特定されたメモリ及び
/又はレジスタ、並びに変数の現在のデータを点滅させ
るか又は文字飾りを施して表示し他のデータと区別する
ようにしたので、ユーザへパイプラインに残っている更
新データが書き込まれるべきメモリのアドレス及び/又
はレジスタ名、並びに更新データの変数名を把握させる
ことができ、これにより、デバッグの対象であるソース
プログラムが適用される実システムの動作を把握するこ
とができる効果がある。
【0079】この発明によれば、未処理命令解析手段
が、表示手段による表示とともに、さらに所定の音を発
生させるようにしたので、ユーザへパイプラインに更新
データが残っていることを知らせることができる効果が
ある。
【0080】この発明によれば、未処理命令解析手段
が、パイプラインにデータが残っているデータを直接そ
のデータソースであるメモリ及び/又はレジスタから取
得し、表示手段が、上記メモリ及び/又はレジスタ、並
びに変数に書き込まれる上記データを他のデータと区別
して所定の形式で表示するようにしたので、ユーザへパ
イプラインに残っている更新データと、この更新データ
が書き込まれるべきメモリのアドレス及び/又はレジス
タ名、並びに更新データの変数名とを把握させることが
でき、これにより、デバッグの対象であるソースプログ
ラムが適用される実システムの動作を把握することがで
きる効果がある。
【0081】この発明によれば、メモリ及び/又はレジ
スタ、並びに変数に書き込まれるデータを他のデータを
表示するものとは異なる色又はフォントで表示するよう
にしたので、ユーザへパイプラインに残っている更新デ
ータと、この更新データが書き込まれるべきメモリのア
ドレス及び/又はレジスタ名、並びに更新データの変数
名とを把握させることができ、これにより、デバッグの
対象であるソースプログラムが適用される実システムの
動作を把握することができる効果がある。
【0082】この発明によれば、メモリ及び/又はレジ
スタ、並びに変数に書き込まれるデータを点滅させるか
又は文字飾りを施して表示し他のデータと区別するよう
にしたので、ユーザへパイプラインに残っている更新デ
ータと、この更新データが書き込まれるべきメモリのア
ドレス及び/又はレジスタ名、並びに更新データの変数
名とを把握させることができ、これにより、デバッグの
対象であるソースプログラムが適用される実システムの
動作を把握することができる効果がある。
【0083】この発明によれば、特定されたメモリ及び
/又はレジスタ、並びに変数の現在のデータ即ちソース
プログラムの実行を一時停止又は終了した際のデータも
併せて表示するようにしたので、ユーザへパイプライン
に残っている更新データと更新前の現在のデータとの両
方を把握させることができ、これにより、デバッグの対
象であるソースプログラムが適用される実システムの動
作を把握することができる効果がある。
【0084】この発明によれば、ソースプログラムの実
行を一時停止又は終了した際に、パイプライン中の命令
の未処理ステージを解析し、未処理の上記命令がパイプ
ラインにデータを残したままであるか否かを判定する未
処理命令解析手段と、この未処理命令解析手段によりデ
ータがパイプラインに残っていると判定された命令を他
の命令と区別して所定の形式で表示する表示手段とを備
えるように構成したので、ユーザは完全に処理が終了し
ていない命令を容易に知ることが可能となる効果があ
る。
【0085】この発明によれば、未処理命令解析手段に
よりパイプラインにデータを残していると判定された命
令を他の命令を表示するものとは異なる色又はフォント
で表示するようにしたので、ユーザは完全に処理が終了
していない命令を容易に知ることが可能となる効果があ
る。
【0086】この発明によれば、未処理命令解析手段に
よりパイプラインにデータを残していると判定された命
令を点滅させるか又は文字飾りを施して表示し他の命令
と区別するようにしたので、ユーザは完全に処理が終了
していない命令を容易に知ることが可能となる効果があ
る。
【0087】この発明によれば、未処理命令解析手段
が、表示手段による表示とともに、さらに所定の音を発
生させるようにしたので、ユーザは完全に処理が終了し
ていない命令を容易に知ることが可能となる効果があ
る。
【0088】この発明によれば、ソースプログラムの実
行を一時停止又は終了した際に、メモリの一部の内容が
取り込まれているキャッシュメモリの内容が上記メモリ
の上記一部の内容と一致しているか否かを判定するキャ
ッシュ内容チェック手段と、このキャッシュ内容チェッ
ク手段の判定結果に基づき、不一致の部分を一致してい
る部分と区別して上記メモリの内容を表示する表示手段
とを備えるように構成したので、ユーザへキャッシュメ
モリに取り込まれているメモリの内容及びアドレスを把
握させることができる上に、不一致がある旨を知らせる
ことができ、これにより、デバッグの対象であるソース
プログラムが適用される実システムの動作を把握するこ
とができる効果がある。
【0089】この発明によれば、不一致の部分を一致し
ている部分を表示するものとは異なる色又はフォントで
表示するようにしたので、ユーザへキャッシュメモリに
取り込まれているメモリの内容及びアドレスを把握させ
ることができる上に、不一致がある旨を知らせることが
でき、これにより、デバッグの対象であるソースプログ
ラムが適用される実システムの動作を把握することがで
きる効果がある。
【0090】この発明によれば、不一致の部分を点滅さ
せるか又は文字飾りを施し一致している部分と区別して
表示するようにしたので、ユーザにキャッシュメモリに
取り込まれているメモリの内容及びアドレスを把握させ
ることができる上に、不一致がある旨を知らせることが
でき、これにより、デバッグの対象であるソースプログ
ラムが適用される実システムの動作を把握することがで
きる効果がある。
【0091】この発明によれば、少なくとも不一致の部
分については、キャッシュメモリの内容についても併せ
て表示するようにしたので、ユーザにキャッシュメモリ
の内容をも同時に把握させることができる効果がある。
【0092】この発明によれば、ソースプログラムをサ
イクル(クロック)単位で実行するサイクルステップ実
行手段と、対話形式でユーザに上記サイクルステップ実
行手段の起動を可能とすべく所定の表示画面を表示する
表示手段とを備えるように構成したので、サイクル単位
でのデバッグが可能となる効果がある。
【0093】この発明によれば、サイクルステップ実行
手段を起動するためのボタン、プルダウンメニュー、ポ
ップアップメニュー、コマンドライン入力のためのウィ
ンドウのうちの少なくともいずれか1つを含む表示画面
を表示するようにしたので、容易にサイクル単位でのデ
バッグが可能となる効果がある。
【0094】この発明によれば、サイクル単位でのブレ
ークポイントを以前に一時停止したサイクルから数えた
相対サイクル、及び起動時から数えた絶対サイクルでの
指定を可能にする一時停止条件設定手段を備えるように
構成したので、相対サイクル及び絶対サイクルでブレー
クポイントを設定してサイクル単位でのデバッグが可能
となる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1によるソースレベル
デバッガの構成を示すブロック図である。
【図2】 この発明の実施の形態1によるソースレベル
デバッガの動作を示すフローチャートである。
【図3】 この発明の実施の形態1によるソースレベル
デバッガにより表示されるメモリウィンドウ、レジスタ
ウィンドウ、及び変数ウィンドウの一例を示す図であ
る。
【図4】 この発明の実施の形態1の一変形例によるソ
ースレベルデバッガにより表示されるメモリウィンド
ウ、レジスタウィンドウ、及び変数ウィンドウの一例を
示す図である。
【図5】 この発明の実施の形態1の他の変形例による
ソースレベルデバッガにより表示されるメモリウィンド
ウ、レジスタウィンドウ、及び変数ウィンドウの一例を
示す図である。
【図6】 この発明の実施の形態2によるソースレベル
デバッガにより表示されるメモリウィンドウ、レジスタ
ウィンドウ、及び変数ウィンドウの一例を示す図であ
る。
【図7】 この発明の実施の形態2の一変形例によるソ
ースレベルデバッガにより表示されるメモリウィンド
ウ、レジスタウィンドウ、及び変数ウィンドウの一例を
示す図である。
【図8】 この発明の実施の形態3によるソースレベル
デバッガの構成を示すブロック図である。
【図9】 この発明の実施の形態3によるソースレベル
デバッガの動作を示すフローチャートである。
【図10】 この発明の実施の形態3によるソースレベ
ルデバッガにより表示されるメモリウィンドウの例を示
す図である。
【図11】 この発明の実施の形態3の一変形例による
ソースレベルデバッガにより表示されるメモリウィンド
ウの例を示す図である。
【図12】 この発明の実施の形態4によるソースレベ
ルデバッガの構成を示すブロック図である。
【図13】 この発明の実施の形態4によるソースレベ
ルデバッガにより表示される表示画面を示す図である。
【図14】 図13の表示画面でプルダウンメニューが
表示された場合を示す図である。
【図15】 この発明の実施の形態4によるソースレベ
ルデバッガの動作を示すフローチャートである。
【図16】 この発明の実施の形態4によるソースレベ
ルデバッガにより表示される表示画面の例を示す図であ
る。
【図17】 この発明の実施の形態5によるソースレベ
ルデバッガの構成を示すブロック図である。
【図18】 この発明の実施の形態5によるソースレベ
ルデバッガにより表示される表示画面を示す図である。
【図19】 図18の表示画面でプルダウンメニューが
表示された場合を示す図である。
【図20】 この発明の実施の形態5によるソースレベ
ルデバッガにより表示されるブレークポイント設定ウィ
ンドウを示す図である。
【図21】 相対サイクルと絶対サイクルとを説明する
ためのタイミングチャートである。
【図22】 この発明の実施の形態5によるソースレベ
ルデバッガの動作を示すフローチャートである。
【図23】 この発明の実施の形態5によるソースレベ
ルデバッガにより表示される表示画面の例を示す図であ
る。
【図24】 パイプラインで実行される命令、レジスタ
の内容、メモリの内容の関係を示すタイミングチャート
である。
【符号の説明】
11 未処理命令解析部(未処理命令解析手段)、12
ユーザインタフェース部(表示手段)、13 キャッ
シュ内容チェック部(キャッシュ内容チェック手段)、
17 サイクルステップ実行部(サイクルステップ実行
手段)。
フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 15/177 678 G06F 15/177 678H Fターム(参考) 5B005 JJ01 KK23 LL04 MM01 PP01 VV24 5B013 EE07 5B042 GA02 GA14 GA15 HH07 HH25 LA10 LA14 MC05 MC07 NN04 NN10 NN13 NN14 NN23 5B045 DD12 GG17 JJ49

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 パイプライン制御方式を用いたコンピュ
    ータ用のソースプログラムをデバッグするためのソース
    レベルデバッガにおいて、 上記ソースプログラムの実行を一時停止又は終了した際
    に、パイプライン中の命令の未処理ステージを解析し、
    パイプラインの内部状態に関する情報を取得する未処理
    命令解析手段と、 上記未処理命令解析手段により得られたパイプラインの
    内部状態に関する情報を所定の形式で表示する表示手段
    とを備えたことを特徴とするソースレベルデバッガ。
  2. 【請求項2】 未処理命令解析手段は、パイプラインに
    データが残っている際にはパイプラインに残ったデータ
    が書き込まれるべきメモリ及び/又はレジスタ、並びに
    変数を特定し、この特定した結果をパイプラインの内部
    状態に関する情報として表示手段へ送出し、該表示手段
    は、上記特定されたメモリ及び/又はレジスタ、並びに
    変数の現在のデータ即ちソースプログラムの実行を一時
    停止又は終了した際のデータを他のデータと区別して所
    定の形式で表示することを特徴とする請求項1記載のソ
    ースレベルデバッガ。
  3. 【請求項3】 表示手段は、特定されたメモリ及び/又
    はレジスタ、並びに変数の現在のデータを他のデータを
    表示するものとは異なる色又はフォントで表示すること
    を特徴とする請求項2記載のソースレベルデバッガ。
  4. 【請求項4】 表示手段は、特定されたメモリ及び/又
    はレジスタ、並びに変数の現在のデータを点滅させるか
    又は文字飾りを施して表示し他のデータと区別すること
    を特徴とする請求項2記載のソースレベルデバッガ。
  5. 【請求項5】 未処理命令解析手段は、表示手段による
    表示とともに、さらに所定の音を発生させることを特徴
    とする請求項3又は請求項4記載のソースレベルデバッ
    ガ。
  6. 【請求項6】 未処理命令解析手段は、パイプラインに
    データが残っている際には該データを直接そのデータソ
    ースであるメモリ及び/又はレジスタから取得し、上記
    データをパイプラインの内部状態に関する情報として表
    示手段へ送出し、該表示手段は、上記メモリ及び/又は
    レジスタ、並びに変数に書き込まれる上記データを他の
    データと区別して所定の形式で表示することを特徴とす
    る請求項1記載のソースレベルデバッガ。
  7. 【請求項7】 表示手段は、メモリ及び/又はレジス
    タ、並びに変数に書き込まれるデータを他のデータを表
    示するものとは異なる色又はフォントで表示することを
    特徴とする請求項6記載のソースレベルデバッガ。
  8. 【請求項8】 表示手段は、メモリ及び/又はレジス
    タ、並びに変数に書き込まれるデータを点滅させるか又
    は文字飾りを施して表示し他のデータと区別することを
    特徴とする請求項6記載のソースレベルデバッガ。
  9. 【請求項9】 表示手段は、特定されたメモリ及び/又
    はレジスタ、並びに変数の現在のデータ即ちソースプロ
    グラムの実行を一時停止又は終了した際のデータも併せ
    て表示することを特徴とする請求項6から請求項8のう
    ちのいずれか一項記載のソースレベルデバッガ。
  10. 【請求項10】 パイプライン制御方式を用いたコンピ
    ュータ用のソースプログラムをデバッグするためのソー
    スレベルデバッガにおいて、 上記ソースプログラムの実行を一時停止又は終了した際
    に、パイプライン中の命令の未処理ステージを解析し、
    未処理の上記命令がパイプラインにデータを残したまま
    であるか否かを判定する未処理命令解析手段と、 上記未処理命令解析手段によりデータがパイプラインに
    残っていると判定された命令を他の命令と区別して所定
    の形式で表示する表示手段とを備えたことを特徴とする
    ソースレベルデバッガ。
  11. 【請求項11】 表示手段は、未処理命令解析手段によ
    りパイプラインにデータを残していると判定された命令
    を他の命令を表示するものとは異なる色又はフォントで
    表示することを特徴とする請求項10記載のソースレベ
    ルデバッガ。
  12. 【請求項12】 表示手段は、未処理命令解析手段によ
    りパイプラインにデータを残していると判定された命令
    を点滅させるか又は文字飾りを施して表示し他の命令と
    区別することを特徴とする請求項10記載のソースレベ
    ルデバッガ。
  13. 【請求項13】 未処理命令解析手段は、表示手段によ
    る表示とともに、さらに所定の音を発生させることを特
    徴とする請求項11又は請求項12記載のソースレベル
    デバッガ。
  14. 【請求項14】 パイプライン制御方式を用いたコンピ
    ュータ用のソースプログラムをデバッグするためのソー
    スレベルデバッガにおいて、 上記ソースプログラムの実行を一時停止又は終了した際
    に、メモリの一部の内容が取り込まれているキャッシュ
    メモリの内容が上記メモリの上記一部の内容と一致して
    いるか否かを判定するキャッシュ内容チェック手段と、 該キャッシュ内容チェック手段の判定結果に基づき、不
    一致の部分を一致している部分と区別して上記メモリの
    内容を表示する表示手段とを備えたことを特徴とするソ
    ースレベルデバッガ。
  15. 【請求項15】 表示手段は、不一致の部分を一致して
    いる部分を表示するものとは異なる色又はフォントで表
    示することを特徴とする請求項14記載のソースレベル
    デバッガ。
  16. 【請求項16】 表示手段は、不一致の部分を点滅させ
    るか又は文字飾りを施し一致している部分と区別して表
    示することを特徴とする請求項14記載のソースレベル
    デバッガ。
  17. 【請求項17】 表示手段は、少なくとも不一致の部分
    については、キャッシュメモリの内容についても併せて
    表示することを特徴とする請求項15又は請求項16記
    載のソースレベルデバッガ。
  18. 【請求項18】 パイプライン制御方式を用いたコンピ
    ュータ用のソースプログラムをデバッグするためのソー
    スレベルデバッガにおいて、 上記ソースプログラムをサイクル(クロック)単位で実
    行するサイクルステップ実行手段と、 対話形式でユーザに上記サイクルステップ実行手段の起
    動を可能とすべく所定の表示画面を表示する表示手段と
    を備えたことを特徴とするソースレベルデバッガ。
  19. 【請求項19】 表示手段は、サイクルステップ実行手
    段を起動するためのボタン、プルダウンメニュー、ポッ
    プアップメニュー、コマンドライン入力のためのウィン
    ドウのうちの少なくともいずれか1つを含む表示画面を
    表示することを特徴とする請求項18記載のソースレベ
    ルデバッガ。
  20. 【請求項20】 サイクル単位でのブレークポイントを
    以前に一時停止したサイクルから数えた相対サイクル、
    及び起動時から数えた絶対サイクルでの指定を可能にす
    る一時停止条件設定手段を備えたことを特徴とする請求
    項18又は請求項19記載のソースレベルデバッガ。
JP11205178A 1999-07-19 1999-07-19 ソースレベルデバッガ Pending JP2001034504A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11205178A JP2001034504A (ja) 1999-07-19 1999-07-19 ソースレベルデバッガ
US09/453,964 US6550056B1 (en) 1999-07-19 1999-12-03 Source level debugger for debugging source programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11205178A JP2001034504A (ja) 1999-07-19 1999-07-19 ソースレベルデバッガ

Publications (1)

Publication Number Publication Date
JP2001034504A true JP2001034504A (ja) 2001-02-09

Family

ID=16502721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11205178A Pending JP2001034504A (ja) 1999-07-19 1999-07-19 ソースレベルデバッガ

Country Status (2)

Country Link
US (1) US6550056B1 (ja)
JP (1) JP2001034504A (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6754677B1 (en) * 2000-05-30 2004-06-22 Outlooksoft Corporation Method and system for facilitating information exchange
US8275974B2 (en) * 2001-01-16 2012-09-25 Outlooksoft Corporation Systems and methods providing dynamic spreadsheet functionality
US7577942B2 (en) * 2001-07-26 2009-08-18 International Business Machines Corporation Efficient monitoring of program variables under debug
JP4272371B2 (ja) * 2001-11-05 2009-06-03 パナソニック株式会社 デバッグ支援装置、コンパイラ装置、デバッグ支援プログラム、コンパイラプログラム、及びコンピュータ読取可能な記録媒体。
US7644394B2 (en) 2001-11-30 2010-01-05 International Business Machines Corporation Object-oriented creation breakpoints
US7398519B2 (en) * 2001-11-30 2008-07-08 International Business Machines Corporation Inheritance breakpoints for use in debugging object-oriented computer programs
US20030131337A1 (en) * 2002-01-07 2003-07-10 Perumainar Asok K. Educational method and tool for isolating and teaching programming language concepts
US6964036B2 (en) * 2002-05-21 2005-11-08 International Business Machines Corporation Descriptive variables while debugging
JP3764405B2 (ja) * 2002-05-27 2006-04-05 株式会社東芝 デバッグ装置及びデバッグ方法
US7111281B2 (en) * 2002-12-26 2006-09-19 International Business Machines Corporation Method, system, and article of manufacture for debugging utilizing screen pattern recognition and breakpoints
US20050289323A1 (en) * 2004-05-19 2005-12-29 Kar-Lik Wong Barrel shifter for a microprocessor
US7539833B2 (en) * 2004-12-06 2009-05-26 International Business Machines Corporation Locating wasted memory in software by identifying unused portions of memory blocks allocated to a program
US7461307B2 (en) * 2005-05-06 2008-12-02 Lsi Corporation System and method for improving transition delay fault coverage in delay fault tests through use of an enhanced scan flip-flop
US20060259696A1 (en) * 2005-05-16 2006-11-16 Texas Instruments Incorporated Determining differences between cached copies of an address
US7991959B2 (en) * 2005-05-16 2011-08-02 Texas Instruments Incorporated Visualizing contents and states of hierarchical storage systems
US7409330B2 (en) * 2005-06-16 2008-08-05 Kabushiki Kaisha Toshiba Method and system for software debugging using a simulator
US8218635B2 (en) * 2005-09-28 2012-07-10 Synopsys, Inc. Systolic-array based systems and methods for performing block matching in motion compensation
US20070174037A1 (en) * 2005-11-10 2007-07-26 Chuan-Po Ling Multiple-microcontroller emulation system, multiple-microcontroller integrated development environment, and method for the same
US8387019B1 (en) * 2006-02-16 2013-02-26 Cypress Semiconductor Corporation Graphical user assignable register map
US8316352B2 (en) * 2006-06-09 2012-11-20 Oracle America, Inc. Watchpoints on transactional variables
JP4444305B2 (ja) * 2007-03-28 2010-03-31 株式会社東芝 半導体装置
US20090204823A1 (en) * 2008-02-07 2009-08-13 Analog Devices, Inc. Method and apparatus for controlling system access during protected modes of operation
US8434064B2 (en) * 2008-03-28 2013-04-30 Microsoft Corporation Detecting memory errors using write integrity testing
US9417987B2 (en) * 2008-06-12 2016-08-16 International Business Machines Corporation Advisory warning and workaround indications to user when stopped between load and store conditional instructions while using source level debuggers
US8392885B2 (en) 2008-12-19 2013-03-05 Microsoft Corporation Low privilege debugging pipeline
US9069747B2 (en) 2010-08-26 2015-06-30 Sap Se Methods, apparatus, systems and computer readable mediums for use in association with electronic spreadsheets
US9268598B2 (en) * 2012-09-13 2016-02-23 International Business Machines Corporation Recording and profiling transaction failure source addresses and states of validity indicator corresponding to addresses of aborted transaction in hardware transactional memories
US9501383B2 (en) * 2013-02-26 2016-11-22 Dominique Bolignano Method for securing a program
US9122791B2 (en) * 2013-03-05 2015-09-01 International Business Machines Corporation Identifying a storage location for a storage address requested during debugging
US9275236B2 (en) 2013-06-28 2016-03-01 Dominique Bolignano Method for securing a program
US10740219B2 (en) * 2018-04-27 2020-08-11 Workman Nydegger Selectively tracing portions of computer process execution
US10747645B2 (en) * 2018-04-27 2020-08-18 Microsoft Technology Licensing, Llc Selectively tracing portions of computer process execution

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
US5175856A (en) * 1990-06-11 1992-12-29 Supercomputer Systems Limited Partnership Computer with integrated hierarchical representation (ihr) of program wherein ihr file is available for debugging and optimizing during target execution
JP2785606B2 (ja) 1991-10-11 1998-08-13 日本電気株式会社 パイプライン処理方式コンピュータ用プログラムのデバッガ
US5446900A (en) * 1992-07-24 1995-08-29 Microtec Research, Inc. Method and apparatus for statement level debugging of a computer program
US6151701A (en) * 1997-09-30 2000-11-21 Ahpah Software, Inc. Method for reconstructing debugging information for a decompiled executable file
US6178547B1 (en) * 1993-06-17 2001-01-23 Metaware Incorporated Method and apparatus for generating non-redundant symbolic debug information in computer programs
US5488688A (en) * 1994-03-30 1996-01-30 Motorola, Inc. Data processor with real-time diagnostic capability
JP2752592B2 (ja) * 1994-12-28 1998-05-18 日本ヒューレット・パッカード株式会社 マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法
US5740440A (en) * 1995-01-06 1998-04-14 Objective Software Technology Dynamic object visualization and browsing system
US5737516A (en) * 1995-08-30 1998-04-07 Motorola, Inc. Data processing system for performing a debug function and method therefor
DE69616917T2 (de) * 1995-08-30 2002-06-06 Motorola, Inc. Datenprozessor mit eingebauter Emulationsschaltung
US6091896A (en) * 1995-12-22 2000-07-18 Hewlett-Packard Company Debugging optimized code using data change points
JPH09244912A (ja) 1996-03-12 1997-09-19 Hitachi Ltd 情報処理装置プログラムの試験方式
US5983017A (en) * 1996-11-12 1999-11-09 Lsi Logic Corporation Virtual monitor debugging method and apparatus
US6353923B1 (en) * 1997-03-12 2002-03-05 Microsoft Corporation Active debugging environment for debugging mixed-language scripting code
US6253368B1 (en) * 1997-03-31 2001-06-26 International Business Machines Corporation Dynamically debugging user-defined functions and stored procedures
US6145122A (en) * 1998-04-27 2000-11-07 Motorola, Inc. Development interface for a data processor
US6161216A (en) * 1998-04-29 2000-12-12 Emc Corporation Source code debugging tool
US6173386B1 (en) * 1998-12-14 2001-01-09 Cisco Technology, Inc. Parallel processor with debug capability

Also Published As

Publication number Publication date
US6550056B1 (en) 2003-04-15

Similar Documents

Publication Publication Date Title
JP2001034504A (ja) ソースレベルデバッガ
US5896536A (en) Data triggered trace support for debugging object oriented programs
US9342437B2 (en) Backward post-execution software debugger
US5630049A (en) Method and apparatus for testing software on a computer network
US20120317550A1 (en) Forward post-execution software debugger
US20030033592A1 (en) Software debugger and software development support system
JPH11110254A (ja) ソフトウェアをデバッグする際に例外を識別するための装置および方法
US7945900B2 (en) Debugging tool for debugging multi-threaded programs
WO1995029442A1 (en) Computer program debugging system and method
JPH11110255A (ja) ソフトウェアをデバッグするための装置および方法
TWI241523B (en) Debugging device and debugging method
JP3535354B2 (ja) ストール検出表示装置及び方法
JP2003508864A (ja) スレッド志向デバッギング
JP2001034497A (ja) 逆アセンブラのバイナリコード取得方法
JPH1078887A (ja) デバッグシステム及びデバッグ方法
JPH02146630A (ja) マイクロプロセッサのプログラム開発システム
JP2803090B2 (ja) Mpuシミュレーション方法及びmpuシミュレータ
JPH08221300A (ja) プログラム・シミュレータ
JPH0465729A (ja) シンボリック・デバッガ
JPH07319729A (ja) ソフトウェアデバッグ方法
JP3068578B2 (ja) インサーキットエミュレータおよび飽和演算処理方法
JP2001067246A (ja) デバッグ装置、デバッグ方法、および、デバッグ用プログラムを記録した記録媒体
JP2003263340A (ja) デバッグ装置
JP2002073370A (ja) デバッグ支援装置およびその装置によるデバッグ方法
JPH0365736A (ja) システム開発装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060123

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060703

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20071101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090908

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100112