(57)【要約】【課題】デバッガにデータ構造と変数の関係の情報を与えることで、デバッグ対象データの追跡を自動的に行うデバッグシステムを提供する。【解決手段】プログラムで規定するデータ構造に沿って遷移する処理対象データにより、デバッグを行うデジタルデータ処理プロセッサのデバッグシステムであって、連続して入力されるデータの中でデバッグ対象データを指定するデバッグデータ指定手段と、データ構造上の処理対象データ位置、処理対象データ位置に対して処理を行うプログラムアドレス、処理対象データ位置にデータが存在するときのソースプログラム中の変数、及び、デバッグ対象データの関係を表す該当条件を、管理する該当条件管理手段と、デバッグ対象データが、上記該当条件に含まれる処理対象データ位置に存在するタイミングを算出した上で、対応する該当条件を表示する該当条件表示手段とを備えることを特徴とする。【選択図】図２
2008225737.tif 000002
【特許請求の範囲】
【請求項１】
プログラムで規定するデータ構造に沿って遷移する処理対象データにより、デバッグを行うデジタルデータ処理プロセッサのデバッグシステムであって、
連続して入力されるデータの中でデバッグ対象データを指定するデバッグデータ指定手段と、
データ構造上の処理対象データ位置、処理対象データ位置に対して処理を行うプログラムアドレス、処理対象データ位置にデータが存在するときのソースプログラム中の変数、及び、デバッグ対象データの関係を表す該当条件を、管理する該当条件管理手段と、
デバッグ対象データが、上記該当条件に含まれる処理対象データ位置に存在するタイミングを算出した上で、対応する該当条件を表示する該当条件表示手段と
を備えることを特徴とするデバッグシステム。
【請求項２】
請求項１に記載のデバッグシステムであって、
上記デバッグ対象データが、上記該当条件に含まれる処理対象データ位置に存在するときに、対応する該当条件の全部又は一部を強調表示する該当データ強調手段を、更に備えることを特徴とするデバッグシステム。
【請求項３】
請求項２に記載のデバッグシステムであって、
デバッグデータ指定手段及び該当条件管理手段に含まれる該当条件をブレーク条件として設定する該当ブレーク設定手段を、更に備えることを特徴とするデバッグシステム。
【請求項４】
請求項３に記載のデバッグシステムであって、
上記該当条件管理手段が、
データ構造上の処理対象データ位置、処理対象データ位置に対して処理を行うプログラムアドレス、処理対象データ位置にデータが存在するときのソースプログラム中の変数、及び、デバッグ対象データの関係を示す該当条件を、複数組管理することを特徴とするデバッグシステム。
【請求項５】
請求項４に記載のデバッグシステムであって、
上記該当条件管理手段に設定する情報を、アセンブラ出力情報からデバッグ情報として読み込むデバッグ情報読込手段を、更に備えることを特徴とするデバッグシステム。
【請求項６】
請求項４又は請求項５に記載のデバッグシステムであって、
上記該当ブレーク設定手段が、該当条件管理手段が管理する該当条件の一つ若しくは複数が選択されれば、それら該当条件をブレーク条件として設定することを特徴とするデバッグシステム。
【請求項７】
ＳＩＭＤ型並列処理プロセッサのデバッグシステムであって、
処理対象データ位置が、複数のプロセッサエレメントから構成され１回の演算で複数データを処理するＰＥ演算レジスタであり、
データ構造が、複数のＰＥ演算レジスタから構成されるＰＥ演算レジスタ群であることを特徴とする請求項１から６のうちのいずれか一つに記載のデバッグシステム。
【請求項８】
請求項７に記載のデバッグシステムであって、
強調表示の対象をＰＥ演算レジスタ上のプロセッサエレメントとするＰＥ演算レジスタ表示手段を、更に備えることを特徴とするデバッグシステム。
【請求項９】
プログラムで規定するデータ構造に沿って遷移する処理対象データにより、デバッグを行うデジタルデータ処理プロセッサのデバッグ方法であって、
連続して入力されるデータの中でデバッグ対象データを指定対象として設定するデバッグデータ指定ステップと、
データ構造上の処理対象データ位置、処理対象データ位置に対して処理を行うプログラムアドレス、処理対象データ位置にデータが存在するときのソースプログラム中の変数、及び、デバッグ対象データの関係を表す該当条件を、管理対象として設定する該当条件管理ステップと、
デバッグ対象データが、上記該当条件に含まれる処理対象データ位置に存在するタイミングを算出した上で、対応する該当条件を表示させる該当条件表示ステップと
を含むことを特徴とするデバッグ方法。
【請求項１０】
請求項９に記載のデバッグ方法であって、
上記デバッグ対象データが、上記該当条件に含まれる処理対象データ位置に存在するときに、対応する該当条件の全部又は一部を強調表示させる該当データ強調ステップを、更に含むことを特徴とするデバッグ方法。
【請求項１１】
請求項１０に記載のデバッグ方法であって、
上記デバッグデータ指定ステップ及び上記該当条件管理ステップにて指定され設定される該当条件を、ブレーク条件として設定する該当ブレーク設定ステップを、更に含むことを特徴とするデバッグ方法。
【請求項１２】
請求項１１に記載のデバッグ方法であって、
上記該当条件管理ステップにおいて、
データ構造上の処理対象データ位置、処理対象データ位置に対して処理を行うプログラムアドレス、処理対象データ位置にデータが存在するときのソースプログラム中の変数、及び、デバッグ対象データの関係を示す該当条件を、複数組管理対象として設定することを特徴とするデバッグ方法。
【請求項１３】
請求項１２に記載のデバッグ方法であって、
上記該当条件管理ステップにて管理対象として設定される情報を、アセンブラ出力情報からデバッグ情報として読み込ませるデバッグ情報読込ステップを、更に含むことを特徴とするデバッグ方法。
【請求項１４】
請求項１２又は請求項１３に記載のデバッグ方法であって、
上記該当ブレーク設定ステップにおいて、
上記該当条件管理ステップにて管理対象として設定される該当条件の一つ若しくは複数が、選択されれば、それら該当条件がブレーク条件として設定されることを特徴とするデバッグ方法。
【請求項１５】
ＳＩＭＤ型並列処理プロセッサのデバッグ方法であって、
処理対象データ位置が、複数のプロセッサエレメントから構成され１回の演算で複数データを処理するＰＥ演算レジスタであり、
データ構造が、複数のＰＥ演算レジスタから構成されるＰＥ演算レジスタ群であることを特徴とする請求項９から１４のうちのいずれか一つに記載のデバッグ方法。
【請求項１６】
請求項１５に記載のデバッグ方法であって、
強調表示の対象をＰＥ演算レジスタ上のプロセッサエレメントとするＰＥ演算レジスタ表示ステップを、更に含むことを特徴とするデバッグ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コピー機等の画像処理を行うシステムにおける画像処理プロセッサ用プログラムの開発と画像処理結果の検証を行うデバッグシステム及びデバッグ方法に関する。
【背景技術】
【０００２】
デジタルコピー機等の画像処理システムの開発は、印刷結果による画像処理プログラムの検証に依存する。しかしながら、その検証にて印刷結果に異常が発見された場合、原因の解析に大変な労力を要する。
【０００３】
近年、画像処理プロセッサを使用する製品も多い。そのため、製品で使用される画像処理プロセッサを搭載した画像処理評価ボードをパソコンに組み込んで、画像処理プログラムを開発する手法も取られている。ただし、扱われるデータ量が非常に多いため一般的なデバッガによるデータの追跡が非常に困難である。
【０００４】
なお、特許文献１は、画像転送にビデオインターフェイスを利用する画像処理装置等を被デバッグ装置として当該被デバッグ装置からデバッグ装置に画像データを入出力する際のインターフェイス仕様の設定や画像の処理を安価にかつ効率的に行うデバッグ用画像入出力装置及びこのデバッグ用画像入出力装置を備えたデバッグ装置を開示する。また、特許文献２は、複数の演算の並列処理によって画像処理を行う画像処理装置と例えばその画像処理装置のような並列コンピュータを使用した際に行われる並列コンピュータのデバッグ処理方法を開示する。更に、特許文献３は、ＳＩＭＤ型の並列計算機のそれぞれのプロセッサにおけるメモリ上の変数をデバッグする方法を開示する。
【特許文献１】特開２００６−４１２０号公報
【特許文献２】特開平７−２９５８５８号公報
【特許文献３】特開平５−１２０２４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、デバッガにデータ構造と変数の関係の情報を与えることで、デバッグ対象データの追跡を自動的に行うデバッグシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上記の目的を達成するために為されたものである。本発明に係る請求項１に器足のデバッグシステムは、
プログラムで規定するデータ構造に沿って遷移する処理対象データにより、デバッグを行うデジタルデータ処理プロセッサのデバッグシステムであって、
連続して入力されるデータの中でデバッグ対象データを指定するデバッグデータ指定手段と、
データ構造上の処理対象データ位置、処理対象データ位置に対して処理を行うプログラムアドレス、処理対象データ位置にデータが存在するときのソースプログラム中の変数、及び、デバッグ対象データの関係を表す該当条件を、管理する該当条件管理手段と、
デバッグ対象データが、上記該当条件に含まれる処理対象データ位置に存在するタイミングを算出した上で、対応する該当条件を表示する該当条件表示手段と
を備えることを特徴とする。
【０００７】
本発明に係る請求項２に記載のデバッグシステムは、
請求項１に記載のデバッグシステムであって、
上記デバッグ対象データが、上記該当条件に含まれる処理対象データ位置に存在するときに、対応する該当条件の全部又は一部を強調表示する該当データ強調手段を、更に備えることを特徴とする。
【０００８】
本発明に係る請求項３に記載のデバッグシステムは、
請求項２に記載のデバッグシステムであって、
デバッグデータ指定手段及び該当条件管理手段に含まれる該当条件をブレーク条件として設定する該当ブレーク設定手段を、更に備えることを特徴とする。
【０００９】
本発明に係る請求項４に記載のデバッグシステムは、
請求項３に記載のデバッグシステムであって、
上記該当条件管理手段が、
データ構造上の処理対象データ位置、処理対象データ位置に対して処理を行うプログラムアドレス、処理対象データ位置にデータが存在するときのソースプログラム中の変数、及び、デバッグ対象データの関係を示す該当条件を、複数組管理することを特徴とする。
【００１０】
本発明に係る請求項５に記載のデバッグシステムは、
請求項４に記載のデバッグシステムであって、
該当条件管理手段に設定する情報を、アセンブラ出力情報からデバッグ情報として読み込むデバッグ情報読込手段を、更に備えることを特徴とする。
【００１１】
本発明に係る請求項６に記載のデバッグシステムは、
請求項４又は請求項５に記載のデバッグシステムであって、
上記該当ブレーク設定手段が、該当条件管理手段が管理する該当条件の一つ若しくは複数が選択されれば、それら該当条件をブレーク条件として設定することを特徴とする。
【００１２】
本発明に係る請求項７に記載のデバッグシステムは、
ＳＩＭＤ型並列処理プロセッサのデバッグシステムであって、
処理対象データ位置が、複数のプロセッサエレメントから構成され１回の演算で複数データを処理するＰＥ演算レジスタであり、
データ構造が、複数のＰＥ演算レジスタから構成されるＰＥ演算レジスタ群であることを特徴とする請求項１から６のうちのいずれか一つに記載のデバッグシステムである。
【００１３】
本発明に係る請求項８に記載のデバッグシステムは、
請求項７に記載のデバッグシステムであって、
強調表示の対象をＰＥ演算レジスタ上のプロセッサエレメントとするＰＥ演算レジスタ表示手段を、更に備えることを特徴とする。
【００１４】
本発明に係る請求項９に記載のデバッグ方法は、
プログラムで規定するデータ構造に沿って遷移する処理対象データにより、デバッグを行うデジタルデータ処理プロセッサのデバッグ方法であって、
連続して入力されるデータの中でデバッグ対象データを指定対象として設定するデバッグデータ指定ステップと、
データ構造上の処理対象データ位置、処理対象データ位置に対して処理を行うプログラムアドレス、処理対象データ位置にデータが存在するときのソースプログラム中の変数、及び、デバッグ対象データの関係を表す該当条件を、管理対象として設定する該当条件管理ステップと、
デバッグ対象データが、上記該当条件に含まれる処理対象データ位置に存在するタイミングを算出した上で、対応する該当条件を表示させる該当条件表示ステップと
を含むことを特徴とする。
【００１５】
本発明に係る請求項１０に記載のデバッグ方法は、
請求項９に記載のデバッグ方法であって、
上記デバッグ対象データが、上記該当条件に含まれる処理対象データ位置に存在するときに、対応する該当条件の全部又は一部を強調表示させる該当データ強調ステップを、更に含むことを特徴とする。
【００１６】
本発明に係る請求項１１に記載のデバッグ方法は、
請求項１０に記載のデバッグ方法であって、
上記デバッグデータ指定ステップ及び上記該当条件管理ステップにて指定され設定される該当条件を、ブレーク条件として設定する該当ブレーク設定ステップを、更に含むことを特徴とする。
【００１７】
本発明に係る請求項１２に記載のデバッグ方法は、
請求項１１に記載のデバッグ方法であって、
上記該当条件管理ステップにおいて、
データ構造上の処理対象データ位置、処理対象データ位置に対して処理を行うプログラムアドレス、処理対象データ位置にデータが存在するときのソースプログラム中の変数、及び、デバッグ対象データの関係を示す該当条件を、複数組管理対象として設定することを特徴とする。
【００１８】
本発明に係る請求項１３に記載のデバッグ方法は、
請求項１２に記載のデバッグ方法であって、
上記該当条件管理ステップにて管理対象として設定される情報を、アセンブラ出力情報からデバッグ情報として読み込ませるデバッグ情報読込ステップを、更に含むことを特徴とする。
【００１９】
本発明に係る請求項１４に記載のデバッグ方法は、
請求項１２又は請求項１３に記載のデバッグ方法であって、
上記該当ブレーク設定ステップにおいて、
上記該当条件管理ステップにて管理対象として設定される該当条件の一つ若しくは複数が、選択されれば、それら該当条件がブレーク条件として設定されることを特徴とする。
【００２０】
本発明に係る請求項１５に記載のデバッグ方法は、
ＳＩＭＤ型並列処理プロセッサのデバッグ方法であって、
処理対象データ位置が、複数のプロセッサエレメントから構成され１回の演算で複数データを処理するＰＥ演算レジスタであり、
データ構造が、複数のＰＥ演算レジスタから構成されるＰＥ演算レジスタ群であることを特徴とする請求項９から１４のうちのいずれか一つに記載のデバッグ方法である。
【００２１】
本発明に係る請求項１６に記載のデバッグ方法は、
請求項１５に記載のデバッグ方法であって、
強調表示の対象をＰＥ演算レジスタ上のプロセッサエレメントとするＰＥ演算レジスタ表示ステップを、更に含むことを特徴とする。
【発明の効果】
【００２２】
本発明に係るデバッグシステムでは、デバッガがデータ構造と変数の関係の情報を用いてデバッグ対象データの追跡を自動的に行うため、操作者は迅速且つ効率的にデバッグを行うことができる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照して、本発明に係る好適な実施形態を説明する。
【００２４】
［第１の実施形態］
デジタルデータ処理プロセッサでは、連続して入力されるデジタルデータに対してプログラムによる演算等の処理を行い、処理結果を出力データとして得る。ここで、出力データに異常がある場合には、デバッガを用いて、対応する入力データに対する処理を追跡する。
【００２５】
デバッガは、処理対象データを処理するプログラムアドレスにおいて、デバッグ対象データがデータ構造上の処理対象データ位置に存在するときの変数の値を予め計算する。そして、操作者は、デバッガにより、プログラムアドレス及び変数の値が該当条件に一致するまでプログラムを実行し、該当条件一致後はプログラムを１命令ずつ実行して、データの変化や移動を追跡しながらデータが異常となるプログラム位置を特定する。
【００２６】
しかしながら、デバッグ対象データを変えて繰り返しデバッグを行う場合、デバッグ対象データが処理対象データ位置に存在するときの条件が、その都度計算し直されなければならない。このとき、計算ミスや操作ミスによるデバッグ効率の低下を招くおそれが生じる。
【００２７】
そこで、第１の実施形態に係るデバッグシステムは、データ構造上の処理対象データ位置と、処理対象データ位置に対して処理を行うプログラムアドレスと、処理対象データ位置にデータが存在するときの変数の条件を予め定義しておき、出力データの異常データに対応する入力データの位置を指定すると、デバッグ対象データが処理対象データ位置に存在するときの条件を操作者に提示する。このことにより、効率的デバッグが可能となる。
【００２８】
図２は、本発明の第１の実施形態に係るデジタルデータ処理プロセッサのデバッグシステムの概略ブロック図である。システムの操作者は、ホストコンピュータ１８上のデバッガ２２を操作し、インサーキットエミュレータ１６を通じてエミュレーションブロック４を制御して、デジタルデータ処理プロセッサ２で動作するプログラムのデバッグを行う。
【００２９】
デジタルデータ処理プロセッサ２に入力されるデータは、図１（１）に示すように１次元で表されたり、図１（２）に示すように２次元で表されたりする。これら以外の入力形態も存在する。従って、デバッグ対象データ位置も入力形態に合わせて表現される。
【００３０】
図３は、デジタルデータ処理プロセッサ２で処理されるプログラム、処理対象データ、及び、変数の概略の構成例を示す図である。図３に示すプログラムはプログラムメモリ１０上に、処理対象データはデータメモリ１２若しくはレジスタ８上に配置され、変数はデータメモリ１２上に存在する。
【００３１】
図３の構成例は、プログラム上のラベルProgAは処理対象データDataAに対して演算を行い結果をDataBに格納することを示す。同様に、ラベルProgBはDataBに対して演算を行い結果をDataCに格納することを示す。更に、以下このような動作を繰り返すことを示している。
【００３２】
図４（２）は、デバッガ２２における該当条件管理手段３６、デバッグデータ指定手段３８、及び該当条件表示手段３２の関係と、該当条件表示手段３２の表示例とを示す図である。即ち、図４（１）に示すようなデバッグ対象データが処理対象データ位置に存在するときの条件（“該当条件設定”）を該当条件管理手段３６に与え、デバッグ対象データ（Ｍ、Ｎ）をデバッグデータ指定手段３８に与えると、該当条件表示手段３２が該当条件であるときの変数Ｘ、Ｙを表示する（“該当条件表示”）。このとき、該当条件表示手段３２は、デバッグ対象データが上記該当条件に含まれる処理対象データ位置に存在するタイミングを算出した上で、対応する該当条件を表示している。
【００３３】
本発明の第１の実施形態に係るデバッグシステムは、デバッグ対象データの座標を与えられると、デバッグ対象データが処理対象データ位置に存在するときの条件を操作者に知らせることができる。
【００３４】
［第２の実施形態］
本発明の第２の実施形態に係るデジタルデータ処理プロセッサのデバッグシステムは、本発明の第１の実施形態に係るデジタルデータ処理プロセッサのデバッグシステムと略同様のものである。従って、両者の差異を中心に説明する。
【００３５】
第１の実施形態に係るデバッグシステムでは、デバッグ対象データが処理対象データ位置に存在するときの条件を操作者に提示する。ここで、該当条件に一致した時にどのデータがデバッグ対象データであるかを操作者が意識しておかなければならない。
【００３６】
第２の実施形態に係るデバッグシステムは、該当条件に一致すると、デバッグ対象データを強調表示する。即ち、図５（１）に示すように、該当データ強調手段４０が、レジスタ表示手段２８及びデータメモリ表示手段３０により、デバッグ対象データ及び該当条件を強調表示する。図５（２）は、強調表示の例である。このように強調表示することにより、操作者は、デバッグ対象データを容易に認識できることになる。
【００３７】
本発明の第２の実施形態に係るデバッグシステムは、デバッグ対象データの座標を与えられると、デバッグ対象データが処理対象データ位置に存在するときに、デバッグ対象データの位置を操作者に知らせることができる。
【００３８】
［第３の実施形態］
図６は、本発明の第３の実施形態に係るデバッグシステムのデバッガ２２の概略ブロック図である。本発明の第３の実施形態に係るデジタルデータ処理プロセッサのデバッグシステムは、本発明の第２の実施形態に係るデジタルデータ処理プロセッサのデバッグシステムと略同様のものである。従って、両者の差異を中心に説明する。
【００３９】
第２の実施形態に係るデバッグシステムでは、デバッグ対象データが処理対象データ位置に存在するときの該当条件一致からのデバッグは容易である。しかし、該当条件一致までプログラムを実行させる操作が必要である。第３の実施形態に係るデバッグシステムは、該当条件一致までプログラムを実行して自動的に停止させるものである。
【００４０】
図６に示すように、本発明の第３の実施形態に係るデバッグシステムのデバッガ２２は、該当ブレーク設定手段４２及びブレーク条件設定手段４４を備える。ところで、デジタルデータ処理プロセッサ２におけるエミュレーションブロック４は、一般に、プログラムアドレスやデータ読み書きをイベントとしてプログラムをブレークさせるブレーク制御手段４６を備える。
【００４１】
該当ブレーク設定手段４２は、該当条件管理手段３６の該当条件の情報と、デバッグデータ指定手段３８で設定されるデバッグ対象データ位置の情報とから、デバッグ対象データが処理対象データ位置に存在するときの条件を計算し、ブレーク条件設定手段４４に対してブレーク条件を設定する。デジタルデータ処理プロセッサ２においてプログラムを実行すると、エミュレーションブロック４内のブレーク制御手段４６は、デジタルデータ処理プロセッサ２の状態がブレーク条件設定手段４４に設定されたブレーク条件に一致するかどうかを常時監視する。そして、一致が生じると、ブレーク制御手段４６は、プログラムをブレークさせる。
【００４２】
本発明の第３の実施形態に係るデバッグシステムは、デバッグ対象データの座標を与えられると、デバッグ対象データが処理対象データ位置に存在するときにプログラムを自動的に停止する。操作者はこれに基づきデバッグを開始できる。
【００４３】
［第４の実施形態］
本発明の第４の実施形態に係るデジタルデータ処理プロセッサのデバッグシステムは、本発明の第１の実施形態に係るデジタルデータ処理プロセッサのデバッグシステムと略同様のものである。従って、両者の差異を中心に説明する。
【００４４】
上述の第１乃至第３の実施形態に係るデバッグシステムでは、該当条件をひとつ設定することを想定している。一方、本発明の第４の実施形態に係るデバッグシステムでは、予め複数の条件を設定しておき、プログラムアドレス毎に条件を切り替える。このようにすることによって、デバッガにおいて、処理を進めてデバッグを行う度に設定条件を変更する必要が無く、人為的ミスによりデバッグ効率の低下を招くおそれが大きく減少する。
【００４５】
図７（２）は、本発明の第４の実施形態に係るデバッガ２２における該当条件管理手段３６、デバッグデータ指定手段３８、及び該当条件表示手段３２の関係と、該当条件表示手段３２の表示例とを示す図である。図７（１）は、複数設定される該当条件の設定例である。図７（２）の該当条件管理手段３６に、図７（１）の複数の該当条件を設定し、デバッグデータ指定手段３８にデバッグ対象データの座標（Ｍ、Ｎ）を設定すると、該当条件表示手段３２は、複数の該当条件に対してデバッグ対象データが処理対象位置に存在するときの条件（変数）Ｘ、Ｙを表示する。
【００４６】
本発明の第４の実施形態に係るデバッグシステムは、複数の条件を予め設定しておき、プログラムアドレス毎に条件を切り替えることができるため、デバッグ対象データの位置が変わっても操作者は複数の設定条件及びプログラムアドレスを容易に知ることができる。
【００４７】
［第５の実施形態］
図８は、本発明の第５の実施形態に係るデバッグシステムのデバッガ２２の概略ブロック図である。本発明の第５の実施形態に係るデジタルデータ処理プロセッサのデバッグシステムは、本発明の第３の実施形態に係るデジタルデータ処理プロセッサのデバッグシステムと略同様のものである。従って、両者の差異を中心に説明する。
【００４８】
上述の第４の実施形態に係るデバッグシステムでは、デバッグ対象データが処理対象データ位置に存在するときの条件（該当条件）が複数設定される。つまり、操作者は、複数の該当条件を設定する手間を取らねばならない。そうすると、複数のプログラムをデバッグする場合には、その都度複数の該当条件が設定され直さなければならない。そこで、本発明の第５の実施形態に係るデバッグシステムは、ソースプログラム中で定義された複数の該当条件をデバッグ情報としてデバッガに読み込むことで、プログラム毎の該当条件の設定変更を容易にする。
【００４９】
図８に示すように、デバッガ２２は、プログラム読込手段４８及びデバッグ情報読込手段５０を更に備える。デバッグ情報読込手段５０は、関数名、変数名、及び、ソースファイルとプログラムの関係を示す行頭情報等を、デバッグ情報として読み込む。デバッグ情報読込手段５０は、読み込んだデバッグ情報を該当条件に加工して該当条件管理手段３６に伝える。
【００５０】
本発明の第５の実施形態に係るデバッグシステムは、プログラム毎に異なる該当条件をデバッグ情報として読み込むことで取得する。これにより、デバッグシステムでは、プログラムに合った該当条件によるデバッグがなされることになる。
【００５１】
［第６の実施形態］
本発明の第６の実施形態に係るデジタルデータ処理プロセッサのデバッグシステムは、本発明の第３の実施形態に係るデジタルデータ処理プロセッサのデバッグシステムと略同様のものである。従って、両者の差異を中心に説明する。
【００５２】
上述の第１乃至第５の実施形態に係るデバッグシステムでは、デバッグ対象データが処理対象データ位置に存在するときまで、一部手作業による操作を行う必要がある。そうすると、見逃しや操作ミスによりデバッグ開始のタイミングを逃すことも発生し得る。本発明の第６の実施形態に係るデバッグシステムは、デバッグ対象データが処理対象データ位置に存在するときの一致条件をプログラムのブレーク条件に設定するものである。このようなデバッグシステムによれば、操作者はデバッグを開始したいところで自動的にブレークさせることができる。
【００５３】
図９は、ブレーク条件選択のための、該当ブレーク設定手段４２による該当条件表示例である。第６の実施形態に係る該当ブレーク設定手段４２は複数の該当条件を表示し、操作者は、条件先頭のチェックボックスをクリックして、ブレークさせるべき条件を選択する。そして、プログラムが実行されると選択された該当条件に一致したときに、プログラムがブレークされる。
【００５４】
本発明の第６の実施形態に係るデバッグシステムは、デバッグが為されるべきプログラムアドレスが選択されると、その位置までプログラムを実行してブレークする。操作者は、ブレーク時点からデバッグを継続できる。
【００５５】
［第７の実施形態］
本発明の第７の実施形態に係るデバッグシステムは、ＳＩＭＤ型並列処理プロセッサ（図１０参照）を利用する画像処理システムに対するデバッグシステムである。
【００５６】
ＳＩＭＤ並列処理プロセッサは、連続して入力されるデータに対して、プロセッサエレメント数をひとつの単位として並列処理を行う。そのため、デバッグ対象データの位置を特定する際には、ＳＩＭＤ演算回数と、ＰＥ演算レジスタ内のプロセッサエレメントの位置との、二重構造が考慮されなければならない。本発明の第７の実施形態に係るデバッグシステムは、このような二重構造を考慮しつつＳＩＭＤ並列演算プロセッサにおけるデバッグ対象データの追跡を可能とする。
【００５７】
まず図１０は、一般的なＳＩＭＤ型並列処理プロセッサ５２の構成を示すブロック図である。ＳＩＭＤ型並列処理プロセッサは、複数のデータに対して１つの命令で同時に同一の演算処理を行うプロセッサである。ＳＩＭＤ型並列処理プロセッサでは、複数の演算ユニット（プロセッサエレメント（ＰＥ））が主走査方向に準じて並べられ、全ＰＥに渡って同一の演算が同時に実行されて高速演算処理が実現される。
【００５８】
演算ユニットである各ＰＥのレジスタ部は、図１０に示すＰＥ演算レジスタ群を構成する。各ＰＥ演算レジスタは、プロセッサエレメント数だけデータを格納する。ＳＩＭＤ型並列処理プロセッサ５２では、処理対象データが同一のＰＥ演算レジスタ（例えば、ＰＥ演算レジスタ１）上に読み込まれて演算が為され、その演算結果が次のＰＥ演算レジスタ（例えば、ＰＥ演算レジスタ２）に格納される。
【００５９】
図１１は、本発明の第７の実施形態に係るデバッグシステムのデバッガ２２の概略ブロック図である。本発明の第７の実施形態に係るデジタルデータ処理プロセッサのデバッグシステムは、本発明の第５の実施形態に係るデジタルデータ処理プロセッサのデバッグシステムと略同様のものである。但し、図１１に示すデバッガ２２は、図８に示すデバッガに対して、ＰＥ演算レジスタ表示手段６２及び汎用レジスタ表示手段２８’が付加される。
【００６０】
図１２（１）は、上記ＰＥ演算レジスタ表示手段６２によるＰＥ演算レジスタの表示例である。
【００６１】
ところで、ＳＩＭＤ型並列処理プロセッサ５２では、図１２（２）に示すように、主走査方向（ライン方向）の（画像）データに対して、ＰＥ演算レジスタ幅Ｓ（プロセッサエレメント数）を単位として演算を行なう。この時、ＰＥ演算レジスタの両端の所定幅Ｖのデータは参照データとして処理されるため、図１２（２）下部に示すようなオーバーラップが不可欠となる。
【００６２】
そこで、図１２（２）のデバッグ対象データの座標を（Ｍ、Ｎ）とすると、プログラム中の変数であるＳＩＭＤ回数Ｐが、以下の式［数１］の条件を満たすときに、デバッグ対象データがＰＥ演算レジスタ上に存在することになる。なお、ＩＮＴは負でない整数を求める関数である。
［数１］
Ｐ＝ＩＮＴ（ＩＮＴ（Ｍ−Ｓ）／（Ｓ−２Ｖ））
【００６３】
従って、デバッグ対象データの座標（Ｍ、Ｎ）が確定すると、変数Ｐ及び該当条件が確定し、図１２（１）に示すようにデバッグ対象データが存在するＰＥ演算レジスタが強調表示される。なお、図１２（３）は、ＳＩＭＤ型並列処理プロセッサでの該当条件設定例である。
【００６４】
本発明の第７の実施形態に係るデバッグシステムは、このようにデジタルデータ処理プロセッサがＳＩＭＤ型並列処理プロセッサであることを踏まえて、上述の第１乃至第６の実施形態に係るデバッグシステムの動作を行う。
【００６５】
本発明の第７の実施形態に係るデバッグシステムは、ＳＩＭＤ並列処理プロセッサを動作するプログラムに対して、デバッグが為されるべきプログラムアドレスが選択されると、その位置までプログラムを実行する。操作者はそのあとデバッグを継続できる。
【００６６】
［第８の実施形態］
本発明の第８の実施形態に係るデバッグシステムも、第７の実施形態と同様、ＳＩＭＤ型並列処理プロセッサ（図１０参照）を利用する画像処理システムに対するデバッグシステムである。
【００６７】
ＳＩＭＤ型並列処理プロセッサの場合、ＰＥ演算レジスタ上のプロセッサエレメント数が多いため、どのプロセッサエレメント上にデバッグ対象データが存在するかを把握することが難しい。本発明の第８の実施形態に係るデバッグシステムは、デバッグ対象データが存在するプロセッサエレメントを強調表示する視認性の良いデバッグシステムである。
【００６８】
図１３（２）に示すように、デバッグ対象データの座標を（Ｍ、Ｎ）とし、ＰＥ演算レジスタ幅（プロセッサエレメント数）をＳ、ＰＥ演算レジスタの両端の参照データ幅をＶとすると、デバッグ対象データが、ＰＥ演算レジスタ上に存在するＳＩＭＤ回数Ｐは、以下の式［数２］で表される（但し、この式は上記数１と同じである）。
［数２］
Ｐ＝ＩＮＴ（ＩＮＴ（Ｍ−Ｓ）／（Ｓ−２Ｖ））
【００６９】
更に、ＰＥ演算レジスタ上のオフセットＱは、以下の式［数３］で表される。
［数３］
Ｑ＝Ｍ−Ｐ×（Ｓ−２Ｖ）＋Ｖ
【００７０】
図１３（３）は、ＳＩＭＤ型並列処理プロセッサでの該当条件設定例である。デバッグ対象データの座標（Ｍ、Ｎ）が与えられると、ラインを表す変数ＹとＳＩＭＤ回数を表す変数Ｐが決定され、従って、プログラムアドレスと変数Ｙと変数Ｐが該当条件として決定される。この時の処理対象データであるＰＥ演算レジスタ上の変数Ｑが示すプロセッサエレメント上のデータが、デバッグ対象データとなる。
【００７１】
該当データ強調表示手段４０は、デバッグ対象データが存在するＰＥ演算レジスタを強調表示すると共に、ＰＥ演算レジスタ上のデバッグ対象データの存するプロセッサエレメントの強調表示を行なう。図１３（１）は、ＰＥ演算レジスタの強調表示の例である。
【００７２】
本発明の第８の実施形態に係るデバッグシステムは、ＳＩＭＤ型並列処理プロセッサを動作するプログラムに対して、デバッグが為されるべきプログラムアドレスが選択されると、その位置までプログラムを実行し、且つＰＥ演算レジスタ上のデバッグ対象データの位置を通知する。操作者はそれを受けてデバッグを継続できる。
【図面の簡単な説明】
【００７３】
【図１】デジタルデータ処理プロセッサに入力されるデータの表現例である。
【図２】本発明の第１の実施形態に係るデジタルデータ処理プロセッサのデバッグシステムの概略ブロック図である。
【図３】デジタルデータ処理プロセッサで処理されるプログラム、処理対象データ、及び、変数の概略の構成例を示す図である。
【図４】図４（１）は、該当条件設定、デバッグデータ指定、及び、該当条件表示の例である。図４（２）は、デバッガにおける該当条件管理手段、デバッグデータ指定手段、及び該当条件表示手段の関係と、該当条件表示手段の表示例とを示す図である。
【図５】図５（１）は、本発明の第２の実施形態に係るデバッガにおける該当データ強調手段近辺のブロック図である。図５（２）は、強調表示の例である。
【図６】図６は、本発明の第３の実施形態に係るデバッグシステムのデバッガの概略ブロック図である。
【図７】図７（１）は、複数設定される該当条件の設定例である。図７（２）は、本発明の第４の実施形態に係るデバッガにおける該当条件管理手段、デバッグデータ指定手段、及び該当条件表示手段の関係と、該当条件表示手段の表示例とを示す図である。
【図８】本発明の第５の実施形態に係るデバッグシステムのデバッガの概略ブロック図である。
【図９】ブレーク条件選択のための、該当ブレーク設定手段による該当条件表示例である。
【図１０】一般的なＳＩＭＤ型並列処理プロセッサの構成を示すブロック図である。
【図１１】本発明の第７の実施形態に係るデバッグシステムのデバッガの概略ブロック図である。
【図１２】図１２（１）は、ＰＥ演算レジスタの強調表示の例である。図１２（２）は、デバッグ対象データ、ＰＥ演算レジスタ、及びプロセッサエレメントの関係を示す図である。図１２（３）は、ＳＩＭＤ型並列処理プロセッサでの該当条件設定例である。
【図１３】図１３（１）は、ＰＥ演算レジスタの強調表示の例である。図１３（２）は、デバッグ対象データ、ＰＥ演算レジスタ、及びプロセッサエレメントの関係を示す図である。図１３（３）は、ＳＩＭＤ型並列処理プロセッサでの該当条件設定例である。
【符号の説明】
【００７４】
２・・・デジタルデータ処理プロセッサ、４・・・エミュレーションブロック、１０・・・プログラムメモリ、１２・・・データメモリ、２２・・・デバッガ、２８・・・レジスタ表示手段、３０・・・データメモリ表示手段、３６・・・該当条件管理手段、３８・・・デバッグデータ指定手段、４０・・・該当データ強調手段、４２・・・該当ブレーク設定手段、５２・・・ＳＩＭＤ型並列処理プロセッサ。
【図１】
2008225737.tif 000003
【図２】
2008225737.tif 000004
【図３】
2008225737.tif 000005
【図４】
2008225737.tif 000006
【図５】
2008225737.tif 000007
【図６】
2008225737.tif 000008
【図７】
2008225737.tif 000009
【図８】
2008225737.tif 000010
【図９】
2008225737.tif 000011
【図１０】
2008225737.tif 000012
【図１１】
2008225737.tif 000013
【図１２】
2008225737.tif 000014
【図１３】
2008225737.tif 000015