JPH086817A - Program debugging device - Google Patents
Program debugging deviceInfo
- Publication number
- JPH086817A JPH086817A JP6134025A JP13402594A JPH086817A JP H086817 A JPH086817 A JP H086817A JP 6134025 A JP6134025 A JP 6134025A JP 13402594 A JP13402594 A JP 13402594A JP H086817 A JPH086817 A JP H086817A
- Authority
- JP
- Japan
- Prior art keywords
- command
- program
- execution
- unit
- function
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、プログラムを作成する
際に、プログラムの実行を制御しながらプログラムの実
行順序や記憶装置またはレジスタの値などを参照するこ
とによってそのプログラムが正常に動作しなかったとき
のプログラムの不具合を見つけ出すために用いられるプ
ログラムデバッグ装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention prevents a normal operation of a program by referring to the execution order of the program and the values of a storage device or a register while controlling the execution of the program. The present invention relates to a program debug device used for finding out a defect of a program when the program is broken.
【0002】[0002]
【従来の技術】従来のこの種のプログラムデバッグ装置
を図7、図8、図9を用いて説明する。プログラムデバ
ッグ装置は、一般には汎用のコンピュータシステムを用
いて実現されており、以下に説明する従来例も図9に説
明するようなコンピュータシステムを用いて構成されて
いる。2. Description of the Related Art A conventional program debugging device of this type will be described with reference to FIGS. The program debug device is generally realized by using a general-purpose computer system, and a conventional example described below is also configured by using a computer system as described in FIG.
【0003】最初に、図9を用いて、周辺機器を含めた
プログラムデバッグ装置に用いられるコンピュータシス
テムの概要を説明する。図9において、90は後に詳細
を説明するCPU(中央演算装置)等の装置を含む電子
装置であって、プログラムデバッグ装置本体を構成す
る。97はデバッグ対象プログラム等を格納するハード
ディスク等の外部記憶装置であり、98は処理結果等を
表示する表示装置、99は前記プログラムデバッグ装置
本体90に対してコマンド等を入力する入力装置であ
る。また、プログラムデバッグ装置本体90は、内部に
CPU(中央演算装置)91、ROM92、ランダムア
クセスが可能な内部記憶装置93、前記表示装置98に
文字等を表示させるための表示回路95、外部記憶装置
97を制御するファイル入出力インターフェース94、
入力装置99からのコマンド等の入力を受け取る入力回
路96等を含む。First, an outline of a computer system used in a program debug device including peripheral devices will be described with reference to FIG. In FIG. 9, reference numeral 90 denotes an electronic device including a device such as a CPU (central processing unit), which will be described in detail later, and constitutes a program debug device main body. Reference numeral 97 is an external storage device such as a hard disk for storing a program to be debugged, 98 is a display device for displaying processing results and the like, and 99 is an input device for inputting commands and the like to the program debug device main body 90. Further, the program debug device main body 90 includes a CPU (central processing unit) 91, a ROM 92, a randomly accessible internal storage device 93, a display circuit 95 for displaying characters and the like on the display device 98, and an external storage device. A file input / output interface 94 for controlling 97
It includes an input circuit 96 and the like for receiving inputs such as commands from the input device 99.
【0004】プログラムデバッグ装置の主要部分はプロ
グラムによって構成されるが、このプログラムが前記プ
ログラムデバッグ装置本体90にロードされると、これ
は内部記憶装置93に記憶されることとなる。The main part of the program debug device is composed of a program. When this program is loaded into the program debug device main body 90, it is stored in the internal storage device 93.
【0005】図7は従来のプログラムデバッグ装置の機
能及び構成を説明するための機能ブロック図である。図
7において、71はコマンド等を入力するための入力装
置であり、通常はキーボードが用いられる。72はキー
ボードからの入力信号をコンピュータ内部にコードとし
て取り込むための入力インターフェース、73は後で説
明するコマンドテーブル76を検索するためのコマンド
テーブル検索部、74はコマンドテーブル76から検索
されたコマンドを実際に実行するためのコマンド実行
部、75はコマンド実行の結果を表示する表示部、76
はデバッグ作業に用いる種々のコマンドをリストアップ
し、そのコマンドを実行するためのプログラムが格納さ
れている後で説明する内部記憶装置78上の番地(アド
レス)を各コマンドに対応させて記憶させたコマンドテ
ーブル、77はデバッグ対象プログラムが記憶されてい
るメモリ、78はデバッグ装置本体の主要部を構成する
デバッグ用プログラム等が格納されるランダムアクセス
可能な内部記憶装置(図9の内部記憶装置93に対応し
ている)である。FIG. 7 is a functional block diagram for explaining the function and configuration of a conventional program debug device. In FIG. 7, reference numeral 71 is an input device for inputting commands and the like, and usually a keyboard is used. Reference numeral 72 is an input interface for fetching an input signal from the keyboard as a code into the computer, 73 is a command table search unit for searching a command table 76 described later, and 74 is an actual command searched from the command table 76. Command execution unit for executing the command, 75 is a display unit for displaying the result of command execution, 76
Lists various commands used for debugging, and stores the addresses (addresses) on the internal storage device 78, which will be described later, in which a program for executing the commands is stored in association with each command. A command table, 77 is a memory in which a program to be debugged is stored, 78 is a randomly accessible internal storage device (in the internal storage device 93 of FIG. 9) in which a debugging program that constitutes a main part of the debug device main body is stored. It corresponds).
【0006】入力装置71から入力されるコマンドは、
S,D等のアルファベット1文字或いは数文字から構成
されており(例えば、「S」は被デバッグプログラムの
一行を実行させるコマンドであり、「D」はメモリ内容
を表示させるコマンドである)、実際には必要なパラメ
ータ類と共に入力される。コマンドテーブル76には、
例えば、この「S」コマンドに対応した「一行実行」の
ためのプログラムが記載されている内部記憶装置78上
のアドレスが記載されており、コマンド実行部74で
は、コマンドテーブルから読み出したこのアドレス情報
及びパラメータに基づいて内部記憶装置78から必要な
プログラムを読み出し、このプログラムに従ってデバッ
グ対象プログラムに対して必要な処理を行うこととな
る。The command input from the input device 71 is
It consists of one or several alphabetic characters such as S and D (for example, "S" is a command to execute one line of the program to be debugged, "D" is a command to display memory contents), Is input together with the necessary parameters. The command table 76 contains
For example, the address on the internal storage device 78 in which the program for "one-line execution" corresponding to this "S" command is described is described, and the command execution unit 74 reads this address information from the command table. And a necessary program is read from the internal storage device 78 based on the parameters, and necessary processing is performed on the debug target program according to the program.
【0007】図7、図8を参照して従来例の処理フロー
を説明する。プログラムデバッグ装置を起動後、必要な
メモリの確保、メモリのクリア等のデバッグに必要な各
種の初期設定を行い(ステップ81)、入力装置71よ
りコマンドを入力する(ステップ82)と、コマンドテ
ーブル検索部において入力されたコマンドが終了を示す
コマンドか否か確認され(ステップ83)、終了を示す
コマンドの時には終了のための処理を行う(ステップ8
7)。The processing flow of the conventional example will be described with reference to FIGS. 7 and 8. After starting the program debug device, various necessary initial settings necessary for debugging such as securing necessary memory and clearing memory are performed (step 81), and a command is input from the input device 71 (step 82), and the command table is searched. It is confirmed whether or not the command input in the section is a command indicating the end (step 83), and when the command indicating the end is performed, processing for the end is performed (step 8).
7).
【0008】入力されたコマンドが、デバッグ作業に用
いられるコマンドである時には、コマンドテーブル検索
部73がコマンドテーブル76より実際の作業実行に必
要な情報(アドレス情報等)を引き出し、これをコマン
ド実行部74に引き渡す。コマンド実行部74ではアド
レス情報等に従って内部記憶装置78内に格納されてい
るコマンド実行に必要なプログラムを読みだし、指定さ
れたコマンドを実行する(ステップ86)。通常のデバ
ッグ作業では、コマンドと共に種々のパラメータが同時
に入力され、パラメータに応じた実行がなされる。1つ
のコマンドに対する作業が終了するとその結果が表示部
75に表示されるので、オペレータはこの表示された結
果を参照しながらプログラムの良否を判定している。When the input command is a command used for debugging work, the command table retrieving unit 73 retrieves information (address information etc.) necessary for actual work execution from the command table 76, and this is used by the command executing unit. Hand over to 74. The command execution unit 74 reads out a program required for command execution stored in the internal storage device 78 according to the address information and the like, and executes the designated command (step 86). In a normal debugging operation, various parameters are simultaneously input together with a command, and execution is performed according to the parameters. When the work for one command is completed, the result is displayed on the display unit 75, and the operator refers to the displayed result to judge the quality of the program.
【0009】[0009]
【発明が解決しようとする課題】以上に述べた従来のプ
ログラムデバッグ装置では、プログラムデバッグ装置と
して予め用意されたコマンドを任意の位置で実行するこ
とは可能であったが、その装置上で動作しているデバッ
グ対象プログラムの任意のアドレス位置で、デバッグ対
象プログラムに影響を与えることなく、別の実行プログ
ラムを実行することはできなかった。また、デバッグ対
象プログラムの中に存在する関数を実行することが可能
なプログラムデバッグ装置も提案されてはいたが、デバ
ッグ対象プログラム内の関数のチェックを行うだけであ
り、デバッグ対象プログラムに無い関数やライブラリ等
を実行することができなかった。当然、既に組み込まれ
ているコマンドしか使うことができず、コマンドの登録
を行うことはできなかった。In the conventional program debug device described above, it is possible to execute a command prepared in advance as a program debug device at any position, but it operates on that device. It was not possible to execute another execution program at an arbitrary address position of the debug target program without affecting the debug target program. A program debug device capable of executing a function existing in the debug target program has also been proposed, but it only checks the function in the debug target program and does not include a function that does not exist in the debug target program. Could not execute library etc. Of course, I could only use the commands that were already built in, and I could not register the commands.
【0010】本発明は、このような点に鑑みてなされた
ものであり、デバッグ対象プログラムの任意のアドレス
位置でデバッグ対象プログラムに影響を与えることな
く、別のプログラムを実行可能とし、また、ライブラリ
等を実行することができるプログラムデバッグ装置を提
供することを目的とする。The present invention has been made in view of the above circumstances, and allows another program to be executed without affecting the debug target program at an arbitrary address position of the debug target program, and also allows the library to be executed. An object of the present invention is to provide a program debug device capable of executing the above.
【0011】[0011]
【課題を解決するための手段】上述の課題を解決するた
め、この発明では、任意の位置でデバッグ対象プログラ
ムにない関数やライブラリ等を実行可能とする関数実行
部と、この関数やライブラリを1命令のコマンドとして
実行できるようにコマンド登録するコマンド登録部と、
一度登録したコマンドを次回のプログラムデバッグ装置
の起動後に自動的に登録するコマンド初期登録部を設け
る。In order to solve the above-mentioned problems, according to the present invention, a function execution unit capable of executing a function, a library or the like which does not exist in a program to be debugged at an arbitrary position and a function execution unit are provided. A command registration unit that registers commands so that they can be executed as commands of instructions,
A command initial registration unit is provided for automatically registering a once-registered command after the next program debug device startup.
【0012】[0012]
【作用】コマンド登録部によって、実行プログラムや関
数、ライブラリが実行可能な形式に変換されると共に、
実行プログラムの所在(ランダムアクセス可能な内部記
憶装置上のアドレス)、引数とコマンドパラメータとの
関係や返り値の有無など必要なパラメータがコマンドテ
ーブルに登録されることとなり、デバッグ対象プログラ
ムの任意のアドレス位置でデバッグ対象プログラムに何
の影響を与えることなく登録したコマンドに相当する実
行プログラムを実行することが可能となる。また、関数
実行部により、同様デバッグ対象プログラムの任意のア
ドレス位置でデバッグ対象プログラムに何の影響を与え
ることなくライブラリにあるプログラムを利用可能とな
る。[Function] The command registration unit converts the execution program, function, and library into an executable format, and
The location of the execution program (address on the internal storage device that can be randomly accessed), necessary parameters such as the relationship between arguments and command parameters, and whether or not there is a return value will be registered in the command table. It is possible to execute the execution program corresponding to the registered command without affecting the debug target program at the position. In addition, the function executing unit makes it possible to use the program in the library at any address position of the debug target program without affecting the debug target program.
【0013】[0013]
【実施例】図1を用いて、本発明の実施例を説明する。
なお、本発明も図9に示したハードウエア構成のコンピ
ュータシステムを用いることは、従来例と同じである。EXAMPLE An example of the present invention will be described with reference to FIG.
The present invention also uses the computer system having the hardware configuration shown in FIG. 9 in the same manner as the conventional example.
【0014】図1は本発明の実施例を説明するための機
能ブロック図である。図において、1はキーボード等よ
りなる入力装置、2はキーボードからの入力信号をコン
ピュータ内部にマシンリーダブルなコードとして取り込
むための入力インターフェース、3は後で説明するコマ
ンドテーブル6を検索するためのコマンドテーブル検索
部、4は、コマンドテーブル検索部3を介してコマンド
テーブル6からコマンドを受け取り、このコマンドを実
際に実行するためのコマンド実行部、5はコマンド実行
の結果を表示する表示部、6はデバッグ作業に用いる種
々のコマンドをリストアップし、これをコマンド実行の
ためのプログラムが書かれた内部記憶装置(図9の内部
記憶装置93に対応する)のアドレスと対応させたコマ
ンドテーブル、7はデバッグ対象プログラムが記憶され
ているメモリ(通常は外部記憶装置が該当する)であ
り、コマンド実行指定部10を除いてこれらは基本的に
は従来のものと同様の構成である。FIG. 1 is a functional block diagram for explaining an embodiment of the present invention. In the figure, 1 is an input device composed of a keyboard and the like, 2 is an input interface for taking in an input signal from the keyboard as a machine-readable code into a computer, and 3 is a command table for searching a command table 6 described later. The search unit 4 receives a command from the command table 6 via the command table search unit 3, a command execution unit for actually executing this command, 5 a display unit for displaying the result of command execution, and 6 a debug A command table in which various commands used for work are listed, and this is associated with the address of the internal storage device (corresponding to the internal storage device 93 in FIG. 9) in which a program for command execution is written, 7 is a debug A memory in which the target program is stored (usually an external storage device Is to), these except for command execution designation unit 10 is basically the same configuration as the conventional.
【0015】この実施例では、さらにコマンドテーブル
6からのコマンドを識別して次の実行のために振り分け
指定するコマンド実行指定部10、後で説明するライブ
ラリ14に登録されている関数(プログラム)を実行す
るための関数実行部11、ライブラリ14中の、或いは
デバッグ対象プログラム中のプログラム等をデバッグ作
業中に実行可能とするためのコマンド登録部13、有用
なプログラム類が予め登録されているライブラリ14
(通常は外部記憶装置上に格納されている)、プログラ
ムデバッグ装置を再起動したときにコマンド登録部13
によって登録したコマンド類をコマンドテーブル6に自
動的に再登録するコマンド初期登録部16、ライブラリ
等から取り込んだ有用なプログラムを実行可能な形式に
変換して格納しておく内部記憶装置(図9の内部記憶装
置93に該当する)に設けた実行プログラム格納部20
を設ける外、終了処理のための終了処理部19、種々の
初期設定のための初期設定部15、ハードディスク等の
外部記憶装置17、関数実行部での関数実行結果を保持
する結果保持部12を設ける。In this embodiment, a command execution designating section 10 for identifying a command from the command table 6 and assigning the command for the next execution, and a function (program) registered in a library 14 described later are further provided. A function execution unit 11 for execution, a command registration unit 13 for enabling execution of a program or the like in the library 14 or a program to be debugged during debugging, a library 14 in which useful programs are registered in advance
The command registration unit 13 (which is usually stored in an external storage device) when the program debug device is restarted
Command registration unit 16 for automatically re-registering the commands registered by the command table 6, an internal storage device for converting a useful program loaded from a library or the like into an executable format and storing it (see FIG. 9). Execution program storage unit 20 provided in the internal storage device 93)
In addition to the above, a termination processing unit 19 for termination processing, an initialization unit 15 for various initializations, an external storage device 17 such as a hard disk, and a result holding unit 12 for holding a function execution result in the function execution unit. Set up.
【0016】更に、コマンドテーブル6に、プログラム
デバッグ装置として予め用意されているデバッグ用のコ
マンド(コマンドグループA)の外に、関数実行のため
のコマンドF1、コマンド登録作業のためのコマンドF
2を登録すると共に、新たに登録するコマンド(コマン
ドグループB)のための新コマンドテーブル領域6’を
設ける。コマンドテーブル6へのコマンドF1,F2の
登録は、従来例と同様、各コマンド実行のためのプログ
ラムが書かれた内部記憶装置内のアドレス、及びこのプ
ログラムの実行に必要な引き数、返り値等のパラメータ
類を対応させたコマンドテーブルを作成することにより
行う。Further, in the command table 6, in addition to the debug command (command group A) prepared in advance as a program debug device, a command F1 for function execution and a command F for command registration work are provided.
2 is registered, and a new command table area 6'for a newly registered command (command group B) is provided. The commands F1 and F2 are registered in the command table 6 in the same manner as in the conventional example, such as the address in the internal storage device in which the program for executing each command is written, the arguments necessary to execute this program, the return value, etc. This is done by creating a command table corresponding to the parameters of.
【0017】入力装置1、入力インターフェース2、コ
マンドテーブル検索部3の働きは従来例と同じであり、
詳細な説明は省略する。コマンド実行指定部10は、入
力装置1から入力されたコマンドがプログラムデバッグ
装置に初めから添付されているデバッグ用のコマンド
(コマンドグループA)であるか、新たに追加されたコ
マンド(コマンドグループB)であるか、関数実行のた
めのコマンドF1であるか、コマンド登録作業のための
コマンドF2であるか、或いは終了処理のためのコマン
ドQであるかを判定し、コマンドがグループA又はBに
属するものであるときはこれをコマンド実行部4へ送
り、コマンドがF1のときには、これを関数実行部11
に送り、F2のときにはこれをコマンド登録部13に送
り、コマンドがQのときにはこれを終了処理部19に送
る。The functions of the input device 1, the input interface 2, and the command table search unit 3 are the same as those of the conventional example.
Detailed description is omitted. The command execution designation unit 10 may be a command input from the input device 1 that is a debug command (command group A) attached to the program debug device from the beginning, or a newly added command (command group B). Is a command F1 for function execution, a command F2 for command registration work, or a command Q for termination processing, and the command belongs to the group A or B. If the command is F1, it is sent to the command execution unit 4. If the command is F1, it is sent to the function execution unit 11.
When it is F2, it is sent to the command registration unit 13, and when the command is Q, it is sent to the end processing unit 19.
【0018】コマンド実行部4の働きは従来例と同様で
あり詳細な説明は省略するが、後で述べる新たに追加さ
れたコマンド(コマンドグループB)の場合も、従来か
らあるコマンド(コマンドグループA)の場合同様コマ
ンドテーブル6をサーチし、該当のコマンドを新コマン
ドテーブル領域6’から読み出してきてコマンドを実行
することとなる。The function of the command execution unit 4 is similar to that of the conventional example, and a detailed description thereof will be omitted. However, in the case of a newly added command (command group B) described later, a conventional command (command group A) is also used. In the case of), the command table 6 is searched, the corresponding command is read from the new command table area 6 ', and the command is executed.
【0019】関数実行部11は、ライブラリ14にある
特定のライブラリ(プログラム)をデバッグ作業中に、
デバッグ作業に影響をあたえることなく実行するための
ものであり、この実施例の場合にはコマンドF1の入力
によって起動される。関数実行部11が起動されると、
関数実行部11はデバッグ対象プログラムに影響を与え
ないように、最初にデバッグ作業中のレジスタの値を外
部記憶装置或いは内部記憶装置の所定の箇所に一旦退避
させ(前処理)、次いでライブラリ中の特定のプログラ
ムを実行する。The function executing section 11 is designed to debug a specific library (program) in the library 14 while
This is for executing without affecting the debugging work, and in the case of this embodiment, it is activated by inputting the command F1. When the function execution unit 11 is activated,
The function executing unit 11 first temporarily saves the value of the register being debugged to a predetermined location in the external storage device or the internal storage device (preprocessing) so as not to affect the program to be debugged, and then in the library. Run a specific program.
【0020】実際のコマンドの入力には、コマンドF1
と共に必要なパラメータ、例えば実行したい特定のライ
ブラリ名が入力され、これによって特定のライブラリが
呼び出され、この特定のライブラリが実行される。特定
ライブラリ実行の結果は表示部5に表示される。また、
図1の実施例に示されるごとく結果保持部12を設け
て、ここに特定ライブラリの実行結果を保持させてもよ
い。To input an actual command, the command F1
A necessary parameter, for example, the name of a specific library to be executed is input together with this, and the specific library is called and the specific library is executed. The result of execution of the specific library is displayed on the display unit 5. Also,
As shown in the embodiment of FIG. 1, the result holding unit 12 may be provided to hold the execution result of the specific library.
【0021】関数の実行が終了すると、レジスタ等を前
処理の前の状態に戻すための後処理が行われる。When the execution of the function is completed, post-processing for returning the registers and the like to the state before the pre-processing is performed.
【0022】コマンド登録部13は、ライブラリ14中
にある特定のライブラリ、或いはデバッグ対象プログラ
ム7中にある特定のプログラムをプログラムデバッグ装
置のコマンドとして登録するためのものであり、関数実
行部11の場合と同様、デバッグ対象プログラムに影響
を与えないための前処理及びコマンド登録作業終了後の
後処理が行われる。The command registration unit 13 is for registering a specific library in the library 14 or a specific program in the debug target program 7 as a command of the program debug device. Similarly to, the preprocessing for not affecting the program to be debugged and the postprocessing after the command registration work are performed.
【0023】コマンド登録部13の起動に必要なコマン
ドF2及び必要なパラメータが入力されると、その入力
に従って、コマンド登録部13が起動される。コマンド
登録部13はライブラリ14或いはデバッグ対象プログ
ラム7中のの特定のプログラムにアクセスし、それを実
行可能な形に変換し、更に、この実行可能な形に変換さ
れたプログラムにこれを呼び出すためのコマンド(例え
ばB1)を付与し、この実行可能プログラムをコマンド
と共に、内部記憶装置に設けられた実行プログラム格納
部20に格納する。同時に、このコマンド名及びこのコ
マンド名に対応したプログラムが格納されている内部記
憶装置内の実行プログラム格納部20のアドレス情報及
び必要なパラメータ類をコマンドテーブル6の新コマン
ドテーブル領域6’に登録する。コマンド登録作業を円
滑に進めるため、作業中の情報を表示部5に表示させて
もよい。When the command F2 necessary for starting the command registration unit 13 and the necessary parameters are input, the command registration unit 13 is started according to the input. The command registration unit 13 accesses a specific program in the library 14 or the debug target program 7, converts the program into an executable form, and further calls the program converted into the executable form. A command (for example, B1) is added, and this executable program is stored together with the command in the execution program storage unit 20 provided in the internal storage device. At the same time, this command name and the address information of the execution program storage unit 20 in the internal storage device in which the program corresponding to this command name is stored and the necessary parameters are registered in the new command table area 6 ′ of the command table 6. . To facilitate the command registration work, information about the work may be displayed on the display unit 5.
【0024】このようにコマンドテーブル6中にコマン
ドを登録することによって、特定のコマンド例えばB1
を入力装置1から入力することにより、新たに登録され
たプログラムをもともとプログラムデバッグ装置に登録
されていたコマンドと全く同一の操作により実行可能と
することができる。By registering a command in the command table 6 as described above, a specific command, for example, B1
By inputting from the input device 1, the newly registered program can be executed by the same operation as the command originally registered in the program debug device.
【0025】即ち、入力装置1より新たに登録したコマ
ンド、例えばB1が入力されると、コマンドテーブル6
の新コマンドテーブル領域6’には前述のとおり新たに
作成されたコマンドが登録されているので、コマンドテ
ーブル検索部3はコマンドテーブル6よりB1が格納さ
れている実行プログラム格納部20のアドレス及び必要
なパラメータ類を読み出し、これをコマンド実行指定部
10に送る。コマンド実行指定部10はこれをコマンド
実行部4に送る。コマンド実行部4では送られてきた情
報に基づいて実行プログラム格納部20から必要なプロ
グラム等を読み出し、これを実行する。実行結果は表示
部5に表示する。That is, when a newly registered command, for example, B1 is input from the input device 1, the command table 6
Since the command newly created as described above is registered in the new command table area 6 ′ of the command table search unit 3, the command table search unit 3 reads the address of the execution program storage unit 20 in which B 1 is stored from the command table 6 and the necessary Various parameters are read out and sent to the command execution designating section 10. The command execution designation unit 10 sends this to the command execution unit 4. The command execution unit 4 reads out a necessary program or the like from the execution program storage unit 20 based on the sent information and executes it. The execution result is displayed on the display unit 5.
【0026】コマンド登録部13では、さらに新コマン
ドテーブル領域6’及び実行プログラム格納部20に格
納された新コマンドに関する情報を、装置の電源が断に
なっても内容が失われないメモリ、例えばハードディス
ク等の外部記憶装置17に格納する。The command registration unit 13 further stores information about the new command stored in the new command table area 6'and the execution program storage unit 20 in a memory, for example, a hard disk, whose contents are not lost even when the power of the apparatus is turned off. Etc. in the external storage device 17.
【0027】終了処理部19は、デバッグ作業を終了す
るに当たって必要な後処理を行うためのものであり、例
えば、入力装置よりコマンドQを入力することによって
起動される。The termination processing section 19 is for performing post-processing required for finishing the debugging work, and is activated by inputting a command Q from an input device, for example.
【0028】コマンド初期登録部16は、本発明による
プログラムデバッグ装置を起動したときに新たに登録さ
れたコマンドを使用出来るようにするためのものであ
り、新コマンドの登録処理を行った時に外部記憶装置1
7に格納した新コマンドに関する情報、即ちコマンド自
体とそれに対応したアドレス類(必要なパラメータを含
む)及び実行可能なプログラムをこの外部記憶装置17
から呼び出すと共に、このコマンド、アドレス類を再び
コマンドテーブル6の新コマンドテーブル領域6’に書
き出し、さらに実行可能なプログラムを必要なインデッ
クス情報と共に内部記憶装置上の実行プログラム格納部
20に書き出すものである。The command initial registration unit 16 is provided to enable the newly registered command to be used when the program debug device according to the present invention is started up, and is externally stored when the new command registration process is performed. Device 1
The information about the new command stored in 7, that is, the command itself, addresses corresponding thereto (including necessary parameters) and executable programs are stored in the external storage device 17
This command and addresses are written again in the new command table area 6'of the command table 6, and an executable program is written in the execution program storage unit 20 on the internal storage device together with necessary index information. .
【0029】次に、図2、図3、図4、図5を参照し
て、図1に示したこの発明のプログラムデバッグ装置の
実施例の動作を説明する。なお、図2はプログラムデバ
ッグ装置全体のフローを示す図であり、以下図3はコマ
ンド登録処理を示すフロー図、図4は関数実行処理を示
すフロー図、図5はコマンド初期登録処理の詳細を示す
フロー図である。Next, the operation of the embodiment of the program debug device of the present invention shown in FIG. 1 will be described with reference to FIGS. 2, 3, 4, and 5. 2 is a diagram showing the flow of the entire program debug device, FIG. 3 is a flow chart showing command registration processing, FIG. 4 is a flow chart showing function execution processing, and FIG. 5 shows details of command initial registration processing. It is a flowchart which shows.
【0030】始めに、図2を参照してプログラムデバッ
グ装置の全体の動作を説明する。プログラムデバッグ装
置を起動すると、初期設定部15が必要なメモリの確保
等の通常の初期設定を行い(ステップ201)、次い
で、新たなコマンド登録がなされている場合にそのコマ
ンドを使用可能とするためのコマンド初期登録を行う
(ステップ202)。このコマンド初期登録は、既に説
明した通り、コマンド初期登録部16が行う。これによ
り新たに設定されたコマンドも、プログラムデバッグ装
置に予め登録されていた通常のコマンドと同一の操作で
実行出来ることとなる。この処理の詳細は、図5と共に
後で説明する。First, the overall operation of the program debug device will be described with reference to FIG. When the program debug device is started, the initial setting unit 15 performs normal initial setting such as securing necessary memory (step 201), and then enables the command when a new command is registered. Command initial registration is performed (step 202). This command initial registration is performed by the command initial registration unit 16 as already described. As a result, the newly set command can be executed by the same operation as a normal command registered in advance in the program debug device. Details of this processing will be described later with reference to FIG.
【0031】デバッグのためのコマンドを入力すると
(ステップ203)、そのコマンドが終了処理のための
ものか否かが判定され(ステップ204)、終了処理の
ときには終了処理が行われる(ステップ205)。それ
以外のときには、プログラムデバッグ装置に予め登録さ
れていた通常のコマンドの実行(通常処理)か否かが判
定され(ステップ206)、通常処理の場合には、破線
210で囲まれた処理(ステップ211、ステップ21
2、ステップ213)に移る。この通常処理は従来例と
同一の処理であり、ここではこれ以上の詳細な説明は省
く。When a command for debugging is input (step 203), it is judged whether or not the command is for end processing (step 204), and if it is end processing, end processing is performed (step 205). In other cases, it is determined whether or not a normal command registered in advance in the program debug device (normal processing) is executed (step 206). In the case of normal processing, the processing enclosed by the broken line 210 (step 211, step 21
2, step 213). This normal processing is the same processing as the conventional example, and a detailed description thereof will be omitted here.
【0032】通常処理でなかったときには、関数実行処
理(F1処理)か、コマンド登録処理(F2処理)かが
判定され(ステップ207)、判定に従ってそれぞれ関
数実行処理(ステップ208)、コマンド登録処理(ス
テップ209)を行う。If it is not the normal processing, it is judged whether it is the function execution processing (F1 processing) or the command registration processing (F2 processing) (step 207), and the function execution processing (step 208) and the command registration processing (step 208) respectively according to the judgment. Step 209) is performed.
【0033】図3を用いてコマンド登録処理(図2のス
テップ209)の詳細を説明する。Details of the command registration process (step 209 in FIG. 2) will be described with reference to FIG.
【0034】コマンド登録処理が起動されると、デバッ
グ対象プログラムに影響を与えないためのいわゆる前処
理を実施し(ステップ301)、次いで、登録しようと
する関数がデバッグ対象プログラムに存在するか否か
を、デバッグ対象プログラムのシンボルテーブル等を検
索して判定する(ステップ302、ステップ303)。When the command registration process is activated, so-called preprocessing for not affecting the debug target program is executed (step 301), and then it is determined whether or not the function to be registered exists in the debug target program. Is determined by searching the symbol table or the like of the program to be debugged (steps 302 and 303).
【0035】コマンドが存在すれば、関数(プログラ
ム)自体を作成する必要はなく、コマンドテーブルに必
要な情報を書き込むコマンドテーブルの設定に移行する
(ステップ309)。その後、本プログラムデバッグ装
置を起動したときに前回新たに登録したコマンドを自動
的に登録可能とするため、電源を断にしても内容が消え
ないメモリ、例えば、ハードディスク等の外部記憶装置
17中にファイルを作り関数自体と共にこれらコマンド
テーブルに登録した情報を格納する(ステップ31
0)。If the command exists, it is not necessary to create the function (program) itself, and the process moves to the setting of the command table for writing the necessary information in the command table (step 309). After that, when the program debugging device is started, the command newly registered last time can be automatically registered, so that the contents are not lost even when the power is turned off, for example, in the external storage device 17 such as a hard disk. A file is created and the information registered in these command tables is stored together with the function itself (step 31).
0).
【0036】ステップ303において、コマンドが存在
しないのであれば、その関数やライブラリを実行可能な
状態に変換して内部記憶装置に格納しなければならな
い。そこで、デバッグ対象プログラムにあるユーザーが
作成した実行プログラムかライブラリかの検索を行い
(ステップ304,305)、実行プログラムであれば
その実行ファイルを外部記憶装置などから読み込み(ス
テップ306)、内部記憶装置上の実行プログラム格納
部20に実行可能な形式に変換して格納する。また、ユ
ーザーが作成した実行プログラムでない場合は、ライブ
ラリを読み込み(ステップ307)、リンクを取った
(ステップ308)後、やはり実行プログラム格納部2
0に格納する。If there is no command in step 303, the function or library must be converted into an executable state and stored in the internal storage device. Therefore, a search is made for a user-created execution program or library in the program to be debugged (steps 304 and 305), and if it is an execution program, the execution file is read from an external storage device or the like (step 306). It is converted into an executable format and stored in the above-mentioned execution program storage unit 20. If it is not the execution program created by the user, the library is read (step 307) and linked (step 308).
Store in 0.
【0037】このように関数やライブラリを実行可能な
形式で内部記憶装置上の実行プログラム格納部20に格
納した後、新規コマンド名や実行に必要となる実行アド
レスや引き数、返り値などの各種情報をコマンドテーブ
ル6に設定し(ステップ309)、前記同様外部記憶装
置17に作成されたファイルにも登録する(ステップ3
10)。その後、後処理(ステップ311)を行った
後、処理を終了する。After the functions and libraries are stored in the executable program storage section 20 in the internal storage device in such a form that they can be executed in this manner, various new command names, execution addresses, arguments, return values, etc. necessary for execution are obtained. The information is set in the command table 6 (step 309) and registered in the file created in the external storage device 17 as well (step 3).
10). After that, post-processing (step 311) is performed, and then the processing ends.
【0038】図4を用いて関数実行(プログラム実行)
処理の詳細を説明する。関数実行処理を起動した後、直
ちにデバッグ対象プログラムに影響を与えないためのい
わゆる前処理を実施し(ステップ41)、次いでコマン
ド引数のチェックを行う(ステップ42)。引数がOK
であれば、関数の実行を行い(ステップ44)、返り値
のチェック(ステップ45)、後処理(ステップ46)
等を行った後処理を終了する。引数がOKでないときは
関数の実行は行わず、後処理(ステップ46)の後、処
理を終了する。Function execution (program execution) using FIG.
The details of the processing will be described. Immediately after the function execution processing is started, so-called preprocessing for not affecting the program to be debugged is carried out (step 41), and then the command argument is checked (step 42). Argument is OK
If so, the function is executed (step 44), the return value is checked (step 45), and post-processing (step 46).
After that, the processing ends. When the argument is not OK, the function is not executed, the post-processing (step 46) is performed, and then the processing ends.
【0039】図5を用いてコマンド初期登録処理を説明
する。コマンド初期登録処理を起動した後、直ちにデバ
ッグ対象プログラムに影響を与えないためのいわゆる前
処理を実施し(ステップ51)、コマンド登録処理にて
格納したファイルから登録ファイルを読み出し(ステッ
プ52)、登録コマンドの有無をチェック(ステップ5
3、54)して、コマンド登録があれば各種登録情報と
共にコマンド登録を行う(ステップ55)。コマンド登
録とは具体的には、外部記憶装置17等に作られたファ
イルから登録されたコマンドに関する情報を読みだし、
コマンドテーブル6、及び内部記憶装置上の実行プログ
ラム格納部20にそれぞれ必要な情報を書き込むことで
ある。The command initial registration process will be described with reference to FIG. Immediately after activating the command initial registration process, so-called pre-processing is performed to prevent the debug target program from being affected (step 51), and the registration file is read from the file stored in the command registration process (step 52) and registered. Check for command (step 5)
If there is command registration, command registration is performed together with various registration information (step 55). Specifically, the command registration is to read information about the registered command from a file created in the external storage device 17 or the like,
This is to write necessary information in the command table 6 and the execution program storage unit 20 on the internal storage device.
【0040】その後、必要な後処理を行ない(ステップ
56)、コマンド初期登録処理を終了する。ここで実行
される実行プログラムは実行後戻ってこれるようなサブ
ルーチン形式でなければならない。Thereafter, necessary post-processing is performed (step 56), and the command initial registration processing ends. The execution program executed here must be in the form of a subroutine that returns after execution.
【0041】図6は本発明のプログラムデバッグ装置を
動作させた場合の内部記憶装置93(図9参照)におけ
るメモリ配置図であり、(A)はプログラムデバッグ装
置を起動したときのメモリ配置図、(B)はコマンド登
録後のメモリ配置図、(C)はコマンド登録後、再起動
したときのメモリ配置図である。FIG. 6 is a memory layout diagram in the internal storage device 93 (see FIG. 9) when the program debug device of the present invention is operated, and FIG. 6A is a memory layout diagram when the program debug device is activated. (B) is a memory layout diagram after command registration, and (C) is a memory layout diagram after command registration and restart.
【0042】プログラムデバッグ装置起動後のメモリ配
置を説明すると、(A)に示されるとおり、プログラム
デバッグ装置が起動されると、内部記憶装置93にまず
オペレーティングシステムが格納され、環境設定用の領
域が設定される。そして、デバッグ処理を行うプログラ
ムが外部記憶装置97(図9参照)から内部記憶装置9
3に格納され、デバッグ作業を行うために必要となるワ
ークエリアも内部記憶装置93に作成される。更に、起
動時又はプログラムデバッグ装置のコマンドにより、デ
バッグ対象プログラム(被デバッグプログラム)が外部
記憶装置97から内部記憶装置93上に格納される。The memory arrangement after the program debug device is activated will be described. As shown in FIG. 9A, when the program debug device is activated, the operating system is first stored in the internal storage device 93, and the environment setting area is set. Is set. Then, the program for performing the debug process is transferred from the external storage device 97 (see FIG. 9) to the internal storage device 9
3 is also created in the internal storage device 93, which is a work area required for performing debugging work. Further, the program to be debugged (program to be debugged) is stored in the internal storage device 93 from the external storage device 97 at the time of startup or by a command of the program debug device.
【0043】コマンド登録時のメモリ配置図を説明する
と、(B)に示されるように新たに登録したプログラム
(実行関数)やライブラリ(実行ライブラリ)が内部記
憶装置93の空き領域に配置される。Explaining the memory layout diagram at the time of command registration, a newly registered program (execution function) or library (execution library) is arranged in an empty area of the internal storage device 93, as shown in FIG.
【0044】コマンド登録後、再起動したときのメモリ
配置を説明すると、(C)に示されるように、実行関数
や実行ライブラリは、プログラムデバッグ装置を起動し
たときに登録されることとなり、従って、デバッグ処理
プログラムの次に配置される。The memory allocation at the time of restarting after the command registration will be described. As shown in (C), the execution function and the execution library are registered when the program debug device is started. It is placed next to the debug processing program.
【0045】以上に述べた本発明の第1の実施例の他に
も、種々の変更が可能である。例えば、新コマンドテー
ブル領域6’に格納された新登録コマンド及びそれに対
応したアドレス情報類、及び、内部メモリ20に記憶さ
れた実行可能な関数(プログラム)を引き出してきてこ
れをハードディスク等の外部メモリ上のファイルに格納
する処理を、コマンド登録処理とは別の処理、例えば終
了処理の一環として実施してもよい。この場合には、終
了処理が起動されると、まず新たに登録されたコマンド
類、それに対応して作成された実行可能な形式のプログ
ラム類を新コマンドテーブル領域6’及び内部メモリ2
0から読みだし、これを外部メモリのファイルに格納
し、しかる後にプログラムデバッグ装置の本体を終了す
る。Various modifications can be made in addition to the first embodiment of the present invention described above. For example, a new registration command stored in the new command table area 6 ′ and address information corresponding to it, and an executable function (program) stored in the internal memory 20 are extracted and used as an external memory such as a hard disk. The process of storing in the above file may be performed as a process different from the command registration process, for example, as a part of the ending process. In this case, when the termination process is activated, the newly registered commands and the executable programs created corresponding thereto are first loaded into the new command table area 6'and the internal memory 2.
It is read from 0, stored in a file in the external memory, and then the main body of the program debug device is terminated.
【0046】また、本願に用いるハードウエア構成も、
図9に示すとおり入力回路6がバスに直結されたものが
用いられているが、他の機器からのリモートデバッグ装
置のようにシリアル入出力ポートなどから入力される構
成でもよい。この場合、処理結果の一部を他の機器に表
示することになる。Also, the hardware configuration used in the present application is
Although the input circuit 6 directly connected to the bus is used as shown in FIG. 9, it may be configured to be input from a serial input / output port or the like like a remote debug device from another device. In this case, part of the processing result is displayed on another device.
【0047】さらに、第1の実施例では、内部記憶装置
に存在しない関数を、コマンド登録処理によって外部記
憶装置等から前記内部記憶装置に格納したが、プログラ
ム実行処理で検索、格納してもよい。このとき、格納す
る関数は実行時にのみメモリ上に存在していればよく、
実行後は内部記憶装置から削除されることで、無駄なメ
モリを消費することがなくなる。Further, in the first embodiment, the function which does not exist in the internal storage device is stored in the internal storage device from the external storage device or the like by the command registration process, but it may be searched and stored in the program execution process. . At this time, the function to be stored need only exist in the memory at the time of execution,
After execution, it is deleted from the internal storage device, so that useless memory is not consumed.
【0048】[0048]
【発明の効果】以上詳述したように、本発明のプログラ
ムデバッグ装置では、実行プログラムや関数、ライブラ
リなどを、デバッグ対象プログラムの任意のアドレス位
置で、デバッグ対象プログラムに影響を与えることな
く、プログラムデバッグ装置のコマンドの1つとして実
行することが可能となり、デバッグ対象プログラムをデ
バッグする際のシステム環境の変更やハードウエアの制
御、各種の設定状態やデータの参照などを行うことが可
能となる。As described above in detail, in the program debug device of the present invention, the execution program, the function, the library, etc. are programmed at an arbitrary address position of the debug target program without affecting the debug target program. It becomes possible to execute as one of the commands of the debug device, and it becomes possible to change the system environment when debugging the program to be debugged, control the hardware, and refer to various setting states and data.
【図1】本発明の1実施例のプログラムデバッグ装置の
構成とその働きを説明するための機能ブロック図であ
る。FIG. 1 is a functional block diagram for explaining the configuration and operation of a program debug device according to an embodiment of the present invention.
【図2】本発明の1実施例のプログラムデバッグ装置の
動作を説明するためのフローチャート図である。FIG. 2 is a flow chart for explaining the operation of the program debug device of the first embodiment of the present invention.
【図3】本発明の1実施例のコマンド登録のための処理
を示すフローチャート図である。FIG. 3 is a flowchart showing a process for command registration according to an embodiment of the present invention.
【図4】本発明の1実施例の関数実行のための処理を示
すフローチャート図である。FIG. 4 is a flowchart showing a process for executing a function according to an embodiment of the present invention.
【図5】本発明の1実施例のコマンド初期登録のための
フローチャート図である。FIG. 5 is a flow chart diagram for initial registration of a command according to an embodiment of the present invention.
【図6】本発明の1実施例のプログラムデバッグ装置を
起動した時の内部メモリのメモリ配置図である。FIG. 6 is a memory layout diagram of an internal memory when the program debug device according to the embodiment of the present invention is activated.
【図7】従来例の構成を示す機能ブロック図である。FIG. 7 is a functional block diagram showing a configuration of a conventional example.
【図8】従来例の動作を説明するためのフローチャート
図である。FIG. 8 is a flowchart for explaining the operation of the conventional example.
【図9】従来例のプログラムデバッグ装置のハードウエ
ア構成を示す図である。FIG. 9 is a diagram showing a hardware configuration of a conventional program debug device.
1 入力装置 2 入力インターフェース 3 コマンドテーブル検索部 4 コマンド実行部 5 表示部 6 コマンドテーブル 7 被デバッグプログラム 10 コマンド実行指定部 11 関数実行部 12 結果保持部 13 コマンド登録部 14 ライブラリ 15 初期設定部 16 コマンド初期登録部 17 外部記憶装置 19 終了処理部 20 実行プログラム格納部 DESCRIPTION OF SYMBOLS 1 input device 2 input interface 3 command table search unit 4 command execution unit 5 display unit 6 command table 7 debugged program 10 command execution designation unit 11 function execution unit 12 result holding unit 13 command registration unit 14 library 15 initial setting unit 16 commands Initial registration unit 17 External storage device 19 End processing unit 20 Execution program storage unit
Claims (3)
マンド実行手段と、終了手段とを備えたプログラムデバ
ッグ装置において、 ライブラリなどに登録された関数を実行するための関数
実行手段と、 ライブラリやユーザーが作成した関数を実行可能なコマ
ンドとして登録するコマンド登録手段と、 コマンド登録手段によって登録されたコマンドを起動時
に自動的に再登録するためのコマンド初期登録手段とを
設け、 デバッグ対象プログラムの任意の位置でライブラリに登
録された関数、ユーザーが作成した関数を実行可能とし
たことを特徴としたプログラムデバッグ装置。1. A program debug device comprising an initial setting means, a command input means, a command execution means, and an end means, a function execution means for executing a function registered in a library, a library, and the like. Provided with a command registration means for registering a user-created function as an executable command, and a command initial registration means for automatically re-registering the command registered by the command registration means at startup. A program debug device characterized by being able to execute functions registered in the library at the position of, and functions created by the user.
なコマンド及び関数を、該コマンド登録手段自身が外部
記憶装置に格納することを特徴とする請求項1に記載の
プログラムデバッグ装置。2. The program debug device according to claim 1, wherein the command registration means itself stores new commands and functions registered by the command registration means in an external storage device.
なコマンド及び関数を、終了手段が外部記憶装置に格納
することを特徴とする請求項1に記載のプログラムデバ
ッグ装置。3. The program debug device according to claim 1, wherein the termination unit stores the new command and function registered by the command registration unit in an external storage device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6134025A JP2860054B2 (en) | 1994-06-16 | 1994-06-16 | Program debugging device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6134025A JP2860054B2 (en) | 1994-06-16 | 1994-06-16 | Program debugging device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH086817A true JPH086817A (en) | 1996-01-12 |
JP2860054B2 JP2860054B2 (en) | 1999-02-24 |
Family
ID=15118625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6134025A Expired - Fee Related JP2860054B2 (en) | 1994-06-16 | 1994-06-16 | Program debugging device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2860054B2 (en) |
-
1994
- 1994-06-16 JP JP6134025A patent/JP2860054B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2860054B2 (en) | 1999-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110126175A1 (en) | Debugging method and debugging device using hardware breakpoints | |
JP3764405B2 (en) | Debugging apparatus and debugging method | |
US5963741A (en) | Information processor which rewrites instructions in program to dynamically change program structure and method therefor | |
JP2860054B2 (en) | Program debugging device | |
JPH0410081B2 (en) | ||
JPH05297911A (en) | Sequence control circuit for sequence controller | |
CN108197000B (en) | Application program starting log saving method, storage medium, electronic device and system | |
JPH09319615A (en) | Software break point managing system for kernel debugger | |
JPH0421027A (en) | Method for changing set environment | |
JPH05181702A (en) | Soft debugger | |
JPS6214240A (en) | Program inspecting system | |
JPS5856051A (en) | Address comparison system by access interruption | |
JPH05314081A (en) | Information processor provided with two processors | |
JPH09218829A (en) | Write testing method for external storage and information processing system adopting the same | |
JP2000194546A (en) | Computer system | |
JPH0651990A (en) | System initial loading system of operating system in computer system | |
JPH056294A (en) | Dump sampling system | |
JPH08161010A (en) | Ladder sequence program arithmetic unit | |
JPH05233363A (en) | Tracing device for emulator | |
JPH03250236A (en) | Command execution control system | |
JPH05100893A (en) | Debugging system of microprogram | |
JPH06250881A (en) | Symbolic debugging system | |
JPH0594281A (en) | Computer system | |
JPH01191238A (en) | Memory dump system | |
JPH11272497A (en) | Program debug system and language processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071204 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081204 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091204 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091204 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101204 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |