説明

画像形成装置

【課題】論理エラー発生原因を自動的に究明してユーザアプリケーションの開発効率を向上させる。
【解決手段】オペレーティングシステム30が例外を検出するとジョブ管理プログラム353を介しエラー解析プログラム353が実行される。エラー解析プログラム43は、エラー発生要因となるAPI実行順とエラー内容情報とが対応して格納されたエラーテーブル37を参照し、ロギング関数44により得られたAPI関数の名称とその実引数のログファイル(APIトレース結果)202にエラー発生要因となるAPI実行順が含まれているか否かを判定し、肯定判定した場合にはそのAPI実行順とエラー内容情報とを操作パネル15に供給させ又はNIC17を介しホストコンピュータ21に供給させる。エラーテーブル37は、API関数の引数の値及び任意記号を含んでいる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、原稿画像を読み取り、画像データを受信し又は記憶領域から画像データを読み出す画像入力手段と、この入力手段で得られた画像データを処理する画像処理手段と、処理された画像データに基づいて用紙に画像を形成し、画像データを送信し又は記憶領域に画像データを格納する画像出力手段とを備えた画像形成装置に係り、特に、ユーザ又はサードベンダが作成したユーザアプリケーションに対するデバッグ機能を備えた画像形成装置に関する。
【背景技術】
【0002】
画像形成装置、特に複合機では、組み込まれたサービスプログラムのAPIを用いて、ユーザ又はサードベンダが、特定用途において操作性のよい又は特殊機能を実現できるユーザアプリケーションを作成し、実行させることが可能となっている。
【0003】
下記特許文献1には、ネットワークに画像形成装置及びホストコンピュータを接続し、画像形成装置内のユーザアプリケーションをホストコンピュータからデバッグする方法が開示されている。
【特許文献1】特開2004−62828号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、汎用デバッガを用いているので、画像形成装置に特有の論理エラー発生原因を人が究明しなければならず、ユーザアプリケーションの開発効率が悪い。このため、便利なユーザアプリケーション機能が利用されない。
【0005】
本発明の目的は、このような問題点に鑑み、論理エラー発生原因を自動的に究明してユーザアプリケーションの開発効率を向上させることができる画像形成装置を提供することにある。
【課題を解決するための手段】
【0006】
本発明の第1態様では、
プロセッサと、
該プロセッサに結合されプログラム及びデータが格納された記憶手段と、
該プロセッサに結合され、操作パネルの表示装置又は通信インタフェースである出力手段と、
を有する画像形成装置において、
該プログラムは、オペレーティングシステム、該オペレーティングシステムの上層で動作し該オペレーティングシステムのAPIを用いたサービスプログラム、該サービスプログラムのAPIを用いたベンダーアプリケーションプログラム、API関数呼出命令トレース用ロギング関数及びエラー解析プログラムを含み、
該プログラムはさらに、該オペレーティングシステムのAPI、該サービスプログラムのAPI又は該ベンダーアプリケーションプログラムのAPIを用いたユーザアプリケーションを含むことができ、
該データは、エラー発生要因となるAPI実行順とエラー内容情報とが対応して格納されたエラーテーブルを含み、
該エラー解析プログラムは該プロセッサに対し、該エラーテーブルを参照させて、該ロギング関数により得られたAPIトレース結果にエラー発生要因となるAPI実行順が含まれているか否かを判定させ、肯定判定した場合にはそのAPI実行順とエラー内容情報とを該出力手段に供給させる。
【0007】
本発明による画像形成装置の第2態様では、第1態様において、該APIトレース結果には、API関数の名称及び実引数が含まれる。
【0008】
本発明による画像形成装置の第3態様では、第2態様において、
該エラーテーブルは、該API実行順におけるAPI関数の引数の値及び引数が任意であることを示すコードを含んでおり、
該エラー解析プログラムは該プロセッサに対しさらに、該肯定判定した場合に、該API実行順中のAPI関数に引数の値が含まれていれば、該APIトレース結果中の対応する引数が該値に等しいか否かを判定させ、肯定判定したときに該API実行順と該エラー内容情報とを該出力手段へ供給させる。
【0009】
本発明による画像形成装置の第4態様では、第2又は3態様において、
該プログラムはさらにジョブ管理プログラムを含み、
該ジョブ管理プログラムは該プロセッサに対し、該オペレーティングシステムがエラーを検出した場合に該エラー解析プログラムを実行させる。
【0010】
本発明による画像形成装置の第5態様では、第2乃至4態様のいずれか1つにおいて、
該プログラムはさらに実行制御プログラム、ロギングステップインサーター及びコンパイラを含み、
該実行制御プログラムは該プロセッサに対し、該ロギングステップインサーターを実行させてその処理が終了した後に該コンパイラを実行させ、
該ロギングステップインサーターは該プロセッサに対し、ソースコード中のAPI関数呼出命令を検出させて該API関数呼出命令の直前又は直後に、該API関数呼出命令の情報を引数とする、該ロギング関数の呼出命令を該ソースコードに挿入させ、
該コンパイラは該プロセッサに対し、該ロギング関数呼出命令が挿入されたソースコードをコンパイルさせて該ユーザアプリケーションを生成させる。
【発明の効果】
【0011】
上記第1態様の構成によれば、エラー解析プログラムがプロセッサに対し、エラー発生要因となるAPI実行順とエラー内容情報とが対応して格納されたエラーテーブルを参照させて、ロギング関数により得られたAPIトレース結果にエラー発生要因となるAPI実行順が含まれているか否かを判定させ、肯定判定した場合にはそのAPI実行順とエラー内容情報とを出力手段に供給させるので、論理エラー発生原因を自動的に究明してユーザアプリケーションの開発効率を向上させることができるという効果を奏し、ユーザアプリケーション機能の利用拡大に寄与するところが大きい。
【0012】
上記第2態様の構成によれば、該APIトレース結果にAPI関数の名称及び実引数が含まれるので、論理エラー発生原因をより詳細に究明することができるという効果を奏する。
【0013】
上記第3態様の構成によれば、該エラーテーブルが、該API実行順におけるAPI関数の引数の値及び引数が任意であることを示すコードを含んでおり、該エラー解析プログラムが該プロセッサに対し、該肯定判定した場合に、該API実行順中のAPI関数に引数の値が含まれていれば、該APIトレース結果中の対応する引数が該値に等しいか否かを判定させ、肯定判定したときに該API実行順と該エラー内容情報とを該出力手段へ供給させるので、該エラー解析プログラムの構成を簡単化できるという効果を奏する。
【0014】
上記第4態様の構成によれば、ジョブ管理プログラムが該プロセッサに対し、該オペレーティングシステムがエラーを検出した場合に該エラー解析プログラムを実行させるので、エラーが発生したときのみ自動的にエラー発生に対処できるという効果を奏する。
【0015】
上記第5態様の構成によれば、実行制御プログラムが該プロセッサに対し、ロギングステップインサーターを実行させてその処理が終了した後にコンパイラを実行させ、該ロギングステップインサーターが該プロセッサに対し、ソースコード中のAPI関数呼出命令を検出させて該API関数呼出命令の直前又は直後に、該API関数呼出命令の情報を引数とする、該ロギング関数の呼出命令を該ソースコードに挿入させ、該コンパイラが該プロセッサに対し、該ロギング関数呼出命令が挿入されたソースコードをコンパイルさせて該ユーザアプリケーションを生成させるので、該ユーザアプリケーションを実行させることによりエラー原因究明に必要なAPIトレース結果を容易に得ることができるという効果を奏する。
【0016】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【実施例1】
【0017】
図9は、本発明の実施例1に係る画像形成装置10のハードウェア構成を示す概略ブロック図である。
【0018】
この画像形成装置10では、MPU11にインタフェース12を介してEEPROM13N1、EEPROM13N2、DRAM13D、HDD14、操作パネル15、スキャナ16S、プリンタ16P、NIC17、モデム18及びコネクタ19が結合されている。図9では、簡単化のため、複数のインタフェースを1つのブロックで示している。
【0019】
EEPROM13N1及びEEPROM13N2は、例えばフラッシュメモリである。
【0020】
EEPROM13N1には、BIOS(Basic Inpit Output System)及びBIOS設定データが格納されている。
【0021】
EEPROM13N2には、OS(オペレーティングシステム)、OSの上層のサービスプログラム(SP)及びアプリケーション(APL)並びにOSの下層のデバイスドライバ(DD)が格納されている。
【0022】
DRAM13Dは、ワークエリア用並びにユーザアプリケーションの開発及び実行用である。HDD14は、データ格納用である。スキャナ16Sは、コピー及びファックス送信での画像入力用である。プリンタ16Pは、プリントエンジン、定着器並びに用紙の給紙部、搬送部及び排紙部を備えており、供給されるビットマップデータに基づいてプリントエンジンの感光ドラムに静電潜像を形成し、これをトナーで現像し、用紙に転写し定着させた後に排紙する。NIC17は、ケーブル又は無線の通信媒体を介してホストコンピュータ21に結合されてプリントジョブに用いられる。モデム18は、ファックス送受信用である。
【0023】
図7は、上記画像形成装置10のソフトウェア階層構造を示す概略ブロック図である。
【0024】
OS30の下層には、各種ハードウェアのそれぞれに対応したデバイスドライバ群31が備えられている。OS30の上層には、OS30内の各種機能を利用するためのAPI群32を介して、基本サービスプログラム33が備えられている。基本サービスプログラム33は、操作パネル制御モジュール330と、画像入力モジュール群と、このモジュールで得られた画像データを処理するデータ処理モジュール群と、処理された画像データを出力する画像出力モジュール群とを備えている。
【0025】
操作パネル制御モジュール330は、操作パネル15上に操作釦を表示させ、その押下を検出させ、設定処理を行うためのものである。画像入力モジュール群には、スキャンモジュール331、FAX受信モジュール332及び電子メール受信モジュール333が含まれ、画像出力モジュール群には、プリントモジュール334、FAX送信モジュール335及び電子メール送信モジュール336が含まれ、データ処理モジュール群には画像データのフォーマットや階調を変換し又は画像を拡縮するデータ変換モジュール337並びに不図示の集約処理モジュール及び頁付モジュール等が含まれる。基本サービスプログラム33にはさらに、FAX送信及び電子メール送信での宛先指定に用いられるアドレス帳モジュール338と、ユーザアプリサービス群339とが含まれる。
【0026】
ユーザアプリサービス群339は、図8に示す如く、後述のロギングステップインサーター40、コンパイラ41、実行制御プログラム42、エラー解析プログラム43及びロギングプログラム44を含んでいる。
【0027】
基本サービスプログラム33の各モジュールは、API群32を介してOS30の機能を利用している。
【0028】
基本サービスプログラム33の上層には、外部API群34を介してベンダーアプリケーション35が備えられ、これには、コピーモジュール350、FAXモジュール351、電子メールモジュール352、ジョブ管理モジュール353及び操作パネルモジュール354が含まれている。モジュール350〜354は、全体として1つの統合化アプリケーションであっても、それぞれがアプリケーションであってもよい。
【0029】
ベンダーアプリケーション35は、外部API群34を介し基本サービスプログラム33のモジュールを用いて作成されたプログラムである。例えば、コピーモジュール350は、スキャンモジュール331とプリントモジュール334とを組み合わせて構成されている。また、FAXモジュール351は、FAX受信モジュール332とFAX送信モジュール335とアドレス帳モジュール338とを組み合わせて構成されている。
【0030】
ベンダーアプリケーション35の上層には、ベンダーアプリケーション35の各種機能を利用するための外部API群36が備えられている。
【0031】
以上のプログラムは、図9のEEPROM13N2に格納されている。
【0032】
外部API群36の上層には、ユーザアプリケーション201が存在する。ユーザアプリケーション201は、API群32、34及び36のいずれも用いることができる。ベンダーアプリケーション35は、ユーザアプリケーション201から見れば応用サービスプログラムである。
【0033】
図9において、ソースコードファイル200が格納されたコンパクトフラッシュ(登録商標、以下CFと記載)メモリカード20をコネクタ19に接続させることにより、後述の処理が行われて、CFメモリカード20にユーザアプリケーション201、ログファイル202及びエラー情報ファイル203が格納される。
【0034】
図1は、ユーザアプリケーション201に関する処理の機能ブロック図である。
【0035】
実行制御プログラム42は、CFメモリカード20がコネクタ19に接続されたことを検出すると、まず、ロギングステップインサーター40を起動させる。ロギングステップインサーター40は、ソースコードファイル200から命令文を一行ずつ読み出し、後述のようにロギングステップを挿入してソースコードファイル200Aを作成しCFメモリカード20に格納させる。
【0036】
図2は、ロギングステップインサーター40の処理を示す詳細フローチャートである。以下、括弧内は図中のステップ識別符号である。
【0037】
(S0)CFメモリカード20内のディレクトリーを参照して、ファイル識別子に基づきソースコードファイル200を探索し、その名称リストを操作パネル15に表示させる。
【0038】
(S1)ユーザが操作パネル15を操作して1つのソースコードファイル200を選択すると、ソースコードファイル200内の全文についてステップS2とステップS8との間の処理が繰り返し実行される。
【0039】
(S3)1文を読み込む。外部API群34及び36を参照し、この文がAPI関数呼出命令文であるか否かを判定する。肯定判定した場合にはステップS5へ進み、そうでなければステップS7へ進む。
【0040】
(S5)このAPIの名称及び引数を、ロギング関数呼出命令の引数とする。
【0041】
(S6)このロギング関数の呼出命令をCFメモリカード20内のソースコードファイル200Aに書き込む。
【0042】
(S7)ステップS3で読み込んだ1文を、CFメモリカード20内のソースコードファイル200Aに書き込む。このような処理により、図3(A)に示すようなソースコードファイル200に対し、その中のAPI関数呼出命令、例えばfncAPI(x、y)の前に、図3(B)に示す如く、この関数の関数名及び引数を引数とするロギング関数呼出命令fncLogAPI(fncAPI、x、y)が挿入される。
【0043】
図1に戻って、実行制御プログラム42は、ロギングステップインサーター40による処理が終了すると、次にコンパイラ41を起動させて、CFメモリカード20内のソースコードファイル200Aの内容をDRAM13D上にロードさせてこれをコンパイルさせ、実行可能ファイルであるユーザアプリケーション201をDRAM13D内に生成させ、このユーザアプリケーション201をCFメモリカード20に格納させる。
【0044】
実行制御プログラム42は次に、DRAM13D内のユーザアプリケーション201を起動させる。ユーザアプリケーション201にはロギングステップが挿入されているので、このステップでロギングプログラム44が呼び出されて、これから実行しようとするAPI関数のログが、DRAM13D内のバッファ領域を介してCFメモリ20内のログファイル202に格納される。ログファイル202は、例えばHTMLファイル又はXMLファイルである。
【0045】
例えば図4(A)に示すようなユーザアプリケーション201の場合、図4(B)に示すようなログファイル202が作成される。図4では、理解を容易にするため高級言語のソースコードを簡単化して記載し、文字を使用して引数を分かり易く表記している。
【0046】
図4(A)のユーザアプリケーション201は例えば、原稿をスキャンし、その控えを自分宛に電子メールで送信し、顧客にG3普通モードでファクシミリ送信する処理をワンタッチで行うものであるとする。図4(A)に示す、外部API群34に含まれる3つのAPIの呼出命令は、ファクシミリ送信に関するものであり、以下の通りである。
【0047】
(1)fncScan( 256level, 400dpi, 400dpi, file1)
モノクロ256階調及び解像度400dpi× 400dpiで原稿をスキャンしてそのデータをファイルfile1に格納させる。
【0048】
(2)fncConv( file1, binary, 1/2, 1/2)
ファイルfile1の画像を白黒2値画像に変換し、かつ、x方向縮小率1/2及びy方向縮小率1/2で縮小変換させ、これをファイルfile1とする。
【0049】
(3)fncSendFAX( file1, normal, address(3))
ファイルfile1の画像を、普通モードで、アドレス帳内のシリアルナンバー3に登録された宛先へファクシミリ送信する。
【0050】
上記(2)の引数に誤りがあって、上記(3)のAPI関数呼出命令がG3ファクシミリ規格に反するものとなれば、エラーが生ずる。ユーザアプリケーション201の実行中において、ハードウェアに対するアクセスはOS30内のAPI関数の呼出命令を介して行われ、その際にOS30が例外、例えばセグメントフォールトを検出すると、処理がそこで停止する。ジョブ管理モジュール353は、定期的なタイマー割込により、OS30によるエラー検出を監視しており、このエラー検出に応答してエラー解析プログラム43を起動させる。
【0051】
エラー解析プログラム43は、エラーテーブル37とログファイル202との内容に基づいて、エラー解析を行い、その結果をエラー情報ファイル203として出力する。
【0052】
エラーテーブル37は、図6(A)に示すようなテーブル370と、図6(B)に示すようなテーブル371とを含んでいる。
【0053】
テーブル370は、シリアルナンバーNoと、禁止API順と、エラーコードとのフィールドを含んでいる。テーブル371は、エラーコードと、これに対応したエラー内容とのフィールドを含んでいる。
【0054】
テーブル370中の関数名f1、f2及びf3はそれぞれ、図4(A)中の関数名fncScan、fncConv及びfncSendFAXを簡略記載したものである。関数中の符号"−"は、任意の値であることを示している。例えばテーブル370のNo=1の行の禁止API順は、関数f1と関数f3との間に関数f2が無く、かつ、関数f1について主走査方向及び副走査方向の解像度がいずれも400dpiである場合を示す。この場合、G3ファクシミリ規格から外れるので、関数f3の引数によらずエラーが生ずる原因となる。
【0055】
図5は、エラー解析プログラム43による処理を示すフローチャートである。
【0056】
テーブル370内の全てのAPI禁止順について、ステップS10とステップS14との間の処理を繰り返し実行する。
【0057】
(S11)No=iの行の禁止API順及びエラーコードを読み出す。
【0058】
(S12)ログファイル202中にこの禁止API順が存在するか否かを調べ、存在すればステップS13へ進み、そうでなければステップS14を介しステップS11へ進む。
【0059】
(S13)ステップS11で読み込んだエラーコードをキーとして、テーブル371を参照し、そのエラー内容を読み出す。このエラー内容と、ステップS11で読み込んだ禁止API順の内容とを、エラー情報ファイル203に書き込むとともに、操作パネル15に表示させ又はNIC17を介しホストコンピュータ21にエラー情報ファイル203、例えばHTMLファイルを供給して、ブラウザでエラー情報を確認できるようにする。
【0060】
本実施例1によれば、エラー解析プログラム43がMPU11に対し、エラー発生要因となるAPI実行順とエラー内容情報とが対応して格納されたエラーテーブル37を参照させて、ロギング関数44により得られたログファイル(APIトレース結果)202にエラー発生要因となるAPI実行順が含まれているか否かを判定させ、肯定判定した場合にはそのAPI実行順とエラー内容情報とを操作パネル15に供給させ又はNIC17を介しホストコンピュータ21に供給させるので、論理エラー発生原因を自動的に究明してユーザアプリケーションの開発効率を向上させることができるという効果を奏する。この自動的究明により、上述の公報のようにホストコンピュータ21を画像形成装置10に接続して両者を連携させることによりデバッグするという複雑な構成を用いる必要がない。
【0061】
また、APIトレース結果202にAPI関数の名称及び実引数が含まれるので、論理エラー発生原因をより詳細に究明することができるという効果を奏する。
【0062】
さらに、エラーテーブル37が、該API実行順におけるAPI関数の引数の値及び引数が任意であることを示すコードを含んでおり、エラー解析プログラム43がMPU11に対し、該肯定判定した場合に、該API実行順中のAPI関数に引数の値が含まれていれば、APIトレース結果202中の対応する引数が該値に等しいか否かを判定させ、肯定判定したときに該API実行順と該エラー内容情報とを出力させるので、エラー解析プログラム43の構成を簡単化できるという効果を奏する。換言すれば、エラー発生原因となるAPI実行順のそれぞれに対応したエラー判定プログラムを作成すると、エラー解析プログラム43の構成が複雑になるとともに、エラー発生原因となるAPI実行順を新たに追加する毎にエラー解析プログラム43を改訂しなければならない。
【0063】
また、ジョブ管理プログラム353がMPU11に対し、オペレーティングシステム30が例外を検出した場合にエラー解析プログラム353を実行させるので、エラーが発生したときのみ自動的にエラー発生に対処できるという効果を奏する。
【0064】
さらにまた、実行制御プログラム42がMPU11に対し、ロギングステップインサーター40を実行させてその処理が終了した後にコンパイラ41を実行させ、ロギングステップインサーター40がMPU11に対し、ソースコード200中のAPI関数呼出命令を検出させて該API関数呼出命令の直前に、該API関数呼出命令の情報を引数とする、ロギング関数44の呼出命令を該ソースコードに挿入させてソースコード200Aを生成し、コンパイラ41がMPU11に対し、ソースコード200Aをコンパイルさせてユーザアプリケーション201を生成させるので、ユーザアプリケーション201を実行させることによりエラー原因究明に必要なAPIトレース結果202を容易に得ることができるという効果を奏する。
【0065】
また、API関数呼出命令の直前にロギング関数呼出命令を挿入するので、呼び出されたAPI関数実行中に例外が生じて動作が停止しても、このAPI関数呼出命令のログを取得でき、より確実にエラー発生原因を知得することができるという効果を奏する。
【0066】
なお、本発明には外にも種々の変形例が含まれる。
【0067】
例えば、API関数呼出命令の直後にロギング関数呼出命令を挿入する構成であってもよい。特にこのAPI関数が新たなスレッドとして実行される場合、ロギング関数呼出命令がこのスレッドと並列に実行されるので、API関数実行中に例外が生じて動作が停止しても、このAPI関数呼出命令のログを取得できる。
【図面の簡単な説明】
【0068】
【図1】本発明の実施例1の、ユーザアプリケーションに関する処理の機能ブロック図である。
【図2】図1中のロギングステップインサーターの処理を示す詳細フローチャートである。
【図3】図2の処理の説明図であって、(A)及び(B)はそれぞれロギングステップ挿入前及び挿入後のソースコード説明図である。
【図4】(A)はAPI関数呼出命令を含んだユーザアプリケーションの説明図、(B)はこのユーザアプリケーションを実行して得られるログファイルの説明図である。
【図5】図1中のエラー解析プログラムによる処理を示すフローチャートである。
【図6】(A)及び(B)は、エラーテーブルを構成するリレーショナルテーブルの説明図である。
【図7】本発明の実施例1に係る画像形成装置のソフトウェア階層構造を示す概略ブロック図である。
【図8】図7中のユーザアプリサービス群の構成を示すブロック図である。
【図9】本発明の実施例1に係る画像形成装置のハードウェア構成を示す概略ブロック図である。
【符号の説明】
【0069】
10 画像形成装置
11 MPU
12 インタフェース
13N1、13N2 EEPROM
13D DRAM
14 ハードディスク
15 操作パネル
16S スキャナ
16P プリンタ
17 NIC
18 モデム
19 コネクタ
20 CFメモリカード
200 ソースコードファイル
201 ユーザアプリケーション
202 ログファイル
203 エラー情報ファイル
21 ホストコンピュータ
30 OS
31 デバイスドライバ群
32 API群
33 基本サービスプログラム
330 操作パネル制御モジュール
331 スキャンモジュール
332 FAX受信モジュール
333 電子メール受信モジュール
334 プリントモジュール
335 FAX送信モジュール
336 電子メール送信モジュール
337 データ変換モジュール
338 アドレス帳モジュール
339 ユーザアプリサービス群
34、36 外部API群
35 ベンダーアプリケーション
350 コピーモジュール
351 FAXモジュール
352 電子メールモジュール
353 ジョブ管理モジュール
354 操作パネルモジュール
37 エラーテーブル
370、371 テーブル
40 ロギングステップインサーター
41 コンパイラ
42 実行制御プログラム
43 エラー解析プログラム
44 ロギングプログラム

