(57)【要約】【課題】複雑な操作を要することなく、各種ノイズによる意図しないデバッグモード状態の維持を防止する。【解決手段】デバッグ対象機器と、デバッグ対象機器で動作するプログラムのデバッグを行うためデバッグ対象機器と接続される端末２で構成されるデバッグシステム１００は、端末２は複数のキーを有する入力部を備え、デバッグ対象機器は、複数のプログラムと、デバッグ対象機器をデバッグモードに切り替えるデバッグモードプログラムを記憶する記憶部と、入力部への入力が伝達されることで入力部への入力を検知する制御部７と、を備え、制御部７は、特定の第１キーが押されたことを検知した場合、デバッグ対象機器をデバッグモードに切り替え、所定時間内に、特定の第２キーが押されたことを検知しない場合、デバッグモードを終了させる。【選択図】図５
2009140141.tif 000002
【特許請求の範囲】
【請求項１】
デバッグ対象機器と、前記デバッグ対象機器で動作するプログラムのデバッグを行うため、前記デバッグ対象機器と通信可能に接続される端末で構成されるデバッグシステムにおいて、
前記端末は、
前記デバッグ対象機器に対し入力を行うため、複数のキーを有する入力部を備え、
前記デバッグ対象機器は、
前記デバッグ対象機器を制御するための複数のプログラムと、実行中の前記プログラムを停止させ、前記デバッグ対象機器をデバッグモードに切り替えるデバッグモードプログラムを記憶する記憶部と、
前記デバッグ対象機器の動作を制御するとともに、前記入力部への入力内容が伝達されることで前記入力部への入力を検知する制御部と、を備え、
前記制御部は、前記入力部で特定の第１キーが押されたことを検知した場合、前記デバッグ対象機器をデバッグモードに切り替えるとともに、デバッグモードへの切替後、所定時間内に、前記入力部で前記第１キーとは異なる特定の第２キーが押されたことを検知しない場合、デバッグモードを終了させることを特徴とするデバッグシステム。
【請求項２】
前記制御部は、前記入力部で特定の第１キーが押されたことを検知した場合、前記デバッグ対象機器をデバッグモードに切り替えるとともに、デバッグモードへの切替後、所定時間内に、前記入力部で特定の第２キーに加え、更に、１又は複数の特定のキーが押されたことを検知しない場合、デバッグモードを終了させることを特徴とする請求項１記載のデバッグシステム。
【請求項３】
前記デバッグ対象機器は、画像形成装置であることを特徴とする請求項１又は２記載のデバッグシステム。
【請求項４】
前記デバッグ対象機器を制御するための複数のプログラムを記憶部に記憶するデバッグ対象機器と、前記デバッグ対象機器で動作するプログラムのデバッグを行うため、複数のキーを有する入力部を備える端末を前記デバッグ対象機器に通信可能に接続してデバッグを行うデバッグ方法において、
前記デバッグ対象機器の動作を制御するとともに、前記入力部への入力内容が伝達されることで前記入力部への入力を検知する前記制御部が、前記入力部で特定の第１キーが押されたことを検知するステップと
実行中のプログラムを停止させ、前記デバッグ対象機器をデバッグモードに切り替えるため前記記憶部に記憶されるデバッグモードプログラムを実行し、前記デバッグ対象機器をデバッグモードに切り替えるステップと、
デバッグモードへの切替後、所定時間内に、前記入力部で前記第１キーとは異なる特定の第２キーが押されたことを検知しない場合、デバッグモードを終了させるステップを有することを特徴とするデバッグ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバッグ対象機器とデバッグ対象機器に入力を行う端末により、デバッグ対象機器でのプログラム動作中に生じた不具合を確認、修正できるデバッグシステム、デバッグ方法に関する。
【背景技術】
【０００２】
一般に、例えば、プリンタや複写機等の画像形成装置や携帯電話やデジタルカメラ等の電子機器や、冷蔵庫、炊飯器、空調機等の家電機器、工作機械等の産業用機器、更には、電子制御が不可欠となった自動車等の輸送機器等、様々な機器は、プログラムに基づいて制御され、動作する。そして、これら機器を動作させるためのプログラムに誤り、不具合があると、機器の動作停止や、異常動作の原因となるため、開発段階で、プログラムの誤り等を発見、修正するデバッグ作業がなされる。
【０００３】
このような、プログラムのデバッグ方法の一例が特許文献１に記載されている。特許文献１には、データを入力する項目ごとに該項目の属性および該項目の入力データに対する処理手続きが定義されている入力画面によりデータを入力する処理システムにおいて、画面入力デバッグ機能を設け、上記入力画面と連係して項目単位に処理手続きのデバッグを行い、入力画面に画面入力デバッグ機能の起動ボタンを設け、画面入力デバッグ機能を随時起動可能にした画面入力デバッグ方法が示されている。（特許文献１：請求項１、２、図１等参照）。
【特許文献１】特開平０８−１９４６３１号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ここで、例えば、デバッグを行うために必要な大きさの表示装置や適切な入力装置を有さないような画像形成装置などの各種デバッグ対象機器では、通信ケーブル等で機器に端末を接続し、この接続した端末からデバッグ作業を行うことがある。例えば、デバッグ対象機器のプログラムに不具合が認められた場合、デバッグ対象機器のモードをデバッグモードに切り替えるため、端末でモードの切替入力がなされ、この入力がデバッグ対象機器に伝達され、デバッグ対象機器で現在動作中のプログラムに対し割り込みがかけられ、不具合発見、修正等のためデバッガ等が起動するデバッグモードに切り替わることになる。
【０００５】
しかし、各デバッグ対象機器のデバッグモードへの切替において、デバッグ対象機器内で発生するノイズ等の各種ノイズが原因で、意図せずにデバッグモードに切り替わってしまうことがあるという問題がある。一般に、デバッグモードではデバッグ対象機器の動作は基本的に停止されるところ、意図しないデバッグモードへの切替が生ずると、動作の突然の停止や、デバッグ対象機器への入力を受け付けなくなる等、開発者、使用者に混乱を招き、又、故障が発生した等の誤解を招いてしまう。又、デバッグ対象機器の連続運転テストの際、意図せずデバッグモードへの切替が生ずると、機器が停止してしまうという問題もある。
【０００６】
尚、特許文献１記載の発明は、デバッグを容易化するものであり（特許文献１：段落００１０等参照）、意図しないデバッグモードへの切替の防止を目的とするものではなく、現に、意図しないデバッグモードへの切替を防ぐ構成、示唆は示されていない。
【０００７】
本発明は、上記従来技術の問題点に鑑みてなされたものであり、複雑な操作を要することなく、各種ノイズによる意図せず移行したデバッグモード状態の維持を防止することを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため請求項１に係る発明は、デバッグ対象機器と、前記デバッグ対象機器で動作するプログラムのデバッグを行うため、前記デバッグ対象機器と通信可能に接続される端末で構成されるデバッグシステムにおいて、前記端末は、前記デバッグ対象機器に対し入力を行うため、複数のキーを有する入力部を備え、前記デバッグ対象機器は、前記デバッグ対象機器を制御するための複数のプログラムと、実行中の前記プログラムを停止させ、前記デバッグ対象機器をデバッグモードに切り替えるデバッグモードプログラムを記憶する記憶部と、前記デバッグ対象機器の動作を制御するとともに、前記入力部への入力内容が伝達されることで前記入力部への入力を検知する制御部と、を備え、前記制御部は、前記入力部で特定の第１キーが押されたことを検知した場合、前記デバッグ対象機器をデバッグモードに切り替えるとともに、デバッグモードへの切替後、所定時間内に、前記入力部で前記第１キーとは異なる特定の第２キーが押されたことを検知しない場合、デバッグモードを終了させることとした。
【０００９】
この構成によれば、ノイズ等によりデバッグモードに意図せず切り替わっても、更に、所定時間内に特定の第２キーが押されない限り、デバッグモードは終了するから、意図せずデバッグモードに移行しても、デバッグモードは自動的に終了する。従って、意図しないデバッグモードは直ちに終了し、開発者、使用者に混乱、誤解を招くことを防ぐことができる。又、一方、特定の第１キーと第２キーを押せば、デバッグモードに切り替えることができるので、開発者にデバッグモード状態の維持に複雑な操作を要求せず、デバッグモードへの切替の容易性は確保できる。
【００１０】
又、デバッグモードを利用すれば、デバッグ対象機器の各種データを得ることができるところ、デバッグモードへの切替方法を知らない第三者では、デバッグモードを維持させることができないので、悪意の第三者によるデバッグモードでの操作を防ぐことができ、開発上のセキュリティを高めることができる。又、意図しないデバッグモードへの切替を防ぐため、従来に比べ、別途多くの部材を要することも、高コストの部材を用いる必要も無い。
【００１１】
又、請求項２に係る発明は、請求項１記載の発明において、前記制御部は、前記入力部で特定の第１キーが押されたことを検知した場合、前記デバッグ対象機器をデバッグモードに切り替えるとともに、デバッグモードへの切替後、所定時間内に、前記入力部で特定の第２キーに加え、更に、１又は複数の特定のキーが押されたことを検知しない場合、デバッグモードを終了させることとした。
【００１２】
この構成によれば、特定のキーを２回ではなく、３回以上押さなければデバッグモードが維持されないので、意図しないデバッグモード状態の維持が、完全に防がれ、又、開発上のセキュリティを高めることもできる。
【００１３】
又、請求項３に係る発明は、請求項１又は２記載の発明において、前記デバッグ対象機器は、画像形成装置であることとした。
【００１４】
この構成によれば、デバッグ対象機器の好適な一例を示すものであり、画像形成装置での開発中における意図しないデバッグモード状態の維持を防ぐことができる。
【００１５】
又、請求項４に係る発明は、前記デバッグ対象機器を制御するための複数のプログラムを記憶部に記憶するデバッグ対象機器と、前記デバッグ対象機器で動作するプログラムのデバッグを行うため、複数のキーを有する入力部を備える端末を前記デバッグ対象機器に通信可能に接続してデバッグを行うデバッグ方法において、前記デバッグ対象機器の動作を制御するとともに、前記入力部への入力が伝達されることで前記入力部への入力内容を検知する前記制御部が、前記入力部で特定の第１キーが押されたことを検知するステップと、実行中のプログラムを停止させ、前記デバッグ対象機器をデバッグモードに切り替えるため前記記憶部に記憶されるデバッグモードプログラムを実行し、前記デバッグ対象機器をデバッグモードに切り替えるステップと、デバッグモードへの切替後、所定時間内に前記入力部で前記第１キーとは異なる特定の第２キーが押されたことを検知しない場合、デバッグモードを終了させるステップを有することとした。
【００１６】
この構成によれば、請求項１の発明と同様に、ノイズ等によりデバッグモードに意図せず切り替わっても、所定時間内に特定の第２キーが押されない限り、デバッグモードは終了するから、意図せず移行したデバッグモードは、自動的に終了する。従って、開発者、使用者の混乱を防ぐことができる。しかも、開発者にデバッグモード状態維持に複雑な操作を要求せず、デバッグモードへの切替の容易性は確保できる。又、デバッグモードへの切替方法を知らない第三者では、デバッグモードを維持させることができないので、悪意の第三者によるデバッグモードでの操作を防ぐことができ、開発上のセキュリティを高めることができる。
【発明の効果】
【００１７】
上述したように、本発明によれば、セキュリティが維持されつつ、複雑な操作を要することなく、各種ノイズによる意図しないデバッグモード状態の維持が防止されるデバッグシステム、デバッグ方法を提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施形態について図１〜５を参照しつつ説明する。但し、本実施の形態に記載されている構成、配置等の各要素は、発明の範囲を限定するものではなく単なる説明例にすぎない。
【００１９】
まず、図１に基づき、本発明の実施形態に係るデバッグシステム１００について説明する。図１は、本発明の実施形態に係るデバッグ対象機器と端末２の接続を示す概念図である。尚、本実施形態では、デバッグ対象機器として、プリンタ１（画像形成装置に相当）を例に挙げて説明するが、デバッグの対象となる機器は、画像形成装置に限られるものではない。
【００２０】
まず、図１に示すように、本実施形態のデバッグシステム１００は、デバッグ対象機器としてのプリンタ１と、プリンタ１で動作するプログラムのデバッグを行うため、デバッグ対象機器と接続される端末２で構成される。そして、デバッグのため、プリンタ１と端末２間で入出力を行うため、プリンタ１と端末２がケーブルＣ等により接続され、通信可能とされる。尚、図１に示すケーブルＣによる接続は、ネットワークを介さず、直接プリンタ１と端末２を接続するものであるが、セキュリティ上問題が無ければ、インターネットやローカルエリアネットワーク等を介して接続しても良い。
【００２１】
そして、前記端末２は、いわゆるラップトップ型のパーソナルコンピュータであり、表示装置としてのディスプレイ２１や、入力装置としてのキーボード２２、パッド型ポインティングデバイス２３や、記憶装置（図３参照）を備える（尚、当然デスクトップ型のものでもよい。）。この端末２には、プリンタ１がデバッグモードの際に、プリンタ１のレジスタやメモリの内容を確認して、プリンタ１を動作させるためのプログラムの誤りや不具合を発見、修正するためのデバッグ支援ソフトウェアであるデバッガプログラムを例えばインストールすることができる。尚、プリンタ１と接続して通信可能であり、プリンタ１に対し、入力を行え、通信可能なコンピュータであれば、デバッグを行う端末２として利用できる。
【００２２】
次に、図２を用いて、本発明の実施形態におけるプリンタ１（画像形成装置に相当）の概略を説明する。図２は、本発明の実施形態に係るプリンタ１の概略構成を示す正面から見た模型的断面図である。
【００２３】
図２に示すように、本実施形態に係るプリンタ１は、その内部に、シート供給部３、シート搬送路４、画像形成部５、定着装置６等を備える。そこで、以下、これらの構成を説明する。尚、図２にシートの搬送経路を破線矢印で図示する。
【００２４】
まず、シート供給部３は、プリンタ１の最下部に設けられ、画像形成部５に向けて、例えば、プリンタ用紙、ラベルシート、厚紙等の各種シートを送り出す。そして、シート供給部３は、２つのカセット３１で構成され、各カセット３１は、各サイズ（Ａ３、Ａ４、Ａ５、Ａ６、Ｂ４、Ｂ５等）のシートを積載可能であり、本体部から引き出して脱着可能であり、カセット３１内に、複数のシートを載置するための載置板３２が設けられる。
【００２５】
そして、カセット３１のシート搬送方向下流側上部（図２における左上方位置）に供給ローラ３３が設けられる。載置板３２は、バネ、モータ等によるリフト機構（不図示）により、最上位のシートを常時供給ローラ３３に当接させる。画像形成の際、供給ローラ３３は、シートを搬送するための搬送モータ（不図示）の駆動が伝達され、所定の方向（図２では時計方向）に回転駆動し、シートを１枚ずつシート搬送路４に送り出す。
【００２６】
前記シート搬送路４（図２で破線で図示）は、本実施形態では、プリンタ内を上下方向に貫いて形成され、プリンタ内でシートを搬送し、シート供給部３から、画像形成部５、定着装置６を経て、排出トレイ４１までシートを搬送する。そして、シート搬送路４は、搬送モータ、ギア等で構成される駆動機構（不図示）により回転駆動してシートを挟持して搬送する搬送ローラ対４２やレジストローラ対４３、及び、シートを案内するための複数のガイド板（不図示）等が設けられる。レジストローラ対４３は、画像形成部５のシート搬送方向上流側の手前に設けられ、一旦、搬送されてきたシートを止め、転写のため所定のタイミングと速度でシートを画像形成部５に向けて送り出す。
【００２７】
前記画像形成部５は、図１において、プリンタ内の中央左方の位置に配され、ユーザ端末等（不図示）からプリンタ１に入力された画像データ等に基づき、形成すべき画像のトナー像を形成し、シートに転写を行う。そして、画像形成部５は、像担持体としての感光体ドラム５１、帯電装置５２、露光装置５３、現像装置５４、転写ローラ５５、クリーニング装置５６等で構成される。
【００２８】
前記感光体ドラム５１は、画像形成部５の略中央に配され、メインモータ、ギア等で構成される駆動装置（不図示）により所定の方向（図２では時計方向）に回転駆動し、例えば、アルミ製のドラムの外周面上にＯＰＣやアモルファスシリコン等の感光層を有する。
【００２９】
前記帯電装置５２は、図２において感光体ドラム５１の右斜め上方に対向して配され、所定の電位で感光体ドラム５１の周面を帯電させる。本実施形態では、帯電装置５２にコロナ帯電器を用いるが、感光体ドラム５１表面を所定の電位に帯電できればよく、帯電ローラや帯電ブラシによるものでもよい。
【００３０】
前記露光装置５３は、図２において感光体ドラム５１及び帯電装置５２の右側方に配され、一様に帯電された感光体ドラム５１の周面に、形成すべき画像の画像データに基づき光を感光体ドラム５１に対し照射し、感光体ドラム５１の周面を走査・露光する。これにより、感光体ドラム５１の周面上に静電潜像が形成される。
【００３１】
前記現像装置５４は、感光体ドラム５１の下方に設けられ、トナーを収容し、トナーを所定の電位に帯電させ、そのトナーを感光体ドラム５１の周面上に形成された静電潜像に向けて供給する。具体的には、現像装置５４に、周面にトナーを担持する現像ローラ５４ａが設けられ、現像ローラ５４ａからトナーが感光体ドラム５１に供給される。
【００３２】
前記転写ローラ５５は、図２において、感光体ドラム５１の左斜め下方に回転可能に支持され、感光体ドラム５１に当接し、ニップを形成する。そして、このニップへのシートの進入時、所定の電圧が印加され、感光体ドラム５１上に形成されたトナー像がシートに転写される。前記クリーニング装置５６は、図２において、感光体ドラム５１の上方に配され、感光体ドラム５１の周面上の残トナーや塵芥等を除去、回収する。
【００３３】
前記定着装置６は、本実施形態では、加熱ローラ６１、加圧ローラ６２等を有し、シートに転写されたトナー像を加圧・加熱し、シートに固着させる。加熱ローラ６１内には発熱体（不図示）が内蔵され、発熱体は、トナーを溶融できる温度にまで加熱ローラ６１を暖める。加圧ローラ６２は、加熱ローラ６１に圧接してニップを形成し、このニップにトナー像が転写されたシートを進入させ、トナーの定着が行われる。そして、定着完了後のシートは、排出トレイ４１に排出され、１枚のシートの画像形成が完了する。
【００３４】
次に、図３に基づき、本実施形態のプリンタ１及び端末２から構成されるデバッグシステム１００のハードウェア構成及びその制御について説明する。図３は、本発明の実施形態に係るデバッグシステム１００のブロック図である。
【００３５】
まず、図３に示すプリンタ１は、ネットワーク等を介しユーザ端末（外部コンピュータ、不図示）からの画像データ等の送信を受けて、その画像データに基づき画像形成を行うことができる。
【００３６】
そして、図３に示すように、本実施形態のプリンタ１は、プリンタ１全体の動作の制御のため、プリンタ内部の制御基板上に設けられ、ＣＰＵ７１（Central Processing Unit）、ＲＡＭ７２（Random Access Memory）、ＨＤＤ７３（Hard disk drive）、フラッシュＲＯＭ７４、計時部７５等から構成される制御部７を有する。
【００３７】
前記ＣＰＵ７１は、中央演算処理装置として機能し、ＨＤＤ７３、フラッシュＲＯＭ７４に格納されているデータ、プログラムに基づき、プリンタ１の各部の動作を制御する。尚、本発明に関しては、プリンタ１のモードをデバッグモードに切り替える際の制御やデバッグモードから通常モードへの復帰制御も行う。尚、通常モードとは、デバッグモードではない状態であって、各種プログラムを実行してデバッグ対象機器（本実施形態ではプリンタ１）の各種機能を使用できるモードである。又、端末２のキーボード２２の入力が伝達されることで、キーボード２２への入力内容の検知も行う。
【００３８】
記憶部（メモリ）として、本実施形態のプリンタ１は、例えば、ＲＡＭ７２、ＨＤＤ７３、フラッシュＲＯＭ７４等のメモリを搭載する。ＲＡＭ７２は、揮発性のメモリであり制御のためのプログラムやデータを一時的に展開する場合や、画像データを一時的に保存しておく場合などに用いられる。ＨＤＤ７３は、大容量の不揮発性の記憶装置であって、制御のためのプログラムや、画像データの保存や、使用者によるプリンタ１の設定情報を保存する場合などに使用される。
【００３９】
フラッシュＲＯＭ７４は、不揮発性のメモリであり、例えば、電源投入時の起動に関するプログラム等のプリンタ１の制御のためのプログラムやデータ等を記憶し、ＣＰＵ７１は、プリンタ１の各部の制御のため、フラッシュＲＯＭ７４からプログラム、データを読み出す。又、本発明に関して、フラッシュＲＯＭ７４（ＨＤＤ７３でもよい）は、プリンタ１をデバッグモードに移行させ、又、通常モードに復帰させるためのプログラムを記憶する。即ち、フラッシュＲＯＭ７４やＨＤＤ７３は、プリンタ１を制御するための複数のプログラムと、実行中のプログラムを停止させ、プリンタ１をデバッグモードに切り替えるデバッグモードプログラムを記憶する。
【００４０】
計時部７５は、プリンタ１の制御に必要となる時間をカウントするいわゆるタイマである。例えば、制御部７１は、この計時部の時間計時を利用してシートの搬送のタイミングを調整する。又、本発明に関しては、プリンタ１のモードをデバッグモードに移行させる際の、第１キーが押されてから第２キーが押されるまでの時間をカウントし、所定時間内に第２キーが押されなかったことを伝達するための時間切れ信号をＣＰＵ７１に信号を発することができる（詳細は後述）。
【００４１】
そして、制御部７は、信号線等により、シート供給部３、シート搬送路４、画像形成部５、定着装置６等と接続され、フラッシュＲＯＭ７４等に記憶されるプログラム、データに基づき、各部の動作を制御する。
【００４２】
そして、本実施形態のデバッグシステム１００では、使用者が、プリンタ１の開発における各種プログラムのデバッグ作業の際に用いる端末２が備えられる。
【００４３】
この端末２には、中央処理演算装置としてのＣＰＵ２４や、揮発性のメモリとしてのＲＡＭ２５、大容量の不揮発性のメモリとしてのＨＤＤ２６、制御に必要な時間をカウントするための計時部２７を搭載した端末制御部２０を備える。プリンタ１と同様にＲＡＭ２５は、端末２の制御のためのプログラムやデータを一時的に展開する場合などに用いられる。ＨＤＤ２６は、不揮発性の記憶装置であって、制御のためのプログラムや、各種アプリケーションを記憶する。
【００４４】
そして、端末２は、表示装置としてのディスプレイ２１や、プリンタ１に対し入力を行うための入力装置としての複数のキーを備えるキーボード２２（入力部に相当）やパッド型ポインティングデバイス２３を有し、それぞれ、端末制御部２０と接続される。端末制御部２０は、使用者によるキーボード２２等からの入力を受け、ＨＤＤ２６からプログラムを読み出し、ＲＡＭ２５に展開して、使用者の希望するソフトウェアを起動させる。使用者は、各種ソフトウェアをこのキーボード２２等を利用して使用することができる。そして、ディスプレイ２１は、端末制御部２０からの指示に基づき、各種情報を表示する。
【００４５】
又、プリンタ１と端末２を通信可能とするため、インターフェイスとしてプリンタ１にＩ／Ｆ部７６が、端末２にもＩ／Ｆ部２８が設けられる。このＩ／Ｆ部７６とＩ／Ｆ部２８は、各種コネクタ、ソケットが設けられ、Ｉ／Ｆ部７６とＩ／Ｆ２８部を、例えば、ＬＡＮ（Local Area Network）やＵＳＢ（Universal Serial Bus）等の各種規格を使用し、又は、独自の接続方法に基づいて接続することで、伝送路Ｔを設け、例えば、プリンタ１と端末２間でシリアル通信等が可能となる。
【００４６】
次に、図３及び図４に基づき、本発明の実施形態に係るデバッグについて説明する。図４は、本発明の実施形態に係る端末２のキーボード２２の一例を示す平面図である。
【００４７】
プリンタ１等の各種機器では、制御のための多数のプログラムを内蔵するが、このプログラムに誤り、不具合があると、プリンタ１の異常停止や、異常動作の原因となり、この誤り、不具合の確認、修正を行うデバッグ作業が各種機器の開発段階では必須となる。このデバッグ作業は、本実施形態では、端末２を利用して行われる。
【００４８】
そして、デバッグ作業中は、実行中のプログラムを停止させ、プリンタ１の動作を停止させ、プリンタ１の状態を確認することが一般的である。即ち、プリンタ１の動作中、プログラムに問題があると考えられる異常動作があった場合、プリンタ１の現在の動作を停止させ、プリンタ１のモードをデバッグモードに移行させ、デバッグ作業を行う。言い換えると、デバッグモードに移行する場合、制御部７は、フラッシュＲＯＭ７４やＨＤＤ７３に記憶されるデバッグモードに移行してデバッグ作業を行うためのプログラム（デバッグモードプログラム）を起動し、プリンタ１で実行中のプログラム、動作を停止させる。
【００４９】
このプリンタ１のデバッグモードへの移行について、図４に基づき説明する。本実施形態のデバッグシステム１００では、まず、例えば、プリンタ１と通信するため、端末２でデバッグ用ソフトウェアを起動し、その後、図４に示すような、端末２のキーボード２２における複数のキーのうち、いずれかの特定のキー（以下「第１キー」と称する。）が押されると、プリンタ１でデバッグモードプログラムが起動され、プリンタ１がデバッグモードに移行する。より具体的に言うと、端末２で第１キーの入力されたことが、Ｉ／Ｆ部７６、２８を介し、端末２からプリンタ１に伝達され、この信号は、ＣＰＵ７１に割り込み信号として伝達され、ＣＰＵ７１は、この割り込み信号により第１キーが押されたことを検知し、実行中のプログラムを停止し、デバッグモードプログラムを起動する。
【００５０】
そして、ＣＰＵ７１は、所定時間内に、端末２において、第１キーと異なるいずれかの特定のキー（以下「第２キー」と称する）の入力が無ければ、デバッグモードを強制的に終了させる（＝通常モードに復帰）。言い換えると、端末２で第１キーの後、所定時間内に第２キーの入力がされたことが、Ｉ／Ｆ部７６、２８を介し、端末２からプリンタ１に伝達された場合に限り、デバッグモードを維持する。即ち、制御部７は、キーボード２２で特定の第１キーが押されたことを検知した場合、デバッグ対象機器をデバッグモードに切り替えるとともに、デバッグモードへの切替後、所定時間内に、入力部で第１キーとは異なる特定の第２キーが押されたことを検知しない場合、デバッグモードを終了させる。
【００５１】
これにより、搬送中のシートの摩擦から生ずる静電気や、高電圧が印加される転写ローラ５５や帯電装置５２から生ずるノイズ等で、デバッグモードに意図せず移行しても、自動的にデバッグモードから通常モードへの復帰がなされる。
【００５２】
ここで、所定時間は任意に設定できる時間であるが、例えば、３秒〜０．５秒、より好ましくは、２秒から１秒、更に好ましくは１秒程度に設定することができる。デバッグモードではプリンタ１の動作を停止させるため、所定時間があまりに長いと、ノイズ等によるデバッグモードの移行に伴う、プリンタ１の停止が明確に認識されるが、例えば、１秒程度の停止ならば、開発者、使用者にデバッグモードへの移行を気付かせず、混乱、誤解を招かない。又、デバッグモードを悪用しようとする第三者は、第１キーがデバッグモードに移行するためのコードキーとなっていることにも気付かない。
【００５３】
一方、所定時間が、あまりに短いと、第１キーに続き、第２キーへの入力が間に合わなくなるので、これらの点に留意して、所定時間は適宜設定される。この所定時間の計時は、制御部７の計時部７５が行うが、端末２にも計時部２７を設けて、所定時間内に第２キーの入力が無かったことをプリンタ１に伝達するようにしても良い。
【００５４】
又、「第１キー」と「第２キー」は、適宜設定することができる。例えば、図４に示すように、端末２には、複数のキーが存在するので、これらの内から、２つ設定すればよい。例えば、第１キーを「Ｘキー」（図４での符号は２２Ｘ）とし、第２キーを「Ｙキー」（図４での符号は２２Ｙ）とするなど、自由に設定することができる。
【００５５】
このように、「第１キー」と「第２キー」が連続して押されなければ、デバッグモードが維持されないことを知らない限り、デバッグ作業を行うことができないので、悪意の第三者によるプログラムの解析を防ぐこともできる。
【００５６】
そして、デバッグモードに移行し、このデバッグモードが維持されると、例えば、端末２では、デバッグ用の支援プログラムとして、デバッガを起動させ、本格的にデバッグ作業を行うことができる。デバッガでは、プログラムの不具合、誤り（バグ）の発見や修正のため、動作中のプログラムの状態を調べ、挙動に介入することができる。尚、デバッガのプログラム自体は、プリンタ１側のフラッシュＲＯＭ７４やＨＤＤ７３に記憶されていても良いし、端末２側のＨＤＤ２６等に記憶されていても良い。
【００５７】
例えば、デバッガは、修正対象のプログラムを一行ずつ動作を確認しつつ実行するステップ実行機能や、プログラムを特定の位置で中断するブレークポイント機能を備えることができる。又、プログラム実行の各時点での、ＲＡＭ７２の内容や、ＣＰＵ７１内のレジスタ（例えば、プログラムカウンタ、割り込みレジスタ、汎用レジスタ、アドレスレジスタ等）の内容などを確認することができる。これらの機能を用いて、プログラムの誤り、不具合を発見し、そのプログラムの修正を行うのである。
【００５８】
具体的には、図３に示すように、プリンタ１と端末２は接続されているので、使用者は、パッド型ポインティングデバイス２３やキーボード２２等を駆使して、確認したいプログラムやＲＡＭ７２のアドレスやレジスタを指示・入力し、その入力が、プリンタ１のＣＰＵ７１に伝達され、ＣＰＵ７１はこれを受けて、端末２に対し、ＲＡＭ７２の内容等を送信する。そして、その結果が端末２のディスプレイ２１に表示される。
【００５９】
次に、図５に基づき、本発明の実施形態に係るデバッグシステム１００でのデバッグ作業における制御の流れについて説明する。図５は、本発明の実施形態に係るデバッグ作業の流れの一例を示すフローチャートである。
【００６０】
まず、図５のスタートの状態では、デバッグ対象機器としてのプリンタ１と、使用者が実際にデバッグ作業を行うための端末２が接続されている状態である。
【００６１】
そして、開発中のプログラム検証過程で、プリンタ１で実行中のプログラムを原因とする異常動作（動作停止や動作が止まらない等）が認められた場合、使用者は、デバッグ作業を行う必要がある。
【００６２】
そのため、プリンタ１をデバッグモードに移行させるために、使用者により端末２のキーボード２２に第１キーの入力があったかを、端末制御部２０は確認する（ステップ♯１）。第１キーの入力があった場合（ステップ♯１のＹｅｓ）、端末２のキーボード２２への第１キーの入力は、プリンタ１の制御部７に伝達され、その結果、制御部７のＣＰＵ７１は、第１キーの入力を検知する（ステップ♯２）。尚、何ら入力がされない場合や、第１キー以外の他のキーが押された場合等、第１キーの入力がない場合（ステップ♯１のＮｏ）は、デバッグモードに移行することはないので、ステップ♯１に戻る。
【００６３】
そして、第１キーの入力を制御部７が検知した場合、制御部７は、プリンタ１の現在の実行中のプログラムを停止させ、プリンタ１の動作を停止し、デバッグモードに移行するためのデバッグモードプログラムを起動し、プリンタ１は、一旦、デバッグモードに移行する（ステップ♯３）。
【００６４】
そして、計時部が時間の計測を開始し（ステップ♯４）、制御部７は、第１キーの入力から所定時間が経過していないかの確認を行う（ステップ♯５）。所定時間が経過していなければ（ステップ♯５のＹｅｓ）、端末制御部２０は、端末２のキーボード２２に第２キーの入力があったかの確認を行う（ステップ♯６）。その後、所定時間が経過するまで、端末制御部２０による第２キーの入力があったかの確認は継続される（ステップ♯６のＮｏ、ステップ♯５へ）。
【００６５】
所定時間内に第２キーの入力があった場合（ステップ♯６のＹｅｓ）、その旨がプリンタ１の制御部７に伝達され、その結果、制御部７のＣＰＵ７１は、第２キーの入力を検知すると（ステップ♯７）、計時部の計時を停止させ、デバッグモードを維持する（ステップ♯８）。その後、開発者、使用者により、デバッガ等を利用してデバッグ作業が行われる（ステップ♯９）。そして、デバッグ作業が完了すれば（ステップ♯１０）、デバッグモードを終了し（ステップ♯１１）、制御部７は、プリンタ１のモードを通常モードに復帰させる（ステップ♯１２）。
【００６６】
一方、第１キーの入力後、所定時間内に第２キーの入力がなかった場合（ステップ♯５のＮｏ）、制御部７は、強制的にデバッグモードを終了し、通常モードに復帰する（ステップ♯１１へ）。このように、本実施形態のデバッグシステム１００では、第１キーと第２キーの入力が連続的に行われて初めて、デバッグモードが維持される。
【００６７】
尚、デバッグモードが終了されれば、例えば、デバッグモード移行時にＣＰＵ７１のレジスタ等にあらかじめ退避させておいた中断されたプログラムのアドレスをＣＰＵ７１が読み出し、そのアドレスからプログラムが再開されても良いし、プリンタ１が待機状態とされても良い。
【００６８】
このようにして、本発明の構成によれば、ノイズ等によりデバッグモードに意図せず切り替わっても、更に、所定時間内に特定の第２キーが押されない限り、デバッグモードは終了するから、ノイズ等により意図せずデバッグモードに移行しても、デバッグモードは自動的に終了する。従って、意図しないデバッグモードは直ちに終了し、開発者、使用者に混乱、誤解を招くことを防ぐことができる。又、一方、特定の第１キーと第２キーを押せば、デバッグモードに切り替えることができるので、開発者にデバッグモード状態の維持に複雑な操作を要求せず、デバッグモードへの切替の容易性は確保できる。
【００６９】
又、デバッグモードを利用すれば、プリンタ１（デバッグ対象機器）の各種データを得ることができるところ、デバッグモードへの切替方法を知らない第三者では、デバッグモードを維持させることができないので、悪意の第三者によるデバッグモードでの操作を防ぐことができ、開発上のセキュリティを高めることができる。又、意図しないデバッグモードへの切替を防ぐために、別途多くの部材を要することも、高コストの部材を用いる必要も無い。特に、画像形成装置での開発中における意図しないデバッグモード状態の維持を防ぐことができる。
【００７０】
以下、別実施形態について説明する。
【００７１】
上述の実施形態では、プリンタ１（画像形成装置）に本発明に係る記憶装置を用いた態様を示したが、これに限られるものではなく、プログラム等の各種データが組み込まれる複合機、複写機、携帯電話等、各種機器に適用可能である。
【００７２】
又、他の実施形態として、制御部７は、入力部で特定の第１キーが押されたことを検知した場合、プリンタ１等のデバッグ対象機器をデバッグモードに切り替えるとともに、デバッグモードへの切替後、所定時間内に、入力部で特定の第２キーに加え、更に、１又は複数の特定のキーが押されたことを検知しない場合、デバッグモードを終了させるようにしてもよい。この構成によれば、特定のキーを２回ではなく、３回以上押さなければデバッグモードが維持されないので、意図しないデバッグモード状態の維持が、完全に防がれ、又、開発上のセキュリティを高めることもできる。
【００７３】
又、本発明の実施形態を説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。
【産業上の利用可能性】
【００７４】
本発明は、デバッグ対象機器とこれに接続される端末から構成されるデバッグシステムやデバッグ方法に利用可能である。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施形態に係るデバッグ対象機器と端末の接続を示す概念図である。
【図２】本発明の実施形態に係るプリンタの概略構成を示す正面から見た模型的断面図である。
【図３】本発明の実施形態に係るデバッグシステムのブロック図である。
【図４】本発明の実施形態に係る端末のキーボードの一例を示す平面図である。
【図５】本発明の実施形態に係るデバッグ作業の流れの一例のフローチャートである。
【符号の説明】
【００７６】
１      プリンタ（デバッグ対象機器、画像形成装置）
２      端末
２２    キーボード（入力部）
７      制御部
７３    ＨＤＤ（記憶部）
７４    フラッシュＲＯＭ（記憶部）
１００  デバッグシステム
【図１】
2009140141.tif 000003
【図２】
2009140141.tif 000004
【図３】
2009140141.tif 000005
【図４】
2009140141.tif 000006
【図５】
2009140141.tif 000007