説明

アプリケ―ションプログラムのデバッグにおけるリンク処理方法及びそのシステム並びに情報記録媒体

【課題】 アプリケーションプログラムのデバッグにおけるリンク処理に要する処理時間を削減して、作業工程を効率化する。
【解決手段】 外部記憶装置10、リンカ11,RAM12、メモリ13、入出力表示処理13及び中央演算処理装置15を有し、外部記憶装置10からメモリ13に読み込んで格納したオブジェクトモジュールファイル中のデータにポインタ方式を適用して管理する。この際、1回目のリンク処理でオブジェクトモジュールファイルの内容をメモリ13に書き込んで、リンカを待機状態に設定して、オブジェクトモジュールファイルをメモリ13に残し、2回目以降のリンク処理で、1回目に書き込んだメモリ13の内容を使用する。

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、アプリケーションプログラムのデバッグにおけるリンク処理方法及びそのシステム並びに情報記録媒体に関し、特に、リンク処理の処理時間を削減するリンク処理方法及びそのシステム並びに情報記録媒体に関する。
【0002】
【従来の技術】従来、アプリケーションプログラムの開発において、プログラム規模が大きくなり、そのステップ数が増大化している。このアプリケーションプログラムの作成では、コンパイル(アセンブリ)、リンク、デバッグ、コード修正の一連の作業工程を繰り返して行っている。この作業工程は、プログラム規模の増大とともに、その作業時間が大きくなっている。このようなアプリケーションプログラムのデバッグにおけるリンク処理として、特開昭63−8935号公報例が周知である。
【0003】図8は、この従来のアプリケーションプログラムのデバッグにおけるリンク処理を説明するための図である。このリンク処理では、複数個のオブジェクトファイルにライブラリ中から必要なルーチンを取り込んで実行するアプリケーションプログラムを作成するものであり、外部記憶装置1に格納しているソースプログラムを分割した複数のオブジェクトモジュールファイル(適宜、OMFと略称する)をリンカ2が順次読み出し、かつ、リンカ2における結合部、配置部、シンボル解決部、コード補正部、ロードモジュールファイル出力部が一連のリンク処理を実行している。すなわち、OMFごとにコンパイラやアセンブラによるオブジェクトデータファイルを生成し、この生成したオブジェクトデータファイルを結合したロードモジュールファイルを作成して、対象装置のメモリに格納している。
【0004】このリンク処理は、OMFの格納がインデックス形式であり、複数のOMFのインデックスを一つずつサーチしている。この結果、データのアクセス時間が多大になる。また、このリンク処理では、毎回外部記憶装置1からOMFを読み込む必要がある。換言すれば、OMFの格納をインデックス形式からポインタ方式に張り替えても、一回のリンク処理でリンカが終了してしまい、メモリに読み込んだOMFの情報が開放されてしまう。この場合もリンク処理の時間が多大になる。
【0005】このようなリンク処理の効率化に関しては、特開平5−324280号公報の「プログラム開発装置」(デバッグ作業中に、ターゲットシステムに実行形式を出力し、全てのデバッグ作業終了後に最終的な実行形式を記憶装置に出力する)が知られている。また、特開平7−44370号公報の「デバッグ方法」(デバッグによる修正済のモジュールを修正前の元のメモリの格納領域に再格納する)、及び、特開平10−171680号公報の「デバッグ情報作成方法、デバッグ方法及びデバッグシステム」(リンク処理を全てのデバッグ情報ファイルを一つのデバッグ書ファイルに編集せずに、管理情報ファイルを生成する)が知られている。しかしながら、これらの公報における従来例では、リンク処理の、より効率化に対する改善の余地がある。
【0006】
【発明が解決しようとする課題】このように、上記従来例は、アプリケーションプログラムのデバッグにおけるリンク処理に要する処理時間が多大になり、そのアプリケーションプログラムの作成効率が向上が低下するという欠点があった。
【0007】本発明は、このような従来の技術における課題を解決するものであり、アプリケーションプログラムのデバッグにおけるリンク処理に要する処理時間を削減できるようになり、アプリケーションプログラムの作成効率が向上するアプリケーションプログラムのデバッグにおけるリンク処理方法及びそのシステム並びに情報記録媒体の提供を目的とする。
【0008】
【課題を解決するための手段】上記課題を達成するために、本発明のアプリケーションプログラムのデバッグにおけるリンク処理方法は、外部記憶装置からメモリに読み込んで格納したオブジェクトモジュールファイル中のデータにポインタ方式を適用して管理している。
【0009】また、本発明のアプリケーションプログラムのデバッグにおけるリンク処理方法は、前記ポインタ形式を適用した管理において、1回目のリンク処理でオブジェクトモジュールファイルの内容をメモリに書き込み、リンカを待機状態に設定して、オブジェクトモジュールファイルをメモリに残し、この1回目に書き込んだメモリの内容を2回目以降のリンク処理で使用している。
【0010】更に、本発明のアプリケーションプログラムのデバッグにおけるリンク処理方法は、前記1回目のリンク処理で、メモリにおける記憶容量の占有率が設定値以上であるかを判断し、この判断で設定値以上の場合に、最後に読み込んだオブジェクトモジュールファイルをメモリから削除し、この削除対象のオブジェクトモジュールファイルが、2回目以降のリンク処理かつ外部記憶装置からのオブジェクトモジュールファイルの読み込み時に、メモリに存在するかの判断を更に行っている。
【0011】本発明のアプリケーションプログラムリンク処理システムは、一回目のリンク処理において、一連のリンク処理終了後にリンク処理プロセスを未終了として待機状態に設定する設定処理手段と、設定処理手段での設定後の再リンカ起動時に待機状態のリンカに制御を移行してリンク処理を行うリンク処理手段と、リンク処理手段において外部記憶装置からメモリに読み込んだオブジェクトモジュールファイル中のデータをポインタ形式で管理するための変更を行う変更処理手段と、2回目以降のリンク処理において、変更処理手段で変更されたオブジェクトモジュールファイルのみを外部記憶装置から読み込み、かつ、変更されていないオブジェクトモジュールファイルに対して変更処理手段でポインタ形式に変更されたメモリ中のオブジェクトモジュールファイルを読み込む処理を実行する読込処理手段とを備える構成としてある。
【0012】前記変更手段が、ポインタ形式で管理する変更を行うとともに、オブジェクトモジュールファイルが作成された日付情報を付加して、読み込んだオブジェクトモジュールファイルの前後関係を判断する構成としてある。
【0013】また、前記1回目のリンク処理で、メモリにおける記憶容量の占有率が設定値以上かを判断する判断処理手段と、判断処理手段が設定値を越えたと判断した際に、最後に読み込んだオブジェクトモジュールファイルをメモリから削除する削除処理手段と、削除処理手段での削除対象のオブジェクトモジュールファイルが、2回目以降のリンク処理かつ外部記憶装置からのオブジェクトモジュールファイルの読み込み時にメモリに存在するかを判断する判断処理手段とを更に備える構成としてある。
【0014】更に、前記設定値として、メモリにおける記憶容量の占有率が、少なくとも50パーセント以上又は未満であるかを判断するための値を設定する構成としてある。
【0015】また、前記設定処理手段、リンク処理手段、変更処理手段及び読込処理手段として、少なくとも、RAM、メモリ、外部記憶装置、リンカ処理部、データ入出力表示装置及び中央演算処理装置を用いる構成としてある。また、前記判断処理手段、削除処理手段及び判断処理手段として、少なくとも、RAM、メモリ、外部記憶装置、リンカ処理部、データ入出力表示装置及び中央演算処理装置を用いる構成としてある。
【0016】本発明のアプリケーションプログラムリンク処理情報記録媒体は、外部記憶装置からメモリに読み込んで格納したオブジェクトモジュールファイル中のデータにポインタ方式を適用して管理し、1回目のリンク処理でオブジェクトモジュールファイルの内容をメモリに書き込んで、リンカを待機状態に設定して、オブジェクトモジュールファイルをメモリに残し、2回目以降のリンク処理で、1回目に書き込んだメモリの内容を使用するための制御を実行する制御プログラムを記録している。
【0017】前記1回目のリンク処理で、メモリにおける記憶容量の占有率が設定値以上の場合に、最後に読み込んだオブジェクトモジュールファイルをメモリから削除し、このオブジェクトモジュールファイルが2回目以降のリンク処理かつ外部記憶装置からのオブジェクトモジュールファイルの読み込み時に、メモリに存在するかの判断を行う制御を実行するための制御プログラムを更に記録している。
【0018】このような本発明のアプリケーションプログラムのデバッグにおけるリンク処理方法及びシステムは、外部記憶装置からメモリに読み込んで格納したオブジェクトモジュールファイル中のデータにポインタ方式を適用して管理するとともに、1回目のリンク処理でオブジェクトモジュールファイルの内容をメモリに書き込み、リンカを待機状態に設定して、オブジェクトモジュールファイルをメモリに残している。そして、2回目以降のリンク処理で、1回目に書き込んだメモリの内容を使用している。
【0019】この結果、アプリケーションプログラムのデバッグにおけるリンク処理に要する処理時間を削減できるようになり、そのアプリケーションプログラムの作成効率が向上する。
【0020】また、本発明のアプリケーションプログラムのデバッグにおけるリンク処理方法及びシステムは、1回目のリンク処理で、メモリにおける記憶容量の占有率が設定値以上の場合に、最後に読み込んだオブジェクトモジュールファイルをメモリから削除する。そして、この削除対象のオブジェクトモジュールファイルが、2回目以降のリンク処理かつ部記憶装置からのオブジェクトモジュールファイルの読み込み時にメモリに存在するかの判断を行っている。
【0021】この結果、アクセス頻度の低いメモリの領域を一時的にディスクに退避して、再度アクセスされた時点でメモリに読み出すスワップがなくなり、システムのスワップが多大にならずに、オペレーティングシステムの処理速度に影響を与えないようになる。換言すれば、リンク処理に要する処理時間の削減が、より効果的に行われる。
【0022】本発明のアプリケーションプログラムリンク処理情報記録媒体は、前記した処理を実行する制御プログラムを格納している。
【0023】この結果、制御プログラムを汎用ソフトウェアとして提供できるようになり、汎用小型コンピュータでのアプリケーションプログラムのデバッグにおけるリンク処理に要する処理時間を削減できるようになり、そのアプリケーションプログラムの作成効率が向上する。
【0024】
【発明の実施の形態】次に、本発明のアプリケーションプログラムのデバッグにおけるリンク処理方法及びそのシステム並びに情報記録媒体の実施の形態を図面を参照して詳細に説明する。図1は本発明のアプリケーションプログラムのデバッグにおけるリンク処理方法及びそのシステム並びに情報記録媒体の第1実施形態にかかる構成を示すブロック図である。このアプリケーションプログラムリンク処理システムは、汎用小型コンピュータを用いて、複数個のオブジェクトファイルにライブラリ中から必要なルーチンを取り込んでアプリケーションプログラムを作成するためのものであり、この汎用小型コンピュータによってコンパイル(アセンブリ)、リンク、デバッグ、コード修正の一連の作業工程を繰り返して行っている。
【0025】図1において、このアプリケーションプログラムリンク処理システムは、汎用小型コンピュータにおける外部記憶装置10に格納した複数のオブジェクトモジュールファイル(OMF)を順次読み出し、リンカ11がリンク処理を実行している。また、汎用小型コンピュータにおけるRAM12及びメモリ13が、このリンカ11でのリンク処理にかかるデータの記憶処理を行っている。また、入出力表示処理装置14及び中央演算処理装置15が設けられている。
【0026】なお、以下のリンク処理は汎用小型コンピュータを用いて実行される。したがって、以下のリンク処理をCD−ROMや磁気記録媒体に格納した汎用ソフトウェア(情報記録媒体)として提供可能である。
【0027】図1において、この例は、再リンクを指示するオプション指定101、及び、リンカ終了を指示するオプション指定102の処理とともに、待機中のリンク処理のプロセスに制御を移行させるための処理を行う入出力処理部(A)110と、外部記憶装置10からOMFのファイルを取り込んでメモリ13に展開するOMF入力部(A)111と、OMF中のデータ管理をインデックス形式からポインタ形式に変換するためのインデックス張り替え処理部112と、リンク処理本体105とを備えている。
【0028】リンク処理本体105は、結合部113と、配置部114と、シンボル解決部115と、コード補正部116と、ロードモジュールファイル出力部117とを有している。このリンク処理本体105では、外部記憶装置10に格納しているソースプログラムを分割した複数のOMFごとにコンパイラやアセンブラによるオブジェクトデータファイルを生成し、この生成したオブジェクトデータファイルを結合したロードモジュールファイルを作成して、対象装置のメモリに送出している。
【0029】更に、この例は、リンク処理本体105でのリンカ終了を指示するオプション指定が指示されたかを判断し、リンカ終了を指示するオプションが指定されていた場合にリンカを終了させ、また、リンカ終了を指示するオプションが指定されていない場合にリンク処理のプロセスを待機状態に設定する入出力処理部(B)118と、ロードモジュールファイルがメモリ13中のOMFよりも後に作成されたものであれば、外部記憶装置10からOMFを読み込む処理を行うOMF入力部(B)119とを備えている。
【0030】次に、この第1実施形態の動作について説明する。図2は第1実施形態の動作の処理手順を示すフローチャートである。図1及び図2において、再リンクオプション指定101が行われているかを判断する(ステップS201) 。ここで再リンクオプション指定101が行われていない場合(No)、指定されたOMFをメモリ13に読み込む(ステップS202) 。この読み込んだOMF中のデータをインデックス形式で管理しているデータをポインタ形式に変換するとともに、読み込んだオブジェクトモジュールファイルの前後関係を判断するためのオブジェクトモジュールファイルが作成された日付情報を付加する(ステップS203) 。
【0031】このステップS203について詳細に説明する。図3は図2中のステップ203の詳細な処理手順を示すフローチャートである。図2中のOMF中のデータをインデックス形式で管理しているデータをポインタ形式に張り替え、更に日付情報を付加した後(ステップS203)に、変換するOMFを読み込む(ステップS301)。インデックス値(何番目のデータであるかを示す値)をカウントする変数countを「0」に初期化する(ステップS302)。次に、ファイルヘッダ情報からインデックス形式をポインタ形式に変換するデータの先頭アドレスを取得し(ステップS303) 、変換するデータのインデックス値を取得する(ステップS304) 。
【0032】更に、ファイルヘッダ情報から変換するデータを示している先頭アドレスを変数addrに代入する(ステップS305) 。次に、インデックス値と変数countとが同一であるかを判断する(ステップS306) 。この判断でインデックス値と変数countとが同じでない場合(No)、次のデータにアドレスを進めるためデータのサイズ分を変数addrに加算する(ステップS312) 。続いて、変数countに「1」を加算して(ステップS313)、ステップ306に戻る。このステップS306,S312,S313を繰り返すサーチによって該当するデータを検出する。
【0033】次に、このメモリ13に入力したOMF(インデックス形式)について説明する。図4はインデックス形式をポインタ形式に変換する前のOMFの内容を説明するための図である。図5はシンボルテーブルを説明するための図である。図4に示すインデックス形式では、インデックス値に基づいて、図5に示すシンボル情報を一つずつサーチして、データを参照しなければならないが、ポインタ形式ではアドレスを参照することによって、直接そのデータを参照できる。
【0034】図3において、インデックス値と変数countとが同一になった場合、インデックス値が格納されていた領域に変数addrの内容を代入する(ステップS307) 。これによって、一つのデータをインデックス形式からポインタ形式へに変換する処理が終了したことになる。次に、一つのOMF中の全てのインデックス形式がポインタ形式に変換できたかの終了を判断する(ステップS308)。この判断で終了していない場合(S308:No)、ステップS302に戻り、また、ステップS308の判断で終了している場合(Yes)、OMFの作成日時情報をOMFに追加する(ステップS309) 。
【0035】次に、全てのOMFのインデックス形式がポインタ形式に変換できたかの終了を判断する(ステップS310) 。この判断で全てのOMFの変換(ポインタ形式)が終了していない場合(No)、ステップS301に戻って、以降の処理を繰り返す。また、ステップS310の判断で全てのOMFの変換(ポインタ形式)が終了している場合(Yes)、図2に示すリンク処理本体105での処理に移行する(ステップS204)。このリンク処理本体105での処理(ステップS204)は、結合部113、配置部114、シンボル解決部115、コード補正部116、ロードモジュールファイル出力部117によって、外部記憶装置10に格納しているソースプログラムを分割した複数のOMFごとにコンパイラやアセンブラによるオブジェクトデータファイルを生成し、この生成したオブジェクトデータファイルを結合したロードモジュールファイルを作成している。
【0036】このリンク処理本体105での処理(ステップS204)が終了すると、リンク終了オプション指定(オプション指定102)が行われたかを判断する(ステップS205) 。この判断で指定が行われている場合(Yes)、リンク処理を終了する。また、ステップS205の判断で指定が行われていない場合(No)、入出力処理部の確保を行って(ステップS206) 、リンク処理を待機状態に設定する(ステップS207) 。次に、再リンクオプション指定101が行われている場合、すなわち、2回目以降のリンク処理では、まず、入出力処理部(A)110の確保を行う(ステップS213) 。装置のアドレスとポート番号情報に基づいて、すでに待機状態のリンク処理のプロセスに接続要求を行う(ステップS214) 。
【0037】そして、指定されたファイル名及びオプション情報を待機状態のリンク処理のプロセスに渡して、その制御を移行する(ステップS215) 。この制御が移行された待機状態のリンク処理のプロセスでは、ファイル名(OMF)及びオプション情報を取得する(ステップS208) 。この取得したOMFとメモリ13とに格納されているOMFの日付情報とを比較する(ステップS209) 。
【0038】この日付情報の比較によって、メモリ13中のOMFが新しいかを判断し(ステップS210) 、この判断でメモリ13中のOMFが古い場合(No)、外部記憶装置10から再度読み込みを行う(ステップS211) 。そして、他に指定されたファイルがあるかを判断する(ステップS212) 。メモリ13中のOMFが新しい場合(S212:Yes)、ステップS212に進む。まだ、他のファイルがある場合(S212:No)は、ステップS203に戻って以降の処理を繰り返す。
【0039】図2において、再リンクを指示するオプション指定101が行われていない場合、すなわち、2回目移行のリンク処理では、入出力処理部の確保を行い(ステップS213) 、装置のアドレスとポート番号情報に基づいて、すでに動作しているリンク処理のプロセスに接続要求を行う(ステップS214) 。次に、起動時に指定したファイル名とオプション情報を、すでに動作しているリンク処理のプロセスに、その制御を移行する(ステップS215) 。
【0040】このようにして図4に示すインデックス形式をポインタ形式に変換する前のOMFをポインタ形式に変換する。図6はインデックス形式をポインタ形式に変換した後及び作成日付を付加した後のOMFの内容を説明するための図である。図4に示すリロケーションデータ1及びリロケーションデータnがインデックス方式によって、そのシンボルを示しているのに対して、図6では、ポインタ形式によって、そのシンボルを示している。
【0041】このようにして、最初にリンク処理を実行したときに、OMFを読み込み、このOMF中のデータをインデックス形式からポインタ形式に張り替えて処理を行う。この結果、処理時間を削減できる。更に、リンク処理を終了させずに待機状態とする。これによって、メモリ13中のOMFを2回目以降のリンク処理で使用できることになる。この2回目以降のリンク処理では、指定されたファイル名及びオプション情報を待機状態のリンク処理に渡すことによって、その処理を行う。また、変更されたOMFのみを外部記憶装置10から読み込み、変更されていないOMFは、メモリ13中に格納されているOMFを使用する。この結果、更に処理時間が削減される。
【0042】次に、この処理時間の削減を具体的な数字に基づいて説明する。以下、OMF数を30個でリンク処理する場合について説明する。従来例のリンク処理にあって、30本のOMFをリンク処理すると約180秒が必要である。この中でOMFを読み込むために要する時間は、30本で計36秒である。1日間、そのデバッグ処理を行うと、通常約30〜50回のリンク処理を行うことになり、その合計時間は、40回×180秒=7200秒(120分)となり、この時間内でのOMFを読み込む時間は、40回×36秒=1440秒(24分)となる。
【0043】この時間に基づいたリンカ11の実行では、以下のようになる。インデックス形式で管理されているデータをポインタ形式に変更することによって、リンク処理時間が従来例よりも10パーセント削減できる。また、RAM12から読み出す速さは、ハードディスク装置(HDD)の約40〜160倍である。したがって、このRAM12から読み出す速さは、ほぼ無視できる値となる。また、通常、再リンク処理を行う場合に更新されるOMFは、1〜2本であるため、2回目以降のリンク処理では、この1〜2本のOMFの読み込み時間のみを要することになり、他の28,29本の読み込み時間が無視できる値となる。これを従来例によって、その合計時間を計算すると次のようになる。
【0044】40回×(180秒−(36秒+(180秒×10パーセント)+1秒=5000秒(約84分)となる。したがって、従来例よりも実施形態でのリンク処理は、処理時間を約30パーセント削減(24分/84分)できることになる。なお、前記した1秒は、外部記憶装置10からOMFを読み込む時間である。
【0045】このように、この第1実施形態では、アプリケーションプログラムのデバッグにおけるリンク処理に要する処理時間を削減できるようになり、結果的にアプリケーションプログラムの作成効率が向上することになる。
【0046】次に、第2実施形態について説明する。図7R>7は第2実施形態の処理手順を示すブロック図である。図7において、図2に示した第1実施形態の処理と同一の処理には、同一の参照符号を付し、かつ、その重複した説明は省略する。この第2実施形態では、前記した第1実施形態に対し、システムのメモリ13における記憶容量に対する占有率を調べ、そのメモリ13の記憶容量の占有率が50パーセント以上の場合に、メモリ13に読み込んでいるOMFを削除する処理を追加している。このメモリ13における記憶容量の占有率を50パーセント未満としているのは、50パーセント以上になるとシステムのスワップが多大になり、オペレーティングシステムの処理速度に影響を与える場合を考慮したものである。
【0047】図7において、ステップS201からステップS205までの処理は、図2に示した第1実施形態の処理と同様である。このステップS205によるリンク終了オプション指定(オプション指定102)が行われたかの判断の後のステップS701では、この第2実施形態のリンカが占有しているメモリ13の記憶容量がシステムでのデータ処理における全体の50パーセント以上かを判断する。ここで50パーセント以上の場合(S701:Yes)、ステップS702で最後に読み込んだOMFをメモリ13から削除してステップS701に戻る。また、ステップS701で50パーセント未満の場合(No)、ステップS206に進む。このステップS206からステップS209までの処理は図2に示した第1実施形態の処理と同様である。
【0048】ステップS209における取得したOMFとメモリ13とに格納されているOMFの日付情報との比較後のステップS703では、メモリ13中に存在し、かつ、メモリ13中のOMFが新しいかの判断を行う。ここでメモリ13中のOMFが古い場合(No)、図2に示した第1実施形態におけるステップS211,S212を処理する。すなわち、外部記憶装置10から再度読み込みを行い、他に指定されたファイルがあるかを判断する。
【0049】このように、この第2実施形態では、アクセス頻度の低いメモリ13の領域を一時的にディスクに退避して、再度アクセスされた時点でメモリ13に読み出すスワップがなくなる。したがって、システムでのスワップが多大にならずに、オペレーティングシステムの処理速度に影響を与えないようになる。換言すれば、リンク処理に要する処理時間の削減が、より効果的に行われる。
【0050】
【発明の効果】以上の説明から明らかなように、本発明のアプリケーションプログラムのデバッグにおけるリンク処理方法及びシステムによれば、読み込んだオブジェクトモジュールファイル中のデータにポインタ方式を適用して管理するとともに、1回目のリンク処理でオブジェクトモジュールファイルの内容をメモリに書き込み、リンカを待機状態に設定して、オブジェクトモジュールファイルをメモリに残すとともに、2回目以降のリンク処理で1回目に書き込んだメモリの内容を使用している。
【0051】この結果、アプリケーションプログラムのデバッグにおけるリンク処理に要する処理時間を削減できるようになり、そのアプリケーションプログラムの作成効率が向上することになる。
【0052】また、本発明のアプリケーションプログラムのデバッグにおけるリンク処理方法及びシステムによれば、1回目のリンク処理で、メモリにおける記憶容量の占有率が設定値以上の場合に、最後に読み込んだオブジェクトモジュールファイルをメモリから削除し、この削除対象のオブジェクトモジュールファイルが、2回目以降のリンク処理かつ部記憶装置からのオブジェクトモジュールファイルの読み込み時にメモリに存在するかの判断を行っている。
【0053】したがって、アクセス頻度の低いメモリの領域を一時的にディスクに退避して、再度アクセスされた時点でメモリに読み出すスワップがなくなり、システムのスワップが多大にならずに、オペレーティングシステムの処理速度に影響を与えないようになる。この結果、リンク処理に要する処理時間の削減が、より効果的に行われるようになる。
【0054】更に、本発明のアプリケーションプログラムリンク処理情報記録媒体では、前記した処理を実行する制御プログラムを格納している。
【0055】この結果、制御プログラムを汎用ソフトウェアとして提供できるようになり、汎用小型コンピュータでのアプリケーションプログラムのデバッグにおけるリンク処理に要する処理時間を削減できるようになり、そのアプリケーションプログラムの作成効率が向上するようになる。
【図面の簡単な説明】
【図1】本発明のアプリケーションプログラムのデバッグにおけるリンク処理方法及びそのシステム並びに情報記録媒体の第1実施形態にかかる構成を示すブロック図である。
【図2】第1実施形態の動作の処理手順を示すフローチャートである。
【図3】図2中の処理の詳細な手順を示すフローチャートである。
【図4】第1実施形態にあってインデックス形式をポインタ形式に変換する前のオブジェクトモジュールファイルの内容を説明するための図である。
【図5】第1実施形態にあってシンボルテーブルを示す図である。
【図6】第1実施形態にあってインデックス形式をポインタ形式に変換した後及び作成日付を付加した後のオブジェクトモジュールファイルの内容を説明するための図である。
【図7】第2実施形態の処理手順を示すブロック図である。
【図8】従来のアプリケーションプログラムのデバッグにおけるリンク処理を説明するための図である。
【符号の説明】
10 外部記憶装置
11 リンカ
12 RAM
13 メモリ
14 入出力表示処理装置
15 中央演算処理装置
105 リンク処理部
110/118 入出力処理部(A)/(B)
111/119 OMF入力部(A)/(B)
112 インデックス張り替え処理部
113 結合部
114 配置部
115 シンボル解決部
116 コード補正部
117 ロードモジュールファイル出力部

【特許請求の範囲】
【請求項1】 アプリケーションプログラムのデバッグにおけるリンク処理方法において、外部記憶装置からメモリに読み込んで格納したオブジェクトモジュールファイル中のデータにポインタ方式を適用して管理することを特徴とするアプリケーションプログラムのデバッグにおけるリンク処理方法。
【請求項2】 前記ポインタ形式を適用した管理において、1回目のリンク処理でオブジェクトモジュールファイルの内容をメモリに書き込み、リンカを待機状態に設定して、オブジェクトモジュールファイルをメモリに残し、この1回目に書き込んだメモリの内容を2回目以降のリンク処理で使用することを特徴とする請求項1記載のアプリケーションプログラムのデバッグにおけるリンク処理方法。
【請求項3】 前記1回目のリンク処理で、メモリにおける記憶容量の占有率が設定値以上かを判断し、この判断で設定値以上の場合に、最後に読み込んだオブジェクトモジュールファイルをメモリから削除し、この削除対象のオブジェクトモジュールファイルが、2回目以降のリンク処理かつ外部記憶装置からのオブジェクトモジュールファイルの読み込み時に、メモリに存在するかの判断を更に行うことを特徴とする請求項2記載のアプリケーションプログラムのデバッグにおけるリンク処理方法。
【請求項4】 アプリケーションプログラムのデバッグにおけるリンク処理を実行するアプリケーションプログラムリンク処理システムにおいて、一回目のリンク処理において、一連のリンク処理終了後にリンク処理プロセスを未終了として待機状態に設定する設定処理手段と、前記設定処理手段での設定後の再リンカ起動時に待機状態のリンカに制御を移行してリンク処理を行うリンク処理手段と、前記リンク処理手段において外部記憶装置からメモリに読み込んだオブジェクトモジュールファイル中のデータをポインタ形式で管理するための変更を行う変更処理手段と、2回目以降のリンク処理において、前記変更処理手段で変更されたオブジェクトモジュールファイルのみを外部記憶装置から読み込み、かつ、変更されていないオブジェクトモジュールファイルに対して前記変更処理手段でポインタ形式に変更されたメモリ中のオブジェクトモジュールファイルを読み込む処理を実行する読込処理手段と、を備えることを特徴とするアプリケーションプログラムリンク処理システム。
【請求項5】 前記変更手段が、ポインタ形式で管理する変更を行うとともに、オブジェクトモジュールファイルが作成された日付情報を付加して、読み込んだオブジェクトモジュールファイルの前後関係を判断することを特徴とする請求項4記載のアプリケーションプログラムリンク処理システム。
【請求項6】 前記1回目のリンク処理で、メモリにおける記憶容量の占有率が設定値以上であるかを判断する判断処理手段と、前記判断処理手段が設定値を越えたと判断した際に、最後に読み込んだオブジェクトモジュールファイルをメモリから削除する削除処理手段と、前記削除処理手段での削除対象のオブジェクトモジュールファイルが、2回目以降のリンク処理かつ外部記憶装置からのオブジェクトモジュールファイルの読み込み時にメモリに存在するかを判断する判断処理手段と、を更に備えることを特徴とする請求項4記載のアプリケーションプログラムリンク処理システム。
【請求項7】 前記設定値として、メモリにおける記憶容量の占有率が、少なくとも50パーセント以上又は未満であるかを判断するための値を設定することを特徴とする請求項6記載のアプリケーションプログラムリンク処理システム。
【請求項8】 前記設定処理手段、リンク処理手段、変更処理手段及び読込処理手段として、少なくとも、RAM、メモリ、外部記憶装置、リンカ処理部、データ入出力表示装置及び中央演算処理装置を用いることを特徴とする請求項4記載のアプリケーションプログラムリンク処理システム。
【請求項9】 前記判断処理手段、削除処理手段及び判断処理手段として、少なくとも、RAM、メモリ、外部記憶装置、リンカ処理部、データ入出力表示装置及び中央演算処理装置を用いることを特徴とする請求項4記載のアプリケーションプログラムリンク処理システム。
【請求項10】 外部記憶装置からメモリに読み込んで格納したオブジェクトモジュールファイル中のデータにポインタ方式を適用して管理し、1回目のリンク処理でオブジェクトモジュールファイルの内容をメモリに書き込んで、リンカを待機状態に設定して、オブジェクトモジュールファイルをメモリに残し、2回目以降のリンク処理で、1回目に書き込んだメモリの内容を使用するための制御を実行する制御プログラムを記録したことを特徴とするアプリケーションプログラムリンク処理情報記録媒体。
【請求項11】 前記1回目のリンク処理で、メモリにおける記憶容量の占有率が設定値以上の場合に、最後に読み込んだオブジェクトモジュールファイルをメモリから削除し、このオブジェクトモジュールファイルが2回目以降のリンク処理かつ外部記憶装置からのオブジェクトモジュールファイルの読み込み時に、メモリに存在するかの判断を行う制御を実行するための制御プログラムを、更に記録したことを特徴とする請求項10記載のアプリケーションプログラムリンク処理情報記録媒体。

【図4】
image rotate


【図6】
image rotate


【図1】
image rotate


【図2】
image rotate


【図3】
image rotate


【図5】
image rotate


【図8】
image rotate


【図7】
image rotate


【公開番号】特開2000−200202(P2000−200202A)
【公開日】平成12年7月18日(2000.7.18)
【国際特許分類】
【出願番号】特願平11−2222
【出願日】平成11年1月7日(1999.1.7)
【出願人】(000232036)日本電気アイシーマイコンシステム株式会社 (72)
【Fターム(参考)】