【特許請求の範囲】
【請求項1】
プロセッサと、
該プロセッサに結合されプログラム及びデータが格納された記憶手段と、
該プロセッサに結合され、操作パネルの表示装置又は通信インタフェースである出力手段と、
を有する画像形成装置において、
該プログラムは、オペレーティングシステム、該オペレーティングシステムの上層で動作し該オペレーティングシステムのAPIを用いたサービスプログラム、該サービスプログラムのAPIを用いたベンダーアプリケーションプログラム、API関数呼出命令トレース用ロギング関数及びエラー解析プログラムを含み、
該プログラムはさらに、該オペレーティングシステムのAPI、該サービスプログラムのAPI又は該ベンダーアプリケーションプログラムのAPIを用いたユーザアプリケーションを含むことができ、
該データは、エラー発生要因となるAPI実行順とエラー内容情報とが対応して格納されたエラーテーブルを含み、
該エラー解析プログラムは該プロセッサに対し、該エラーテーブルを参照させて、該ロギング関数により得られたAPIトレース結果にエラー発生要因となるAPI実行順が含まれているか否かを判定させ、肯定判定した場合にはそのAPI実行順とエラー内容情報とを該出力手段に供給させる、
ことを特徴とする画像形成装置。
【請求項2】
該APIトレース結果には、API関数の名称及び実引数が含まれることを特徴とする請求項1に記載の画像形成装置。
【請求項3】
該エラーテーブルは、該API実行順におけるAPI関数の引数の値及び引数が任意であることを示すコードを含んでおり、
該エラー解析プログラムは該プロセッサに対しさらに、該肯定判定した場合に、該API実行順中のAPI関数に引数の値が含まれていれば、該APIトレース結果中の対応する引数が該値に等しいか否かを判定させ、肯定判定したときに該API実行順と該エラー内容情報とを該出力手段へ供給させる、
ことを特徴とする請求項2に記載の画像形成装置。
【請求項4】
該プログラムはさらにジョブ管理プログラムを含み、
該ジョブ管理プログラムは該プロセッサに対し、該オペレーティングシステムがエラーを検出した場合に該エラー解析プログラムを実行させる、
ことを特徴とする請求項2又は3に記載の画像形成装置。
【請求項5】
該プログラムはさらに実行制御プログラム、ロギングステップインサーター及びコンパイラを含み、
該実行制御プログラムは該プロセッサに対し、該ロギングステップインサーターを実行させてその処理が終了した後に該コンパイラを実行させ、
該ロギングステップインサーターは該プロセッサに対し、ソースコード中のAPI関数呼出命令を検出させて該API関数呼出命令の直前又は直後に、該API関数呼出命令の情報を引数とする、該ロギング関数の呼出命令を該ソースコードに挿入させ、
該コンパイラは該プロセッサに対し、該ロギング関数呼出命令が挿入されたソースコードをコンパイルさせて該ユーザアプリケーションを生成させる、
ことを特徴とする請求項2乃至4のいずれか1つに記載の画像形成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2008−27172(P2008−27172A)
【公開日】平成20年2月7日(2008.2.7)
【国際特許分類】
【出願番号】特願2006−198761(P2006−198761)
【出願日】平成18年7月20日(2006.7.20)
【出願人】(000006150)京セラミタ株式会社 (13,173)
【Fターム(参考)】