JP2008027171A - Image forming apparatus - Google Patents
Image forming apparatus Download PDFInfo
- Publication number
- JP2008027171A JP2008027171A JP2006198760A JP2006198760A JP2008027171A JP 2008027171 A JP2008027171 A JP 2008027171A JP 2006198760 A JP2006198760 A JP 2006198760A JP 2006198760 A JP2006198760 A JP 2006198760A JP 2008027171 A JP2008027171 A JP 2008027171A
- Authority
- JP
- Japan
- Prior art keywords
- api
- error
- program
- image forming
- forming apparatus
- 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
Links
Images
Abstract
Description
本発明は、原稿画像を読み取り、画像データを受信し又は記憶領域から画像データを読み出す画像入力手段と、この入力手段で得られた画像データを処理する画像処理手段と、処理された画像データに基づいて用紙に画像を形成し、画像データを送信し又は記憶領域に画像データを格納する画像出力手段とを備えた画像形成装置に係り、特に、ユーザ又はサードベンダが作成したユーザアプリケーションに対するデバッグ機能を備えた画像形成装置に関する。 The present invention provides an image input means for reading a document image, receiving image data or reading image data from a storage area, an image processing means for processing image data obtained by the input means, and processing the image data. The present invention relates to an image forming apparatus including an image output unit that forms an image on a sheet and transmits image data or stores image data in a storage area, and in particular, a debugging function for a user application created by a user or a third vendor The present invention relates to an image forming apparatus including
画像形成装置、特に複合機では、組み込まれたサービスプログラムのAPIを用いて、ユーザ又はサードベンダが、特定用途において操作性のよい又は特殊機能を実現できるユーザアプリケーションを作成し、実行させることが可能となっている。 In an image forming apparatus, particularly a multi-function peripheral, a user application or a third vendor can create and execute a user application that can realize a good operability or a special function in a specific application by using an API of an embedded service program. It has become.
下記特許文献1には、ネットワークに画像形成装置及びホストコンピュータを接続し、画像形成装置内のユーザアプリケーションをホストコンピュータからデバッグする方法が開示されている。
しかしながら、汎用デバッガを用いているので、画像形成装置に特有の論理エラー発生原因を人が究明しなければならず、ユーザアプリケーションの開発効率が悪い。このため、便利なユーザアプリケーション機能が利用されない。 However, since a general-purpose debugger is used, a person must investigate the cause of occurrence of a logic error unique to the image forming apparatus, and the development efficiency of the user application is poor. For this reason, a convenient user application function is not used.
また、ネットワークを介してデバッグを行う構成が必要になり、コスト高となる。論理エラー発生原因を自動究明するように構成すれば、ネットワークを介してデバッグを行う必要性が低くなる。 In addition, a configuration for debugging via a network is required, which increases costs. If it is configured to automatically investigate the cause of the occurrence of a logic error, the need for debugging via a network is reduced.
本発明の目的は、このような問題点に鑑み、簡単な構成で、論理エラー発生原因を自動的に究明してユーザアプリケーションの開発効率を向上させることができる画像形成装置を提供することにある。 SUMMARY OF THE INVENTION An object of the present invention is to provide an image forming apparatus that can automatically investigate the cause of occurrence of a logical error and improve the development efficiency of a user application with a simple configuration in view of such problems. .
本発明による画像形成装置の第1態様では、
プロセッサと、
該プロセッサに結合されプログラム及びデータが格納された記憶手段と、
該プロセッサに結合され、リムーバブル記憶装置が結合されるリムーバブル記憶装置インタフェースと、
を有する画像形成装置において、
該プログラムは、オペレーティングシステム、該オペレーティングシステムの上層で動作し該オペレーティングシステムのAPIを用いたサービスプログラム、該サービスプログラムのAPIを用いたベンダーアプリケーションプログラム、API関数呼出命令トレース用ロギング関数及びエラー解析プログラムを含み、
該リムーバブル記憶装置には、該オペレーティングシステムのAPI、該サービスプログラムのAPI又は該ベンダーアプリケーションプログラムのAPIを用いたユーザアプリケーションが格納されており、
該データは、エラー発生要因となるAPI実行順とエラー内容情報とが対応して格納されたエラーテーブルを含み、
該エラー解析プログラムは該プロセッサに対し、該エラーテーブルを参照させて、該ロギング関数により得られたAPIトレース結果にエラー発生要因となるAPI実行順が含まれているか否かを判定させ、肯定判定した場合にはそのAPI実行順とエラー内容情報とを含むエラー情報ファイルを、該インタフェースを介し該リムーバブル記憶装に格納させる。
In the first aspect of the image forming apparatus according to the present invention,
A processor;
Storage means coupled to the processor for storing programs and data;
A removable storage device interface coupled to the processor and to which a removable storage device is coupled;
In an image forming apparatus having
The program includes an operating system, a service program that operates on the upper layer of the operating system and uses the API of the operating system, a vendor application program that uses the API of the service program, a logging function for tracing an API function call instruction, and an error analysis program Including
The removable storage device stores a user application using the API of the operating system, the API of the service program, or the API of the vendor application program,
The data includes an error table in which API execution order that causes an error and error content information are stored correspondingly,
The error analysis program causes the processor to refer to the error table to determine whether or not the API execution order that causes an error is included in the API trace result obtained by the logging function. In such a case, an error information file including the API execution order and error content information is stored in the removable storage device via the interface.
本発明による画像形成装置の第2態様では、第1態様において、該エラー解析プログラムは該プロセッサに対し、該トレース結果を含むファイルを該インタフェースを介し該リムーバブル記憶装に格納させる。 In a second aspect of the image forming apparatus according to the present invention, in the first aspect, the error analysis program causes the processor to store a file including the trace result in the removable storage device via the interface.
本発明による画像形成装置の第3態様では、第2態様において、該エラー情報ファイル及び該トレース結果を含むファイルはいずれも、ホストコンピュータのブラウザで表示可能なファイル形式である。 In a third aspect of the image forming apparatus according to the present invention, in the second aspect, both the error information file and the file including the trace result are in a file format that can be displayed by a browser of a host computer.
本発明による画像形成装置の第4態様では、第2態様において、該APIトレース結果には、API関数の名称及び実引数が含まれる。 In a fourth aspect of the image forming apparatus according to the present invention, in the second aspect, the API trace result includes an API function name and an actual argument.
本発明による画像形成装置の第5態様では、第4態様において、
該エラーテーブルは、該API実行順におけるAPI関数の引数の値及び引数が任意であることを示すコードを含んでおり、
該エラー解析プログラムは該プロセッサに対しさらに、該肯定判定した場合に、該API実行順中のAPI関数に引数の値が含まれていれば、該APIトレース結果中の対応する引数が該値に等しいか否かを判定させ、肯定判定したときに該API実行順と該エラー内容情報とを該出力手段へ供給させる。
In a fifth aspect of the image forming apparatus according to the present invention, in the fourth aspect,
The error table includes an API function argument value in the API execution order and a code indicating that the argument is arbitrary.
If the error analysis program further makes an affirmative decision with respect to the processor, and if the API function in the API execution order includes an argument value, the corresponding argument in the API trace result is set to the value. It is determined whether or not they are equal, and when an affirmative determination is made, the API execution order and the error content information are supplied to the output means.
本発明による画像形成装置の第6態様では、第5態様において、
該プログラムはさらにジョブ管理プログラムを含み、
該ジョブ管理プログラムは該プロセッサに対し、該オペレーティングシステムがエラーを検出した場合に該エラー解析プログラムを実行させる。
In a sixth aspect of the image forming apparatus according to the present invention, in the fifth aspect,
The program further includes a job management program,
The job management program causes the processor to execute the error analysis program when the operating system detects an error.
本発明による画像形成装置の第7態様では、第6態様において、
該プログラムはさらに実行制御プログラム、ロギングステップインサーター及びコンパイラを含み、
該リムーバブル記憶装置にはさらに該ユーザアプリケーションの第1ソースコードが含まれ、
該実行制御プログラムは該プロセッサに対し、該ロギングステップインサーターを実行させてその処理が終了した後に該コンパイラを実行させ、
該ロギングステップインサーターは該プロセッサに対し、該第1ソースコードに含まれるAPI関数呼出命令を検出させて該API関数呼出命令の直前又は直後に、該API関数呼出命令の情報を引数とする、該ロギング関数の呼出命令を該第1ソースコードに挿入させ、該第1ソースコードに該ロギング関数呼出命令が挿入された第2ソースコードを該リムーバブル記憶装置に格納させ、
該コンパイラは該プロセッサに対し、該第2ソースコードをコンパイルさせて該ユーザアプリケーションを生成させ該リムーバブル記憶装置に格納させる。
In a seventh aspect of the image forming apparatus according to the present invention, in the sixth aspect,
The program further includes an execution control program, a logging step inserter, and a compiler,
The removable storage device further includes a first source code of the user application,
The execution control program causes the processor to execute the logging step inserter and execute the compiler after the processing is completed.
The logging step inserter causes the processor to detect an API function call instruction included in the first source code, and uses the API function call instruction information as an argument immediately before or immediately after the API function call instruction. Causing the logging function call instruction to be inserted into the first source code, and storing the second source code in which the logging function call instruction is inserted into the first source code in the removable storage device;
The compiler causes the processor to compile the second source code to generate the user application and store it in the removable storage device.
上記第1態様の構成によれば、エラー解析プログラムがプロセッサに対し、エラー発生要因となるAPI実行順とエラー内容情報とが対応して格納されたエラーテーブルを参照させて、ロギング関数により得られたAPIトレース結果にエラー発生要因となるAPI実行順が含まれているか否かを判定させ、肯定判定した場合にはそのAPI実行順とエラー内容情報とを含むエラー情報ファイルを、インタフェースを介しリムーバブル記憶装に格納させるので、該リムーバブル記憶装を画像形成装置から抜脱させてホストコンピュータに接続し、該エラー情報ファイルの内容を閲覧することにより、論理エラー発生原因を容易に知得することが可能となり、簡単な構成でユーザアプリケーションの開発効率を向上させることができるという効果を奏し、ユーザアプリケーション機能の利用拡大に寄与するところが大きい。 According to the configuration of the first aspect, the error analysis program is obtained by the logging function by referring to the error table in which the API execution order that causes the error and the error content information are stored corresponding to the processor. It is determined whether the API execution order that causes an error is included in the API trace result, and if an affirmative determination is made, an error information file including the API execution order and error content information is removed via the interface. Since it is stored in the storage device, it is possible to easily know the cause of the logical error by removing the removable storage device from the image forming device, connecting it to the host computer, and browsing the contents of the error information file Therefore, it is possible to improve the development efficiency of user applications with a simple configuration. The frequently paid, which greatly contributes to the increased use of user application functionality.
上記第2態様の構成によれば、該エラー解析プログラムが該プロセッサに対し、該トレース結果を含むファイルを該インタフェースを介し該リムーバブル記憶装に格納させるので、論理エラー発生原因をさらに詳細に把握することが可能となるという効果を奏する。 According to the configuration of the second aspect, the error analysis program causes the processor to store the file including the trace result in the removable storage device via the interface, so that the cause of the logical error can be grasped in more detail. There is an effect that it becomes possible.
上記第3態様の構成によれば、該エラー情報ファイル及び該トレース結果を含むファイルがいずれも、ホストコンピュータのブラウザで表示可能なファイル形式であるので、このファイルの作成が容易であるとともに閲覧に特別なソフトを必要としないという効果を奏する。 According to the configuration of the third aspect, since both the error information file and the file including the trace result are in a file format that can be displayed by the browser of the host computer, the file can be easily created and browsed. The effect is that no special software is required.
上記第4態様の構成によれば、該APIトレース結果にAPI関数の名称及び実引数が含まれるので、論理エラー発生原因をより詳細に究明することができるという効果を奏する。 According to the configuration of the fourth aspect, since the API function name and the actual argument are included in the API trace result, there is an effect that the cause of the logical error can be investigated in more detail.
上記第5態様の構成によれば、該エラーテーブルが、該API実行順におけるAPI関数の引数の値及び引数が任意であることを示すコードを含んでおり、該エラー解析プログラムが該プロセッサに対し、該肯定判定した場合に、該API実行順中のAPI関数に引数の値が含まれていれば、該APIトレース結果中の対応する引数が該値に等しいか否かを判定させ、肯定判定したときに該API実行順と該エラー内容情報とを該出力手段へ供給させるので、該エラー解析プログラムの構成を簡単化できるという効果を奏する。 According to the configuration of the fifth aspect, the error table includes a code indicating that an argument value and an argument of the API function in the API execution order are arbitrary, and the error analysis program is provided to the processor. If the API function in the API execution order includes an argument value when the affirmative determination is made, it is determined whether or not the corresponding argument in the API trace result is equal to the value. In this case, the API execution order and the error content information are supplied to the output means, so that the configuration of the error analysis program can be simplified.
上記第6態様の構成によれば、ジョブ管理プログラムが該プロセッサに対し、該オペレーティングシステムがエラーを検出した場合に該エラー解析プログラムを実行させるので、エラーが発生したときのみ自動的にエラー発生に対処できるという効果を奏する。 According to the configuration of the sixth aspect, since the job management program causes the processor to execute the error analysis program when the operating system detects an error, the error is automatically generated only when an error occurs. The effect that it can cope is produced.
上記第7態様の構成によれば、実行制御プログラムが該プロセッサに対し、ロギングステップインサーターを実行させてその処理が終了した後にコンパイラを実行させ、該ロギングステップインサーターが該プロセッサに対し、第1ソースコードに含まれるAPI関数呼出命令を検出させて該API関数呼出命令の直前又は直後に、該API関数呼出命令の情報を引数とする、該ロギング関数の呼出命令を該第1ソースコードに挿入させ、該コンパイラが該プロセッサに対し、該第1ソースコードに該ロギング関数呼出命令が挿入された第2ソースコードをコンパイルさせて該ユーザアプリケーションを生成させ該リムーバブル記憶装置に格納させるので、該ユーザアプリケーションを実行させることによりエラー原因究明に必要なAPIトレース結果を容易に得ることができるとともに、ユーザ毎に専用のユーザアプリケーションを用いてこれを画像形成装置に実行させることができるという効果を奏する。 According to the configuration of the seventh aspect, the execution control program causes the processor to execute the logging step inserter and the compiler is executed after the processing is completed, and the logging step inserter An API function call instruction included in one source code is detected, and immediately before or after the API function call instruction, the logging function call instruction using the API function call instruction information as an argument is set in the first source code. The compiler causes the processor to compile the second source code in which the logging function call instruction is inserted into the first source code, generate the user application, and store the generated user application in the removable storage device. API required for investigating the cause of an error by executing a user application It is possible to obtain the over scan results easily, an effect that can be executed in the image forming apparatus which use a dedicated user application for each user.
本発明の他の目的、構成及び効果は以下の説明から明らかになる。 Other objects, configurations and effects of the present invention will become apparent from the following description.
図9は、本発明の実施例1に係る画像形成装置10のハードウェア構成を示す概略ブロック図である。
FIG. 9 is a schematic block diagram illustrating a hardware configuration of the
この画像形成装置10では、MPU11にインタフェース12を介してEEPROM13N1、EEPROM13N2、DRAM13D、HDD14、操作パネル15、スキャナ16S、プリンタ16P、NIC17、モデム18及びコネクタ19が結合されている。図9では、簡単化のため、複数のインタフェースを1つのブロックで示している。
In the
EEPROM13N1及びEEPROM13N2は、例えばフラッシュメモリである。 The EEPROM 13N1 and the EEPROM 13N2 are, for example, flash memories.
EEPROM13N1には、BIOS(Basic Inpit Output System)及びBIOS設定データが格納されている。 The EEPROM 13N1 stores BIOS (Basic Inpit Output System) and BIOS setting data.
EEPROM13N2には、OS(オペレーティングシステム)、OSの上層のサービスプログラム(SP)及びアプリケーション(APL)並びにOSの下層のデバイスドライバ(DD)が格納されている。 The EEPROM 13N2 stores an OS (Operating System), an OS upper layer service program (SP) and application (APL), and an OS lower layer device driver (DD).
DRAM13Dは、ワークエリア用並びにユーザアプリケーションの開発及び実行用である。HDD14は、データ格納用である。スキャナ16Sは、コピー及びファックス送信での画像入力用である。プリンタ16Pは、プリントエンジン、定着器並びに用紙の給紙部、搬送部及び排紙部を備えており、供給されるビットマップデータに基づいてプリントエンジンの感光ドラムに静電潜像を形成し、これをトナーで現像し、用紙に転写し定着させた後に排紙する。NIC17は、ケーブル又は無線の通信媒体を介してホストコンピュータ21に結合されてプリントジョブに用いられる。モデム18は、ファックス送受信用である。
The
図7は、上記画像形成装置10のソフトウェア階層構造を示す概略ブロック図である。
FIG. 7 is a schematic block diagram showing a software hierarchical structure of the
OS30の下層には、各種ハードウェアのそれぞれに対応したデバイスドライバ群31が備えられている。OS30の上層には、OS30内の各種機能を利用するためのAPI群32を介して、基本サービスプログラム33が備えられている。基本サービスプログラム33は、操作パネル制御モジュール330と、画像入力モジュール群と、このモジュールで得られた画像データを処理するデータ処理モジュール群と、処理された画像データを出力する画像出力モジュール群とを備えている。
A
操作パネル制御モジュール330は、操作パネル15上に操作釦を表示させ、その押下を検出させ、設定処理を行うためのものである。画像入力モジュール群には、スキャンモジュール331、FAX受信モジュール332及び電子メール受信モジュール333が含まれ、画像出力モジュール群には、プリントモジュール334、FAX送信モジュール335及び電子メール送信モジュール336が含まれ、データ処理モジュール群には画像データのフォーマットや階調を変換し又は画像を拡縮するデータ変換モジュール337並びに不図示の集約処理モジュール及び頁付モジュール等が含まれる。基本サービスプログラム33にはさらに、FAX送信及び電子メール送信での宛先指定に用いられるアドレス帳モジュール338と、ユーザアプリサービス群339とが含まれる。
The operation
ユーザアプリサービス群339は、図8に示す如く、後述のロギングステップインサーター40、コンパイラ41、実行制御プログラム42、エラー解析プログラム43及びロギングプログラム44を含んでいる。
As shown in FIG. 8, the user
基本サービスプログラム33の各モジュールは、API群32を介してOS30の機能を利用している。
Each module of the
基本サービスプログラム33の上層には、外部API群34を介してベンダーアプリケーション35が備えられ、これには、コピーモジュール350、FAXモジュール351、電子メールモジュール352、ジョブ管理モジュール353及び操作パネルモジュール354が含まれている。モジュール350〜354は、全体として1つの統合化アプリケーションであっても、それぞれがアプリケーションであってもよい。
In the upper layer of the
ベンダーアプリケーション35は、外部API群34を介し基本サービスプログラム33のモジュールを用いて作成されたプログラムである。例えば、コピーモジュール350は、スキャンモジュール331とプリントモジュール334とを組み合わせて構成されている。また、FAXモジュール351は、FAX受信モジュール332とFAX送信モジュール335とアドレス帳モジュール338とを組み合わせて構成されている。
The
ベンダーアプリケーション35の上層には、ベンダーアプリケーション35の各種機能を利用するための外部API群36が備えられている。
In the upper layer of the
以上のプログラムは、図9のEEPROM13N2に格納されている。 The above program is stored in the EEPROM 13N2 of FIG.
外部API群36の上層には、ユーザアプリケーション201が存在する。ユーザアプリケーション201は、API群32、34及び36のいずれも用いることができる。ベンダーアプリケーション35は、ユーザアプリケーション201から見れば応用サービスプログラムである。
A
図9において、ソースコードファイル200が格納されたコンパクトフラッシュ(登録商標、以下CFと記載)メモリカード20をコネクタ19に接続させることにより、後述の処理が行われて、CFメモリカード20にユーザアプリケーション201、ログファイル202及びエラー情報ファイル203が格納される。
In FIG. 9, by connecting a compact flash (registered trademark, hereinafter referred to as CF) memory card 20 in which a
図1は、ユーザアプリケーション201に関する処理の機能ブロック図である。
FIG. 1 is a functional block diagram of processing related to the
実行制御プログラム42は、CFメモリカード20がコネクタ19に接続されたことを検出すると、まず、ロギングステップインサーター40を起動させる。ロギングステップインサーター40は、ソースコードファイル200から命令文を一行ずつ読み出し、後述のようにロギングステップを挿入してソースコードファイル200Aを作成しCFメモリカード20に格納させる。
When the
図2は、ロギングステップインサーター40の処理を示す詳細フローチャートである。以下、括弧内は図中のステップ識別符号である。
FIG. 2 is a detailed flowchart showing the processing of the
(S0)CFメモリカード20内のディレクトリーを参照して、ファイル識別子に基づきソースコードファイル200を探索し、その名称リストを操作パネル15に表示させる。
(S0) Referring to the directory in the CF memory card 20, the
(S1)ユーザが操作パネル15を操作して1つのソースコードファイル200を選択すると、ソースコードファイル200内の全文についてステップS2とステップS8との間の処理が繰り返し実行される。
(S1) When the user operates the
(S3)1文を読み込む。外部API群34及び36を参照し、この文がAPI関数呼出命令文であるか否かを判定する。肯定判定した場合にはステップS5へ進み、そうでなければステップS7へ進む。
(S3) One sentence is read. With reference to the
(S5)このAPIの名称及び引数を、ロギング関数呼出命令の引数とする。 (S5) The API name and argument are used as arguments of the logging function call instruction.
(S6)このロギング関数の呼出命令をCFメモリカード20内のソースコードファイル200Aに書き込む。
(S6) The logging function call instruction is written into the
(S7)ステップS3で読み込んだ1文を、CFメモリカード20内のソースコードファイル200Aに書き込む。このような処理により、図3(A)に示すようなソースコードファイル200に対し、その中のAPI関数呼出命令、例えばfncAPI(x、y)の前に、図3(B)に示す如く、この関数の関数名及び引数を引数とするロギング関数呼出命令fncLogAPI(fncAPI、x、y)が挿入される。
(S7) One sentence read in step S3 is written in the
図1に戻って、実行制御プログラム42は、ロギングステップインサーター40による処理が終了すると、次にコンパイラ41を起動させて、CFメモリカード20内のソースコードファイル200Aの内容をDRAM13D上にロードさせてこれをコンパイルさせ、実行可能ファイルであるユーザアプリケーション201をDRAM13D内に生成させ、このユーザアプリケーション201をCFメモリカード20に格納させる。
Returning to FIG. 1, when the processing by the
実行制御プログラム42は次に、DRAM13D内のユーザアプリケーション201を起動させる。ユーザアプリケーション201にはロギングステップが挿入されているので、このステップでロギングプログラム44が呼び出されて、これから実行しようとするAPI関数のログが、DRAM13D内のバッファ領域を介してCFメモリ20内のログファイル202に格納される。ログファイル202は、例えばHTMLファイル又はXMLファイルである。
Next, the
例えば図4(A)に示すようなユーザアプリケーション201の場合、図4(B)に示すようなログファイル202が作成される。図4では、理解を容易にするため高級言語のソースコードを簡単化して記載し、文字を使用して引数を分かり易く表記している。
For example, in the case of the
図4(A)のユーザアプリケーション201は例えば、原稿をスキャンし、その控えを自分宛に電子メールで送信し、顧客にG3普通モードでファクシミリ送信する処理をワンタッチで行うものであるとする。図4(A)に示す、外部API群34に含まれる3つのAPIの呼出命令は、ファクシミリ送信に関するものであり、以下の通りである。
For example, the
(1)fncScan( 256level, 400dpi, 400dpi, file1)
モノクロ256階調及び解像度400dpi× 400dpiで原稿をスキャンしてそのデータをファイルfile1に格納させる。
(1) fncScan (256level, 400dpi, 400dpi, file1)
The original is scanned with 256 monochrome gradations and a resolution of 400 dpi × 400 dpi, and the data is stored in the file file1.
(2)fncConv( file1, binary, 1/2, 1/2)
ファイルfile1の画像を白黒2値画像に変換し、かつ、x方向縮小率1/2及びy方向縮小率1/2で縮小変換させ、これをファイルfile1とする。
(2) fncConv (file1, binary, 1/2, 1/2)
The image of the file file1 is converted into a black and white binary image, and is reduced and converted at an x-direction reduction rate of 1/2 and a y-direction reduction rate of 1/2.
(3)fncSendFAX( file1, normal, address(3))
ファイルfile1の画像を、普通モードで、アドレス帳内のシリアルナンバー3に登録された宛先へファクシミリ送信する。
(3) fncSendFAX (file1, normal, address (3))
The image of the file file1 is transmitted by facsimile to the destination registered in the
上記(2)の引数に誤りがあって、上記(3)のAPI関数呼出命令がG3ファクシミリ規格に反するものとなれば、エラーが生ずる。ユーザアプリケーション201の実行中において、ハードウェアに対するアクセスはOS30内のAPI関数の呼出命令を介して行われ、その際にOS30が例外、例えばセグメントフォールトを検出すると、処理がそこで停止する。ジョブ管理モジュール353は、定期的なタイマー割込により、OS30によるエラー検出を監視しており、このエラー検出に応答してエラー解析プログラム43を起動させる。
If there is an error in the argument in (2) and the API function call instruction in (3) violates the G3 facsimile standard, an error occurs. During execution of the
エラー解析プログラム43は、エラーテーブル37とログファイル202との内容に基づいて、エラー解析を行い、その結果をエラー情報ファイル203として出力する。
The
エラーテーブル37は、図6(A)に示すようなテーブル370と、図6(B)に示すようなテーブル371とを含んでいる。 The error table 37 includes a table 370 as shown in FIG. 6A and a table 371 as shown in FIG.
テーブル370は、シリアルナンバーNoと、禁止API順と、エラーコードとのフィールドを含んでいる。テーブル371は、エラーコードと、これに対応したエラー内容とのフィールドを含んでいる。 The table 370 includes fields for serial number No, prohibited API order, and error code. The table 371 includes fields for error codes and corresponding error contents.
テーブル370中の関数名f1、f2及びf3はそれぞれ、図4(A)中の関数名fncScan、fncConv及びfncSendFAXを簡略記載したものである。関数中の符号"−"は、任意の値であることを示している。例えばテーブル370のNo=1の行の禁止API順は、関数f1と関数f3との間に関数f2が無く、かつ、関数f1について主走査方向及び副走査方向の解像度がいずれも400dpiである場合を示す。この場合、G3ファクシミリ規格から外れるので、関数f3の引数によらずエラーが生ずる原因となる。 The function names f1, f2, and f3 in the table 370 are simplified descriptions of the function names fncScan, fncConv, and fncSendFAX in FIG. 4A, respectively. The sign “−” in the function indicates an arbitrary value. For example, in the prohibition API order of the row of No = 1 in the table 370, there is no function f2 between the function f1 and the function f3, and the resolution in the main scanning direction and the sub scanning direction for the function f1 is 400 dpi. Indicates. In this case, since it is out of the G3 facsimile standard, an error occurs regardless of the argument of the function f3.
図5は、エラー解析プログラム43による処理を示すフローチャートである。
FIG. 5 is a flowchart showing processing by the
テーブル370内の全てのAPI禁止順について、ステップS10とステップS14との間の処理を繰り返し実行する。 The process between step S10 and step S14 is repeatedly executed for all API prohibition orders in the table 370.
(S11)No=iの行の禁止API順及びエラーコードを読み出す。 (S11) The prohibited API order and error code in the row of No = i are read.
(S12)ログファイル202中にこの禁止API順が存在するか否かを調べ、存在すればステップS13へ進み、そうでなければステップS14を介しステップS11へ進む。
(S12) It is checked whether or not this prohibited API order exists in the
(S13)ステップS11で読み込んだエラーコードをキーとして、テーブル371を参照し、そのエラー内容を読み出す。このエラー内容と、ステップS11で読み込んだ禁止API順の内容とを、エラー情報ファイル203に書き込むとともに、操作パネル15に表示させ又はNIC17を介しホストコンピュータ21にエラー情報ファイル203、例えばHTMLファイル又はXMLファイルを供給して、ブラウザでエラー情報を確認できるようにする。
(S13) Using the error code read in step S11 as a key, the table 371 is referenced to read the error content. The error contents and the contents of the prohibited API read in step S11 are written to the error information file 203 and displayed on the
本実施例1によれば、エラー解析プログラム43がMPU11に対し、エラー発生要因となるAPI実行順とエラー内容情報とが対応して格納されたエラーテーブル37を参照させて、ロギング関数44により得られたログファイル(APIトレース結果)202にエラー発生要因となるAPI実行順が含まれているか否かを判定させ、肯定判定した場合にはそのAPI実行順とエラー内容情報とをCFメモリカード20に格納させるので、CFメモリカード20を画像形成装置10から抜脱させてホストコンピュータ21に接続し、エラー情報ファイル203の内容を、操作パネル354よりも見易く操作性のよいホストコンピュータ21で閲覧することにより、論理エラー発生原因を容易に知得することが可能となり、簡単な構成でユーザアプリケーションの開発効率を向上させることができるという効果を奏する。また、論理エラー発生原因を自動的に究明してユーザアプリケーションの開発効率を向上させることができるという効果を奏する。この自動的究明により、上述の公報のようにホストコンピュータ21を画像形成装置10に接続して両者を連携させることによりデバッグするという複雑な構成を用いる必要がない。
According to the first embodiment, the
また、エラー解析プログラム43がMPU11に対し、ブラウザで閲覧可能なログファイル202をCFメモリカード20に格納させるので、上記同様にしてホストコンピュータ21側で論理エラー発生原因をさらに詳細に把握することが可能となるという効果を奏する。
Further, since the
さらに、エラー情報ファイル203及びトレース結果202を含むファイルがいずれも、ホストコンピュータ21のブラウザで表示可能なファイル形式であるので、このファイルの作成が容易であるとともに閲覧に特別なソフトを必要としないという効果を奏する。
Furthermore, since both the error information file 203 and the file including the
また、APIトレース結果202にAPI関数の名称及び実引数が含まれるので、論理エラー発生原因をより詳細に究明することができるという効果を奏する。
In addition, since the
さらに、エラーテーブル37が、該API実行順におけるAPI関数の引数の値及び引数が任意であることを示すコードを含んでおり、エラー解析プログラム43がMPU11に対し、該肯定判定した場合に、該API実行順中のAPI関数に引数の値が含まれていれば、APIトレース結果202中の対応する引数が該値に等しいか否かを判定させ、肯定判定したときに該API実行順と該エラー内容情報とを出力させるので、エラー解析プログラム43の構成を簡単化できるという効果を奏する。換言すれば、エラー発生原因となるAPI実行順のそれぞれに対応したエラー判定プログラムを作成すると、エラー解析プログラム43の構成が複雑になるとともに、エラー発生原因となるAPI実行順を新たに追加する毎にエラー解析プログラム43を改訂しなければならない。
Furthermore, when the error table 37 includes a code indicating that the argument value of the API function in the API execution order and the argument are arbitrary, and the
また、ジョブ管理プログラム353がMPU11に対し、オペレーティングシステム30が例外を検出した場合にエラー解析プログラム353を実行させるので、エラーが発生したときのみ自動的にエラー発生に対処できるという効果を奏する。
Further, since the
さらにまた、実行制御プログラム42がMPU11に対し、ロギングステップインサーター40を実行させてその処理が終了した後にコンパイラ41を実行させ、ロギングステップインサーター40がMPU11に対し、ソースコード200中のAPI関数呼出命令を検出させて該API関数呼出命令の直前に、該API関数呼出命令の情報を引数とする、ロギング関数44の呼出命令を該ソースコードに挿入させてソースコード200Aを生成し、コンパイラ41がMPU11に対し、ソースコード200Aをコンパイルさせてユーザアプリケーション201を生成させるので、ユーザアプリケーション201を実行させることによりエラー原因究明に必要なAPIトレース結果202を容易に得ることができるという効果を奏する。
Furthermore, the
また、コンパイル結果をCFメモリカード20に格納させるので、ユーザ毎に専用のユーザアプリケーションを用いてこれを画像形成装置10に実行させることができるという効果を奏する。
Further, since the compilation result is stored in the CF memory card 20, there is an effect that the
また、API関数呼出命令の直前にロギング関数呼出命令を挿入するので、呼び出されたAPI関数実行中に例外が生じて動作が停止しても、このAPI関数呼出命令のログを取得でき、より確実にエラー発生原因を知得することができるという効果を奏する。 In addition, since the logging function call instruction is inserted immediately before the API function call instruction, even if an exception occurs during the execution of the called API function and the operation is stopped, the log of the API function call instruction can be acquired and more reliably. In this way, the cause of error occurrence can be obtained.
なお、本発明には外にも種々の変形例が含まれる。 Note that the present invention includes various other modifications.
例えば、API関数呼出命令の直後にロギング関数呼出命令を挿入する構成であってもよい。特にこのAPI関数が新たなスレッドとして実行される場合、ロギング関数呼出命令がこのスレッドと並列に実行されるので、API関数実行中に例外が生じて動作が停止しても、このAPI関数呼出命令のログを取得できる。 For example, the logging function call instruction may be inserted immediately after the API function call instruction. In particular, when this API function is executed as a new thread, the logging function call instruction is executed in parallel with this thread. Therefore, even if an exception occurs during execution of the API function and the operation stops, this API function call instruction is executed. Log can be obtained.
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 ロギングプログラム
10
12 interface 13N1, 13N2 EEPROM
13D DRAM
14
18
31
Claims (7)
該プロセッサに結合されプログラム及びデータが格納された記憶手段と、
該プロセッサに結合され、リムーバブル記憶装置が結合されるリムーバブル記憶装置インタフェースと、
を有する画像形成装置において、
該プログラムは、オペレーティングシステム、該オペレーティングシステムの上層で動作し該オペレーティングシステムのAPIを用いたサービスプログラム、該サービスプログラムのAPIを用いたベンダーアプリケーションプログラム、API関数呼出命令トレース用ロギング関数及びエラー解析プログラムを含み、
該リムーバブル記憶装置には、該オペレーティングシステムのAPI、該サービスプログラムのAPI又は該ベンダーアプリケーションプログラムのAPIを用いたユーザアプリケーションが格納されており、
該データは、エラー発生要因となるAPI実行順とエラー内容情報とが対応して格納されたエラーテーブルを含み、
該エラー解析プログラムは該プロセッサに対し、該エラーテーブルを参照させて、該ロギング関数により得られたAPIトレース結果にエラー発生要因となるAPI実行順が含まれているか否かを判定させ、肯定判定した場合にはそのAPI実行順とエラー内容情報とを含むエラー情報ファイルを、該インタフェースを介し該リムーバブル記憶装に格納させる、
ことを特徴とする画像形成装置。 A processor;
Storage means coupled to the processor for storing programs and data;
A removable storage device interface coupled to the processor and to which a removable storage device is coupled;
In an image forming apparatus having
The program includes an operating system, a service program that operates on the upper layer of the operating system and uses the API of the operating system, a vendor application program that uses the API of the service program, a logging function for tracing an API function call instruction, and an error analysis program Including
The removable storage device stores a user application using the API of the operating system, the API of the service program, or the API of the vendor application program,
The data includes an error table in which API execution order that causes an error and error content information are stored correspondingly,
The error analysis program causes the processor to refer to the error table to determine whether or not the API execution order that causes an error is included in the API trace result obtained by the logging function. If the error information file includes the API execution order and error content information, the error information file is stored in the removable storage device via the interface.
An image forming apparatus.
該エラー解析プログラムは該プロセッサに対しさらに、該肯定判定した場合に、該API実行順中のAPI関数に引数の値が含まれていれば、該APIトレース結果中の対応する引数が該値に等しいか否かを判定させ、肯定判定したときに該API実行順と該エラー内容情報とを該出力手段へ供給させる、
ことを特徴とする請求項4に記載の画像形成装置。 The error table includes an API function argument value in the API execution order and a code indicating that the argument is arbitrary.
If the error analysis program further makes an affirmative decision with respect to the processor, and if the API function in the API execution order includes an argument value, the corresponding argument in the API trace result is set to the value. Whether or not they are equal to each other, and when an affirmative determination is made, the API execution order and the error content information are supplied to the output means.
The image forming apparatus according to claim 4.
該ジョブ管理プログラムは該プロセッサに対し、該オペレーティングシステムがエラーを検出した場合に該エラー解析プログラムを実行させる、
ことを特徴とする請求項5に記載の画像形成装置。 The program further includes a job management program,
The job management program causes the processor to execute the error analysis program when the operating system detects an error.
The image forming apparatus according to claim 5.
該リムーバブル記憶装置にはさらに該ユーザアプリケーションの第1ソースコードが含まれ、
該実行制御プログラムは該プロセッサに対し、該ロギングステップインサーターを実行させてその処理が終了した後に該コンパイラを実行させ、
該ロギングステップインサーターは該プロセッサに対し、該第1ソースコードに含まれるAPI関数呼出命令を検出させて該API関数呼出命令の直前又は直後に、該API関数呼出命令の情報を引数とする、該ロギング関数の呼出命令を該第1ソースコードに挿入させ、
該コンパイラは該プロセッサに対し、該第1ソースコードに該ロギング関数呼出命令が挿入された第2ソースコードをコンパイルさせて該ユーザアプリケーションを生成させ該リムーバブル記憶装置に格納させる、
ことを特徴とする請求項6に記載の画像形成装置。 The program further includes an execution control program, a logging step inserter, and a compiler,
The removable storage device further includes a first source code of the user application,
The execution control program causes the processor to execute the logging step inserter and execute the compiler after the processing is completed.
The logging step inserter causes the processor to detect an API function call instruction included in the first source code, and uses the API function call instruction information as an argument immediately before or immediately after the API function call instruction. Inserting the logging function call instruction into the first source code;
The compiler causes the processor to compile the second source code in which the logging function call instruction is inserted into the first source code, generate the user application, and store the user application in the removable storage device.
The image forming apparatus according to claim 6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006198760A JP2008027171A (en) | 2006-07-20 | 2006-07-20 | Image forming apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006198760A JP2008027171A (en) | 2006-07-20 | 2006-07-20 | Image forming apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008027171A true JP2008027171A (en) | 2008-02-07 |
Family
ID=39117739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006198760A Pending JP2008027171A (en) | 2006-07-20 | 2006-07-20 | Image forming apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008027171A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015052882A (en) * | 2013-09-06 | 2015-03-19 | 株式会社富士通マーケティング | Web application test device and its program |
JP2015197902A (en) * | 2014-04-03 | 2015-11-09 | 日本電信電話株式会社 | Online build system, online build method, and online build program |
CN106953994A (en) * | 2015-10-27 | 2017-07-14 | 京瓷办公信息系统株式会社 | Image processing apparatus for obtaining image daily record |
CN114290828A (en) * | 2021-12-31 | 2022-04-08 | 珠海奔图电子有限公司 | Control method and device of image forming apparatus |
CN114290828B (en) * | 2021-12-31 | 2024-05-03 | 珠海奔图电子有限公司 | Control method and device of image forming device |
-
2006
- 2006-07-20 JP JP2006198760A patent/JP2008027171A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015052882A (en) * | 2013-09-06 | 2015-03-19 | 株式会社富士通マーケティング | Web application test device and its program |
JP2015197902A (en) * | 2014-04-03 | 2015-11-09 | 日本電信電話株式会社 | Online build system, online build method, and online build program |
CN106953994A (en) * | 2015-10-27 | 2017-07-14 | 京瓷办公信息系统株式会社 | Image processing apparatus for obtaining image daily record |
CN106953994B (en) * | 2015-10-27 | 2019-03-08 | 京瓷办公信息系统株式会社 | For obtaining the image processing apparatus of image log |
CN114290828A (en) * | 2021-12-31 | 2022-04-08 | 珠海奔图电子有限公司 | Control method and device of image forming apparatus |
CN114290828B (en) * | 2021-12-31 | 2024-05-03 | 珠海奔图电子有限公司 | Control method and device of image forming device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7665029B2 (en) | Device for assisting development of user application for image forming device | |
JP4771537B2 (en) | Image forming apparatus | |
US20060164670A1 (en) | Method of and apparatus for image formation, and computer product | |
US8819852B2 (en) | Image forming apparatus, access control method, access control program and computer readable information recording medium | |
EP2765525B1 (en) | Apparatus, non-transitory computer readable information recording medium and information recording method | |
US9274776B2 (en) | Product, method, and apparatus for installing a second program based on a call from a first program | |
US20070229920A1 (en) | Image processing apparatus, system, information processing apparatus, and program | |
US20100309519A1 (en) | Printer driver program product and information processing apparatus | |
US11140291B2 (en) | Information processing apparatus, control method thereof, and storage medium | |
JP2006341614A (en) | Image forming device and image forming method | |
US20080307428A1 (en) | Image forming apparatus, application execution method, and storage medium | |
JP2008027171A (en) | Image forming apparatus | |
US8368904B2 (en) | Image forming device | |
US8085424B2 (en) | Multiple-port print device | |
JP2008027172A (en) | Image forming apparatus | |
JP4037079B2 (en) | Image forming apparatus, process monitoring method, and program causing computer to execute the method | |
JP4706576B2 (en) | Image processing apparatus and display control program | |
US9329809B2 (en) | Systems and methods for hierarchical source file conversion and output using a base file comprising display information, library function, display message, and tag defining information necessity | |
JP6987530B2 (en) | Image forming device, information processing method and program | |
JP2010218469A (en) | Information processor, information processing method, program and recording medium | |
JP4080739B2 (en) | Application generating method for image forming apparatus and program causing computer to execute the method | |
US8892998B2 (en) | Image processing apparatus | |
US20210042131A1 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
JP2009088745A (en) | Image forming apparatus | |
JP4943984B2 (en) | Image forming apparatus |