(57)【要約】【課題】OpenCOBOLでコーディングしたプログラムに問題があった場合に、机上デバッグではなくマシンデバッグが可能となるようなデバッグ実行方法を提供する。【解決手段】OpenCOBOLプログラムのデバッグ支援システムは、OpenCOBOLプログラムのソースコードであるOpenCOBOLソースコードに対してOpenCOBOLコンパイラによるコンパイルを実行し、Cソースコードに変換する手段と、変換された前記Cソースコードに対してEclipseのCDT(C/C++ Development Tooling)プラグインのデバッグツールを用いてデバッグを実行する手段と、を備える。【選択図】図２
2014067211.tif 000002
【特許請求の範囲】
【請求項１】
OpenCOBOLプログラムのデバッグを支援するためのシステムであって、サーバが、
OpenCOBOLプログラムのソースコードであるOpenCOBOLソースコードに対してOpenCOBOLコンパイラによるコンパイルを実行し、Cソースコードに変換する手段と、
変換された前記Cソースコードに対してEclipseのCDT(C/C++ Development Tooling)プラグインのデバッグツールを用いてデバッグを実行する手段と、を備えたことを特徴とする
OpenCOBOLプログラムのデバッグ支援システム。
【請求項２】
前記Cソースコードに変換する手段は、
前記Cソースコードへの変換に先立って、１又は複数の前記Cソースコードの変数名と、対応するOpenCOBOLソースコードのデータ定義名とを対応付けた変数名対応表ファイルを出力する手段と、
前記OpenCOBOLソースコードを前記Cソースコードに変換する際に、前記変数名対応表ファイルを参照し、該変数名対応表ファイルに含まれる前記Cソースコードの変数名を含む行に対して前記OpenCOBOLソースコードのファイル名と対応する行番号とを付加してCソースコードを出力する手段と、を有することを特徴とする
請求項１に記載のOpenCOBOLプログラムのデバッグ支援システム。
【請求項３】
前記変数名対応表ファイルを出力する手段は、
予め指定された、不良を作り込む可能性が高い配列処理部分または性能に関連するファイルI/Oの処理部分のいずれかまたは双方の部分について、前記Cソースコードの変数名と前記OpenCOBOLソースコードのデータ定義名との対応付けを前記変数名対応表ファイルに出力する手段を有することを特徴とする
請求項２に記載のOpenCOBOLプログラムのデバッグ支援システム。
【請求項４】
前記デバッグを実行する手段は、
前記変数名対応表ファイルを読み込んで、EclipseのGUI（Graphical User Interface）の画面上に前記Cソースコードの変数名と前記OpenCOBOLソースコードのデータ定義名とを対応付けた形式で表示する手段を有することを特徴とする
請求項２又は３に記載のOpenCOBOLプログラムのデバッグ支援システム。
【請求項５】
前記デバッグを実行する手段は、
前記Cソースコードが表示されたEclipseのCエディタにおいて前記OpenCOBOLソースコードのファイルのオープン処理を実行することにより、前記Cソースコードに含まれる前記OpenCOBOLソースコードのファイル名と行番号を含む行に基づいて、対応する前記OpenCOBOLソースコードのファイルの対応する行をオープンする手段を有することを特徴とする
請求項２〜４のいずれかに記載のOpenCOBOLプログラムのデバッグ支援システム。
【請求項６】
前記Cソースコードは前記OpenCOBOLソースコードと同じファイル名で出力され、
前記デバッグを実行する手段は、
前記OpenCOBOLソースコードが表示されたEclipseのCOBOLエディタにおいて前記Cソースコードのファイルのオープン処理を実行することにより、前記OpenCOBOLソースコードのファイルと同名の前記Cソースコードのファイルをオープンする手段と、を有することを特徴とする
請求項２〜５のいずれかに記載のOpenCOBOLプログラムのデバッグ支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、OpenCOBOLプログラムで実装したアプリケーションの効率的なデバッグ、特にマシンデバッグを実行可能としたデバッグ支援システムに関するものである。
【背景技術】
【０００２】
近年、ライセンスコストを抑えたいという理由で、オープンソースソフトウェアを適用する企業が増えている。最近では、COBOLを使用したアプリケーションを適用している企業においても、商用COBOLで作成したアプリケーションをOpenCOBOLへ移行するような事案が出てきている。
【０００３】
図１は、従来の商用COBOLプログラムからOpenCOBOLプログラムへの移行を行う場合のシステム概略構成図である。商用COBOLプログラムの開発実行環境があるメインフレーム１０１、商用COBOLプログラムのソースコードであるCOBOLソースコード１０２、OpenCOBOLプログラムの開発実行環境がある、商用を含むLinux（登録商標)サーバ１０３、OpenCOBOLプログラムのソースコードであるOpenCOBOLソースコード１０４、OpenCOBOLコンパイラ１０５、OpenCOBOLで作成したアプリケーション１０６、COBOLデバッグツール(簡易版)１０７とから構成されている。
【０００４】
このような構成の環境において、商用COBOLプログラムをOpenCOBOLプログラムへ移行する場合、メインフレーム１０１にある商用COBOLソースコード１０２を、OpenCOBOLプログラムの開発実行環境がある商用を含むLinux（登録商標)サーバ１０３にコピーする。次に、コンパイラに依存する部分のソースコードを修正してOpenCOBOLソースコード１０４とし、OpenCOBOLコンパイラ１０５でコンパイルを実行しテスト行う。問題なければアプリケーション１０６の運用を開始する。テスト時、またはアプリケーション実行時に問題がある場合は、COBOLデバッグツール(簡易版)１０７を使用するか、机上デバッグによりソースコードを見直して、対策を行う。
なお、本発明に関連する公知技術文献としては特許文献１〜４がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２９３１３８号公報
【特許文献２】特開２００７−１８８３６６号公報
【特許文献３】特開２００２−２７８８０３号公報
【特許文献４】特開平７−１１０７８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、図１に示すCOBOLデバッグツール(簡易版)１０７は、デバッガーの機能としては高度なことができない。例えば、メインプログラムからサブプログラムを呼び出すようなプログラム構成でのデバッグができない、日本語が使用できないなどの制限がある。このため、マシンデバッグが難しく、机上でのデバッグに頼っているのが実情という問題がある。
【０００７】
本発明の目的は、OpenCOBOLでコーディングしたプログラムに問題があった場合に、机上デバッグではなくマシンデバッグが可能となるデバッグ支援システムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明は、オープンな統合開発環境ツールであるEclipseのCDT(C/C++ Development Tooling)というプラグインを用いた、Cソースコードデバッグ機能によるOpenCOBOLプログラムのデバッグ支援システムを提供する。
【０００９】
OpenCOBOLソースコードは、コンパイルの際にコンパイラが一旦Cソースコードに変換し、その後、変換されたCソースコードをコンパイルして実行可能形式ファイルが生成される。この特性を利用し、Cソースコードによるデバッグ機能を提供する。EclipseのCDTプラグインのデバッグツールは、EclipseのGUI（Graphical User Interface）上で高度なデバッグを実行することができる。加えて、Cプログラムに慣れたプログラマーにとっては、Cプログラムをデバッグ対象にするメリットがある。
【００１０】
但し、OpenCOBOLソースコードに対する直接的なデバッグはできないため、OpenCOBOLソースコードとCソースコードの対応付けが判断しにくい。これを解決するため、本発明により、Cソースコードの変数名に対応したOpenCOBOLソースコードのデータ定義名を、Eclipse のGUIのデバッグ画面に表示することで、ユーザーによるOpenCOBOLソースコードのデバッグが簡易化できる。Cソースコードの変数名に対応したOpenCOBOLソースコードのデータ定義名の表示方法は、OpenCOBOLソースコードのコンパイル実行時に、Cソースコードの変数名とOpenCOBOLソースコードのデータ定義名の対応表を作成し、EclipseのCソースコードによるデバッグの実行時に、この対応表を参照する方法で実現する。
【００１１】
さらに、この対応表を出力する際にOpenCOBOLソースコードの各部分に対してレベルを設け、バグを作り込んでしまいそうな箇所や、性能で問題が発生しそうな箇所のみを対象に、対応表を作成するオプションについても提供する。
【００１２】
また、Cソースコードのデバッグ実行中のデバッグ行に対応したOpenCOBOLソースコード行を特定するために、Cソースコードのデバッグ実行中のエディタの実行行からOpenCOBOLソースコードの対象行をターゲットにしてOpenCOBOLソースコードのファイルをエディタで開くことができる。また、OpenCOBOLソースコードをコンパイルする際、コンパイラにより出力されたCソースコードの該当行を特定するために、OpenCOBOLソースコード行から、Cソースコードの対象行をターゲットにしてCソースコードのファイルをエディタで開くことができる。
【００１３】
本発明の具体的態様は、次の通りである。
OpenCOBOLプログラムのデバッグ支援システムであって、サーバが、OpenCOBOLプログラムのソースコードであるOpenCOBOLソースコードに対してOpenCOBOLコンパイラによるコンパイルを実行し、Cソースコードに変換する手段と、変換された前記Cソースコードに対してEclipseのCDT(C/C++ Development Tooling)プラグインのデバッグツールを用いてデバッグを実行する手段と、を備えている。
【００１４】
上記システムにおいて、前記Cソースコードに変換する手段は、前記Cソースコードへの変換に先立って、１又は複数の前記Cソースコードの変数名と、対応するOpenCOBOLソースコードのデータ定義名とを対応付けた変数名対応表ファイルを出力する手段と、前記OpenCOBOLソースコードを前記Cソースコードに変換する際に、前記変数名対応表ファイルを参照し、該変数名対応表ファイルに含まれる前記Cソースコードの変数名を含む行に対して前記OpenCOBOLソースコードのファイル名と対応する行番号とを付加してCソースコードを出力する手段と、を有することが好適である。
【００１５】
上記システムにおいて、前記変数名対応表ファイルを出力する手段は、予め指定された、不良を作り込む可能性が高い配列処理部分または性能に関連するファイルI/Oの処理部分のいずれかまたは双方の部分について、前記Cソースコードの変数名と前記OpenCOBOLソースコードのデータ定義名との対応付けを前記変数名対応表ファイルに出力する手段を有することが好適である。
【００１６】
上記システムにおいて、前記デバッグを実行する手段は、前記変数名対応表ファイルを読み込んで、EclipseのGUI（Graphical User Interface）の画面上に前記Cソースコードの変数名と前記OpenCOBOLソースコードのデータ定義名とを対応付けた形式で表示する手段を有することが好適である。
前記Cソースコードが表示されたEclipseのCエディタにおいて前記OpenCOBOLソースコードのファイルのオープン処理を実行することにより、前記Cソースコードに含まれる前記OpenCOBOLソースコードのファイル名と行番号を含む行に基づいて、対応する前記OpenCOBOLソースコードのファイルの対応する行をオープンする手段を有することが好適である。
前記Cソースコードは前記OpenCOBOLソースコードと同じファイル名で出力され、前記OpenCOBOLソースコードが表示されたEclipseのCOBOLエディタにおいて前記Cソースコードのファイルのオープン処理を実行することにより、前記OpenCOBOLソースコードのファイルと同名の前記Cソースコードのファイルをオープンする手段と、を有することが好適である。
【発明の効果】
【００１７】
本発明のOpenCOBOLプログラムのデバッグ支援システムによれば、次のような効果がある。
これまでは、主に机上で行っていたOpenCOBOLでコーディングしたソースコードのデバッグを、マシン上で実行できる。
【図面の簡単な説明】
【００１８】
【図１】図１は、従来の商用COBOLプログラムからOpenCOBOLプログラムへの移行を行う場合のシステム概略構成図である。
【図２】図２は、本発明の実施の形態の一例を示すシステム概略構成図である。
【図３】図３は、図２に示したC-COBOL変数名対応表においてCソースコードの変数名と、OpenCOBOLソースコードのデータ定義名を対応付けた表の一例の図である。
【図４】図４は、Eclipse上での本発明に係るOpenCOBOLソースコードとCソースコードの相互連携処理を表した図である。
【図５】図５は、図３に示したC-COBOL変数名対応表を出力する処理の概要を示すフローチャートである。
【図６】図６は、図２に示したEclipse CDTによるデバッグ実行時のCソースコードの変数情報参照処理の概要を示すフローチャートである。
【図７】図７は、EclipseのCOBOLエディタからCソースコードをオープンする処理のフローチャートである。
【図８】図８は、EclipseのCエディタからOpenCOBOLソースコードをオープンする処理のフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明を適用したOpenCOBOLプログラムのデバッグ支援システムの一実施の形態について説明する。
【００２０】
図２は、本発明の実施の形態の一例を示すシステム概略構成図である。OpenCOBOLプログラムの開発実行環境がある、商用を含むLinux（登録商標)サーバ２００、OpenCOBOLプログラムのソースコードであるOpenCOBOLソースコード２０１、OpenCOBOLのコンパイラであるOpenCOBOLコンパイラ２０２、CソースコードのデバッグツールであるEclipse CDT２０３、OpenCOBOLで作成したアプリケーション２０４、OpenCOBOLコンパイラ２０２が出力したCソースコード２０５、Cソースコードの変数名とOpenCOBOLソースコードのデータ定義名とを対応つけたC-COBOL変数名対応表２０６とから構成されている。
【００２１】
LINUX（登録商標）サーバ２００は、適宜のコンピュータである。OpenCOBOLソースコード２０１およびアプリケーション２０４は、適宜の外部記憶装置に記憶されたプログラムファイルである。OpenCOBOLコンパイラ２０２およびEclipse CDT２０３はそれ自体はプログラムファイルであるが、ここでは、これらのプログラムが実行（ＣＰＵがメモリに読み込み実行）されることにより実現される本発明の機能の意味で用いる。すなわち、OpenCOBOLコンパイラ２０２およびEclipse CDT２０３は、一般的な機能に加え、後述する本発明独自の処理を行う機能を含むものである。
【００２２】
OpenCOBOLソースコード２０１に対して、OpenCOBOLコンパイラ２０２でコンパイルを実行した際、OpenCOBOLコンパイラ２０２は、Ｃソースコード２０５と、C-COBOL変数名対応表２０６の各ファイルを出力する。Cソースコード２０５とC-COBOL変数名対応表２０６は、適宜の外部記憶装置に記憶される。
【００２３】
Cソースコード２０５は、コンパイル対象のOpenCOBOLソースコード２０２から一旦Cソースコード形式で出力されたものである。このCソースコード２０５に対して、Eclipse CDT２０３を使用して、マシンデバッグを実行できる。例えば、Cソースコードの文字列型の変数：「b_16」に「"HelloWorld"」という文字列データが入っていた場合は、EclipseのGUI上の変数情報の詳細を表示するダイアログに、「b_16  data="HelloWorld"」のように表示され、変数にどのようなデータが入っているかを確認できる。
【００２４】
この方法は、Cソースコードによるマシンデバッグの実行であり、OpenCOBOLソースコードを直接デバッグできるものではない。この支援として、Eclipse CDT２０３のデバッグ実行中に、Cソースコードで使用されている変数名の詳細情報を参照しようとした場合に、OpenCOBOLソースコードで使用されているデータ定義名をGUI上に表示する。これを実現する手段として、C-COBOL変数名対応表２０６を使用する。OpenCOBOLコンパイラ２０３は、コンパイル実行時にC-COBOL変数名対応表２０６を出力する。そして、Eclipse CDT２０３のデバッグ実行中に、Eclipse CDT２０３がC-COBOL変数名対応表２０６の内容を解析して、Cソースコードの変数名に対応付けられたOpenCOBOLソースコードのデータ定義名をGUI上に表示する。例えば、Cソースコードの文字列型の変数名：「b_16」とOpenCOBOLソースコードのデータ定義名「DATA01」が対応付いている場合、EclipseのGUI上の変数情報の詳細を表示するダイアログに、「C Name ：b_16  COBOL Name ： DATA01」のように表示され、Cソースコードで使用されている変数名が、OpenCOBOLソースコード上のどのデータ定義名に該当しているかを確認できる。
【００２５】
図３は、図２に示したC-COBOL変数名対応表においてCソースコードの変数名（以下「C変数名」と称する場合がある）と、当該Cソースコードの変数名に対応するOpenCOBOLソースコードのデータ定義名（以下「OpenCOBOLデータ定義名」と称する場合がある）とを対応付けた表の一例の図である。C-COBOL変数名対応表３００は、C変数名３０１と、C変数名に対応したOpenCOBOLデータ定義名３０２と、ファイルI/O（ファイル入出力）実行回数３０３と、から構成されている。C-COBOL変数名対応表３００は、OpenCOBOLコンパイラによるコンパイル実行時に出力し、Eclipse CDTによるデバッグ画面で参照される。
【００２６】
図４は、Eclipse４００上での本発明に係るOpenCOBOLソースコードとCソースコードの相互連携処理を表した図である。符号４０１は、ユーザーによりコーディングされるOpenCOBOLソースコードの概略図である。符号４０２は、OpenCOBOLコンパイラにより４０１のOpenCOBOLソースコードをコンパイルした際に出力されるCソースコードの概略図である。
【００２７】
ここで、符号４０３の行は、符号４０２の形式のCソースコードとして出力されているが、この際、符号４０４で表す行に、OpenCOBOLソースコードのファイル名と対応する行番号とが出力されている。この符号４０４で表す行の情報をキーとして、Eclipse４００上でCエディタとCOBOLエディタの相互参照が可能となる。すなわち、CソースコードとOpenCOBOLソースコードの一方のファイルを開く際に、CソースコードとOpenCOBOLソースコードを関連付けている行番号の部分をターゲットとして、他方のファイルを開くことができる。
【００２８】
図５は、図３に示したC-COBOL変数名対応表を出力する処理の概要を示すフローチャートである。
C-COBOL変数名対応表は、図２のOpenCOBOLコンパイラ２０２がコンパイル実行時に出力するが、出力する条件として、ユーザーによるコンパイルオプションと環境変数の設定が必要である。
【００２９】
OpenCOBOLコンパイラ２０２は、ユーザーがコンパイルコマンドを実行すると（ステップ５０１）、C-COBOL変数名対応表出力のためのコンパイルオプション（出力要否）が指定されているか否か、および、C-COBOL変数名対応表出力のための環境変数が指定されているか否かをチェックする（ステップ５０２）。
【００３０】
ステップ５０３でチェック結果がC-COBOL変数名対応表の出力要の場合は、配列処理オプションおよび性能処理オプションの指定チェック処理を行う（ステップ５０４）。一方ステップ５０３でチェック結果が出力否の場合は、C-COBOL変数名対応表を出力しない（ステップ５１２）。ここで配列処理オプションとは、不良を作り込む可能性が高い配列処理部分（文字列の部分参照やテーブルアクセス）の変数情報を、C-COBOL変数名対応表に出力するというオプションである。また、性能処理オプションとは、性能に関連するファイルI/Oの処理部分の変数情報を、C-COBOL変数名対応表に出力するというオプションである。ステップ５０４で、配列処理オプションおよび性能処理オプションが両方指定されているかチェックする。
【００３１】
ステップ５０５でチェック結果が、配列処理オプションおよび性能処理オプションが両方指定されている場合は、配列・性能部分の変数についてC-COBOL変数名対応表の出力処理を行う（ステップ５１３）。一方ステップ５０５で、配列処理オプションおよび性能処理オプションが両方指定されていない場合は、配列処理オプションの有無のチェックを行う（ステップ５０６）。
【００３２】
ステップ５０７でチェック結果が、配列処理オプションが指定されている場合は、配列部分の変数についてC-COBOL変数名対応表の出力処理を行う（ステップ５１４）。一方ステップ５０７で配列処理オプションが指定されていない場合は、性能処理オプションの有無のチェックを行う（ステップ５０８）。
【００３３】
ステップ５０９でチェック結果が、性能処理オプションが指定されている場合は、性能部分の変数についてC-COBOL変数名対応表の出力処理を行う（ステップ５１５）。一方ステップ５０９で性能処理オプションが指定されていない場合は、全ての変数情報のC-COBOL変数名対応表の出力処理を行う（ステップ５１０）。
【００３４】
ステップ５１３の配列処理オプション実行の処理、およびステップ５１４の処理では、C-COBOL変数名対応情報の他に、OpenCOBOLの表形式のデータ項目番号に対応したC配列番号の出力を行う。
【００３５】
ステップ５１３の性能処理オプション実行の処理、およびステップ５１５の処理では、C-COBOL変数名対応情報の他に、ファイルI/Oの実行回数を付与した出力を行う。
【００３６】
C-COBOL変数名対応表の出力処理が完了した後、アプリケーション(図２に示す２０４)、Cソースコード(図２に示す２０５)およびオブジェクトファイルなどを出力してコンパイル処理を終了する（ステップ５１１）。
【００３７】
図６は、図２に示したEclipse CDT２０３によるデバッグ実行時のCソースコードの変数情報参照処理の概要を示すフローチャートである。
【００３８】
Eclipse CDT２０３でデバッグを実行する場合、デバッグ中にCソースコードの変数情報とOpenCOBOLソースコードの変数情報を対応付いた形式で表示するためには、C-COBOL変数名対応表が参照可能の状態である必要がある。例えば、C-COBOL変数名対応表が存在しない場合や、アクセス権が無い場合は、デバッグ中にCソースコードの変数情報とOpenCOBOLソースコードの変数情報を対応付いた形式で表示することはできない。
【００３９】
ユーザーがEclipse CDT２０３を起動する（ステップ６０１）。EclipseのGUI上でCソースコードの変数を参照すると（ステップ６０２）、Eclipse CDTはC-COBOL変数名対応表が参照可能か否かをチェックする（ステップ６０３）。
【００４０】
ステップ６０４でチェック結果が参照可能の場合は、データ項目が二次元以上の配列か否かをチェックする（ステップ６０５）。これは、二次元以上の配列の場合、実装が複雑になり不良を作り込む可能性が高くなることから、表示形式をより分かりやすくするためである。ステップ６０６のチェック結果で、データ項目が二次元以上の配列である場合は、C変数情報詳細画面のC変数名フィールドとCOBOLデータ名を表形式で表示する（ステップ６０７）。この際、多次元配列の表については、親の表の任意のデータ項目を選択したら、さらに対応付いた子の表情報を表示する。一方、ステップ６０６のチェック結果で、データ項目が二次元以上の配列ではない場合は、C変数情報詳細画面のC変数名フィールドと並行して、COBOLデータ名を表示する（ステップ６０９）。
【００４１】
ステップ６０４でチェック結果が参照不可の場合は、OpenCOBOLソースコードの変数情報は表示せずに、Cソースコードの変数情報のみを表示して（ステップ６０８）、処理を終了する。
【００４２】
図７は、EclipseのCOBOLエディタからCソースコードをオープンする処理のフローチャートである。まず、OpenCOBOLソースコードをOpenCOBOLコンパイラでコンパイルした際に出力されるCソースコードは、拡張子を除いたファイル名が同じものとなる。また、出力されるCソースコードには、COBOL実行行の行番号と出力元COBOLファイル名が”cob_set_location”という関数のパラメータとして出力されている（図４の符号４０４の形式）。
【００４３】
COBOLエディタからCソースコードを参照する処理は、ファイル名の一致と”cob_set_location”行のパラメータの出力値を参照することで行う。
【００４４】
ステップ７０１で、ユーザーがEclipseのCOBOLエディタで「Cソースを開く」の実行を選択する（例えば、COBOLエディタで開いているOpenCOBOLソースコードにおけるターゲットとする行を右クリックする）。これによりCOBOLエディタで開いているOpenCOBOLソースコードと対応付いた名称のCソースコードをオープンする処理を開始する。ここでOpenCOBOLソースコードとCソースコードの名称の対応付けとは、拡張子の前のファイル名が一致するものを言う。
【００４５】
ステップ７０２で、OpenCOBOLソースコードと対応付いたCソースコードが存在するかどうかのチェックを行う。ステップ７０３でチェック結果が、OpenCOBOLソースコードと対応付いたCソースコードが存在しない場合は、Cソースコードを開かずに処理を終了する（ステップ７０８）。一方、ステップ７０３のチェック結果が、OpenCOBOLソースコードと対応付いたCソースコードが存在する場合は、Cソースコードの内容を解析し、OpenCOBOLソースコードの右クリック実行行の行番号と一致する行番号を持つ、Cソースコードの”cob_set_location”の行が存在するか否かをチェックする（ステップ７０４）。
【００４６】
ステップ７０５のチェック結果で、OpenCOBOLソースコードの右クリック実行行の行番号と一致する行番号を持つ、Cソースコードの”cob_set_location”の行が存在しない場合は、特定の行番号をターゲットとしたCソースコードのオープンは行わずに、１行目をターゲットとしてCソースコードをオープンする（ステップ７０７）。一方、ステップ７０５のチェック結果で、OpenCOBOLソースコードの右クリック実行行の行番号と一致する行番号を持つ、Cソースコードの”cob_set_location”の行が存在する場合は、一致した行番号をターゲットに、EclipseのCエディタでCソースコードをオープン（好適には該当行をマーカー付きで表示）して処理を終了する（ステップ７０６）。
【００４７】
図８は、EclipseのCエディタからOpenCOBOLソースコードをオープンする処理のフローチャートである。図７で説明した通り、OpenCOBOLソースコードをOpenCOBOLコンパイラで出力されるCソースコードには、COBOL実行行の行番号と出力元OpenCOBOLソースコードのファイル名が”cob_set_location”という関数のパラメータとして出力されている（図４の符号４０４の形式）。CエディタからOpenCOBOLソースコードをオープンする処理は、”cob_set_location”行のパラメータの出力値を参照することで行う。
【００４８】
ステップ８０１で、ユーザーがEclipseのCエディタで「COBOLソースを開く」の実行を選択する（例えば特定のターゲットとする行でクリックするか、またはターゲットを特定せずにクリックする）。Cソースコードに”cob_set_location”行が存在するか否かのチェックを行う（ステップ８０２）。
【００４９】
ステップ８０３でチェック結果が、”cob_set_location”行が１件も存在しない場合は、OpenCOBOLソースコードを開かずに処理を終了する（ステップ８０８）。一方、ステップ８０３でチェック結果が、”cob_set_location”行が存在する場合は、ステップ８０１を実行した行の位置により処理が分かれる。
【００５０】
ステップ８０５のチェック結果で、ステップ８０１を”cob_set_location”行がまだ１件も現れていない位置で実行した場合、１行目をターゲットとして該当するOpenCOBOLソースコードをオープンして処理を終了する（ステップ８０９）。一方、ステップ８０５のチェック結果がＮＯでさらにステップ８０６のチェック結果で、ステップ８０１を”cob_set_location”の行で実行した場合、ステップ８０１を実行した行の”cob_set_location”関数のパラメータに出力されている「COBOLファイル名」及び「行番号」の値を用いて、EclipseのCOBOLエディタで該当するOpenCOBOLソースコードの該当する行番号の箇所をオープンして、処理を終了する（ステップ８１０）。
【００５１】
ステップ８０５とステップ８０６のチェック結果がいずれもＮＯだった場合は、ステップ８０１を実行した行の直前に存在している”cob_set_location” 関数のパラメータに出力されている「COBOLファイル名」及び「行番号」の値を用いて、EclipseのCOBOLエディタでOpenCOBOLソースコードの行番号の箇所をオープンして、処理を終了する（ステップ８０７）。
【符号の説明】
【００５２】
２００  Linux（登録商標）サーバ
２０１  OpenCOBOLソースコード
２０２  OpenCOBOLコンパイラ
２０３  Eclipse CDT(デバッグツール)
２０４  アプリケーション
２０５  Ｃソースコード
２０６  C-COBOL変数名対応表
【図１】
2014067211.tif 000003
【図２】
2014067211.tif 000004
【図３】
2014067211.tif 000005
【図４】
2014067211.tif 000006
【図５】
2014067211.tif 000007
【図６】
2014067211.tif 000008
【図７】
2014067211.tif 000009
【図８】
2014067211.tif 000010