program本発明は、プログラム開発及び保守におけるデバッグを支援する方法、計算機及びプログラムに関する。maintenance.プログラムの開発では、ソースプログラムの編集機能、コンパイル・リンク機能(ビルド機能とも言う)、デバッグ支援機能(デバッガ)が必須である。デバッガは、プログラムが保守担当者等の意図と異なる動き(不具合)をした場合、その不具合の現象の把握、不具合の原因箇所の発見、原因に至った別の不具合の発見など、プログラムの動きの把握等のデバッグを支援する機能を提供する。movements.一般的なデバッガは、ビルド済みのプログラムを実行し、任意の実行ポイントで停止し、そのポイントが関係するデータ項目(変数)のデータ値を参照し、その後、停止中のプログラムを再開し、実行を継続する機能を基本的機能として有する。function.従来のデバッガでは、プログラムの実行を停止する箇所をブレークポイントとして指定することができる。ブレークポイント以外のところでは、データ値は命令の実行と共に逐次変化していく。したがって、データ値の参照を見過ごすことによって、再度プログラムを先頭から実行する必要があり非効率なデバッグとなる。そのため効率的なデバッグを実現するための発明が複数なされている。made.例えば、特許文献1には、プログラムの実行結果を実行履歴として蓄積し、制御及びデータフローを解析し、エラーと思われるデータを起点に、不具合を発生させた文(命令文)の集合を特定するデバッガが開示されている。disclosed.特許文献1に開示されたデバッガでは、従来のデバッガのように、逐次プログラムの実行結果の表示及びプログラムの実行を繰り返すのではなく、プログラムの実行後に分析ができ、不具合候補となる文(命令文)の集合を特定することができる。したがって、文(命令文)の実行に伴うデータ値の参照を見逃すことを防ぐ効果がある。overlooked.また、非特許文献1には、特定のイベントが発生した場合、そのイベントの発生時点における情報を蓄積し、その後参照することができる機能を備えたエラー原因究明装置が開示されている。デバッガの起動中に発生したイベントの一覧を表示し、任意のイベントを指示することによってそのイベントが発生した状態を画面に表示し、データ値などを確認することができる。イベントにはブレークポイントも含まれるため、ループなど頻繁に止まる場合もブレークポイントでスルーする設定をすることによって、プログラムの実行後に、任意のブレークポイントの状態に戻すことができ、データ値の参照を見逃すことを防ぐ効果がある。6-175484ところで、バグの発見には、一般的に、不具合が発生したデータ値に至るデータ値の遷移情報が必要である。従来のデバッガでは、保守担当者等が命令毎に逐次指示してデータ値を表示しなければならないため、不具合に至ったデータ値の遷移は保守担当者等が予測しなければならず、デバッグの効率が下がってしまう。reduced.例えば、特許文献1に記載されたエラー原因究明装置は、着目した不具合を示すデータ値を持つ変数を起点とし、そのデータ値の生成に関わった文(命令文)を実行順とは逆方向にデータ値のフローを生成する。したがって、生成されたフローは、文(命令文)の関連性を示すフローであり、データ値の遷移は、文(命令文)の詳細から逐次参照しなければならないという問題点がある。sentence).また、非特許文献1に記載されたデバッガが備える機能は、イベントの履歴からデータ値の変遷を参照するために、記録されたイベントを逐次参照しなければならないという問題点がある。特定のイベントのみトレースするという制約があるため、全ての命令に関するデータ値の情報を保持することができず、実行後に命令単位にデータ値を確認することができないという問題点がある。execution.本願において開示される発明の代表的な一例を示せば以下の通りである。入力される入力データ及び前記関数から出力される出力データから構成されるログ情報を含むデータ遷移情報を生成する第2のステップと、前記計算機が、前記データ遷移情報に基づいて、前記関数と前記入力データとの遷移状態及び前記関数と前記出力データとの遷移状態を表示するための表示情報を生成する第3のステップと、を含むことを特徴とする。purpose.本発明の一形態によれば、関数とデータの値との遷移や関連性を容易に把握でき、デバッグの効率が向上する。improved.第1実施形態におけるプログラムのデバッグ環境を実現する計算機システムの構成を説明するブロック図である。第1実施形態における計算機のハードウェア構成を説明するブロック図である。第1実施形態におけるデバッグ情報の一例を示す説明図である。第1実施形態におけるソースコード情報の一例を示す説明図である。第1実施形態における命令情報の一例を示す説明図である。第1実施形態におけるデータ値情報の一例を示す説明図である。第1実施形態におけるデータ遷移情報の一例を示す説明図である。第1実施形態における表示情報の一例を示す説明図である。第1実施形態におけるアプリケーションプログラムの実行時に表示される画面の一例を示す説明図である。第1実施形態におけるアプリケーションプログラムの実行時に表示される画面の一例を示す説明図である。第1実施形態におけるデバッガ制御部によって実行される処理を説明するフローチャートである。第1実施形態における主記憶装置に読み出されたデバッグ情報を示す説明図である。第1実施形態におけるデバッガの実行時にディスプレイに表示される画面の一例を示す説明図である。第1実施形態におけるデータ遷移情報生成部が実行する処理を説明するフローチャートである。第1実施形態における表示情報生成部が実行する処理を説明するフローチャートである。第1実施形態における表示情報生成部が実行する処理を説明するフローチャートである。第1実施形態における表示情報生成部が実行する処理を説明するフローチャートである。第1実施形態における表示情報生成部が実行する処理を説明するフローチャートである。第1実施形態におけるディスプレイに表示される画面の一例を示す説明図である。第2実施形態におけるデバッガ制御部によって実行される処理を説明するフローチャートである。第2実施形態におけるディスプレイに表示される画面の一例を示す説明図である。第3実施形態におけるデータ値情報を示す説明図である。第3実施形態における表示情報の一例を示す説明図である。第3実施形態における表示情報生成部が実行する処理を説明するフローチャートである。第3実施形態における表示情報生成部が実行する処理を説明するフローチャートである。第3実施形態における表示情報生成部が実行する処理を説明するフローチャートである。第3実施形態におけるディスプレイに表示される画面の一例を示す説明図である。Embodiment.以下、本発明を図面とあわせて詳細に説明する。embodiment]図1は、第1実施形態におけるプログラムのデバッグ環境を実現する計算機システムの構成を説明するブロック図である。embodiment.本実施形態における計算機システムは、計算機100、ディスプレイ160及び入出力装置170から構成される。170.計算機100は、デバッグ支援機能を提供する計算機である。計算機100は、アプリケーションプログラム110、デバッガ120、業務用DB130、デバッグ情報140及びデータ遷移情報150を有する。150.アプリケーションプログラム110は、デバッグ対象のプログラムである。アプリケーションプログラム110は、コンパイラ(図示省略)がソースコードをコンパイルすることによって生成される。アプリケーションプログラム110には、バグが発生した箇所を特定するための情報として、シンボル情報が埋め込まれている。ソースコードを構成する命令文の位置などの情報が含まれる。命令文には、命令(関数)を定義する文と、データを定義する文とが含まれる。以下、命令(関数)を定義する命令文を実行系の命令文とも記載する。sentence.本実施形態では、COBOL言語を用いてソースコードをコンパイルしたアプリケーションプログラム110を対象とする。本発明は、コンピュータ言語に限定されない。language.デバッガ120は、デバッグ支援機能を提供するプログラムである。デバッガ120は、アプリケーションプログラム110を実行して、その実行結果に基づいてバグを検索し、バグの修正を行う。bug.デバッガ120は、デバッガ制御部121、データ遷移情報生成部122及び表示情報生成部123を含む。本実施形態では、デバッガ120に、コンパイラも含まれているものとする。compiler.デバッガ制御部121は、デバッガ120の処理を制御する。デバッガ制御部121は、アプリケーションプログラム110を実行し、また、その実行結果に基づいてバグの検索及び修正等の処理を実行する。result.データ遷移情報生成部122は、データ遷移情報150に格納するログ情報を生成する。データ遷移情報生成部122の具体的な処理については、図14を用いて後述する。FIG.表示情報生成部123は、表示情報210(図2参照)を生成する。ここで、表示情報(図2参照)は、アプリケーションプログラム110の実行時のデータ値の遷移を表示するための情報である。表示情報生成部123の具体的な処理については、図15A及び図15Bを用いて後述する。15B.業務用DB130は、アプリケーションプログラム110の実行に必要な情報を格納する。110.デバッグ情報140は、デバッグに必要な情報、すなわち、シンボル情報が格納される。デバッグ情報140は、コンパイラによって出力された情報である。デバッグ情報140については、図3を用いて後述する。FIG.データ遷移情報150は、アプリケーションプログラム110の実行内容及び実行結果を示す情報を格納する。データ遷移情報150については、図7を用いて後述する。FIG.ディスプレイ160及び入出力装置170は、保守担当者が計算機100にデータを入力し、又は、計算機100から出力されたデータを表示するための装置である。100.図2は、第1実施形態における計算機100のハードウェア構成を説明するブロック図である。embodiment.計算機100は、プロセッサ201、主記憶装置202、補助記憶装置203及びI/Oインタフェース204を備える。計算機100は、ネットワークインタフェース等他の構成を含んでいてもよい。interface.プロセッサ201は、主記憶装置202に格納されるプログラムを実行する。プロセッサ201がプログラムを実行することによって、計算機100が備える機能を実現できる。realized.主記憶装置202は、プロセッサ201が実行するプログラム及びそのプログラムの実行に必要な情報を格納する。主記憶装置202は、例えばメモリ等が考えられる。主記憶装置202は、アプリケーションプログラム110、デバッガ120及び表示情報210を格納する。210.表示情報210は、表示情報生成部123によって生成される情報であり、この表示情報210に基づいて、ディスプレイ160にデータ遷移を示す画面が表示される。表示情報210の詳細については、図8を用いて後述する。FIG.本実施形態では、表示情報210は、主記憶装置202に一定期間格納された後に削除されるものとしているが、表示情報210を一種のログ情報として補助記憶装置203に格納してもよい。information.補助記憶装置203は、プログラム及び各種情報を格納する。補助記憶装置203は、例えば、HDDが考えられる。本実施形態では、補助記憶装置203に、業務用DB130、デバッグ情報140及びデータ遷移情報150が格納される。各DBは、外部の記憶装置、例えば、ストレージシステムに格納されていてもよい。system.プロセッサ201は、補助記憶装置203に格納されるプログラム及び情報を主記憶装置202に読み出し、主記憶装置202上のプログラム及び情報を用いて処理を実行する。202.I/Oインタフェース204は、外部の装置と接続するためのインタフェースであり、計算機100は、I/Oインタフェース204を介して、ディスプレイ160及び入出力装置170と接続される。204.本実施形態では、主記憶装置202上のプログラムとしてデバッガ120等の機能を実現しているが、本発明はこれに限定されない。デバッガ120の機能の全て又は一部を専用のハードウェアを用いて実現してもよい。hardware.次に、計算機100に格納される各種情報について説明する。described.図3は、第1実施形態におけるデバッグ情報140の一例を示す説明図である。embodiment.図3に示すように、デバッグ情報140は、ソースコード情報300、命令情報310及びデータ値情報320を格納する。320.ソースコード情報300は、アプリケーションプログラム110を実現するためのソースコードを格納する。命令情報310は、ソースコードを構成する命令文の情報を格納する。データ値情報320は、入力データ及び出力データの情報を格納する。以下、ソースコード情報300、命令情報310及びデータ値情報320のそれぞれについて説明する。described.図4は、第1実施形態におけるソースコード情報300の一例を示す説明図である。embodiment.ソースコード情報300は、行番号401及び命令文402を含む。行番号401は、ソースコードにおける命令文の位置を表す行番号を格納する。命令文402は、ソースコードを構成する命令文の内容を格納する。code.なお、図4に示すソースコード情報300は一例であって、他のカラム情報が格納されていてもよい。stored.図5は、第1実施形態における命令情報310の一例を示す説明図である。embodiment.命令情報310は、行番号501、命令語502及び入出力データ503を含む。503.行番号501は、行番号401と同一のものである。命令語502は、命令文に含まれる命令を格納する。ここで、命令とは、所定の処理を定義する文字列である。process.入出力データ503は、命令文の実行時に入力されるデータ値及びその命令文の実行結果として出力されるデータ値の情報を格納する。入出力データ503には、データの種別を識別するための識別子と、データを識別するためのデータ番号とが一つの組として格納される。set.本実施形態では、データの種別を識別するための識別子として「I」又は「O」が格納される。「I」は入力データであることを示し、「O」は出力データであることを示す。図5に示す例では、行番号501が「536」のレコードでは、データ番号237の入力データが入力され、データ番号223の出力データが出力されることを示す。output.図6は、第1実施形態におけるデータ値情報320の一例を示す説明図である。embodiment.データ値情報320は、行番号601、レベル番号602、データ名603及びカウント604を含む。604.行番号601は、行番号401と同一のものである。レベル番号602は、データの階層構造を定義する識別番号を格納する。値が小さいものほど上位の階層となる。hierarchy.データ名603は、命令文において定義されたデータ値の名称を格納する。カウント604は、データ名603に対応するデータ値の桁数又は文字数を格納する。「9(5)」は、5桁の数字であることを示す。number.なお、図3~図6を用いて説明したデバッグ情報140は、一例であって、コンピュータ言語によって異なる形式及び異なる内容の情報が格納されもよい。language.図7は、第1実施形態におけるデータ遷移情報150の一例を示す説明図である。embodiment.データ遷移情報150は、複数のログ情報701から構成される。データ番号、データの種別及びデータ値等を含む。like.図8は、第1実施形態における表示情報210の一例を示す説明図である。embodiment.表示情報210は、複数のレコードから構成され、各レコードは、種別801、行番号802、命令語/データ名803、データ値804、位置805及び関連情報位置806を含む。806.種別801は、命令文の種別を示す識別情報を格納する。具体的には、命令であることを示す「C」又はデータであることを示す「D」のいずれかが格納される。stored.行番号802は、行番号401と同一のものである。命令語/データ名803は、命令を定義する命令語又はデータを定義するデータの名称を格納する。具体的には、種別801が「C」の場合、命令語が格納され、種別801が「D」の場合、データ名が格納される。stored.データ値804は、データ名に対応するデータ値を格納する。種別801が「C」である場合、データ値804には情報が格納されない。804.位置805は、レコードに対応する命令又はデータの表示位置を格納する。関連情報位置806は、レコードに対応する命令又はデータと関連のある命令又はデータの表示位置を格納する。record.なお、表示情報210は、アプリケーションプログラム110の実行順にレコードが格納される。110.以上が、計算機100が格納する情報の説明である。次に、アプリケーションプログラム110の実行時の表示画面について説明する。described.図9及び図10は、第1実施形態におけるアプリケーションプログラム110の実行時に表示される画面の一例を示す説明図である。executed.図9が、アプリケーションプログラム110の実行時の表示画面を示す。図10が、アプリケーションプログラム110の実行後の表示画面を示す。アプリケーションプログラム110の実行は、デバッガ120の処理とは独立した処理である。120.表示画面900は、入力領域901、入力領域902及び計算ボタン903を含む。903.入力領域901は、商品番号を入力する領域である。入力領域902は、商品の数量を入力する領域である。計算ボタン903は、アプリケーションプログラム110の実行を指示する操作ボタンである。110.保守担当者等が、計算ボタン903を操作すると、入力領域901及び入力領域902に入力された値に基づいてアプリケーションプログラム110が実行され、図10に示すような結果が表示される。displayed.図9に示す例では、入力領域901には「A020」が、入力領域902には「20」が入力された様を示している。902.図10に示す表示画面900には、新たに、出力領域1001、出力領域1002、出力領域1003、キャンセルボタン1004及び登録ボタン1005が含まれる。1005.出力領域1001は、入力領域901に入力された商品番号に対応する商品の名称を出力する領域である。出力領域1002は、入力領域901に入力された商品番号に対応する商品の単価を出力する領域である。出力領域1003は、入力領域901に入力された商品番号に対応する商品の売上高を出力する領域である。901.キャンセルボタン1004は、アプリケーションプログラム110の実行結果を登録しない場合に操作するボタンである。登録ボタン1005は、アプリケーションプログラム110の実行結果を登録する場合に操作するボタンである。110.保守担当者等が登録ボタン1005を操作することによって、バグが生じたデータとして、図10に示すアプリケーションプログラム110の実行結果が補助記憶装置203に格納される。FIG.図10に示す例では、売上げが「0」であるためバグが発生したと判定される。このとき、入力領域901及び入力領域902は、バグが生じた入力データであることを示すように強調表示される。bug.以上が、アプリケーションプログラム110の実行時の表示画面の説明である。以下では、デバッガ120の処理について説明する。described.図11は、第1実施形態におけるデバッガ制御部121によって実行される処理を説明するフローチャートである。embodiment.デバッガ制御部121は、処理の開始を受付け(ステップS1101)、処理を開始する。このとき、保守担当者等によって不具合が生じたデータ値と、開始ポイント又は再開ポイントとが入力される。like.ここで、開始ポイントは処理の開始位置となる実行系の命令文の位置を示し、再開ポイントは処理の再開位置となる実行系の命令文の位置を示す。process.このとき、デバッガ制御部121は、補助記憶装置203からデバッグ情報140を読み出し、主記憶装置202に格納する。202.図12は、第1実施形態における主記憶装置202に読み出されたデバッグ情報140を示す説明図である。embodiment.図12に示すように、ソースコード情報1200、命令情報1210及びデータ値情報1220が主記憶装置202の異なる記憶領域に格納される。図12では、行番号等の関連性が理解できるように表示しているが、実際には、ソースコード情報300、命令情報310及びデータ値情報320と同一形式の情報が格納される。understood.なお、データ値情報1220には、最初に入力されたデータが格納され、その後、アプリケーションプログラム110の実行とともに、新たなデータ値が格納される。executed.次いで、デバッガ制御部121は、対象となる実行系の命令文が終了ポイントであるか否かを判定する(ステップS1103)。具体的には、ソースコード情報1200を参照して、実行されていない実行系の命令文があるか否かが判定される。executed.対象となる実行系の命令文が終了ポイントであると判定された場合、デバッガ制御部121は、処理を終了する。process.対象となる実行系の命令文が終了ポイントでないと判定された場合、デバッガ制御部121は、その対象となる実行系の命令文を実行する(ステップS1104)。このとき、入力データ又は出力データが存在する場合には、入力データ又は出力データのデータ値がデータ値情報1220の対応するレコードに格納される。1220.デバッガ制御部121は、実行系の命令文に含まれる命令に対する入力データ又は出力データの少なくともいずれか一方が存在するか否かを判定する(ステップS1105)。S1105).具体的には、デバッガ制御部121は、ソースコード情報1200及び命令情報1210を参照し、実行系の命令文に含まれる命令に入力される入力データ又はその命令から出力される出力データの少なくともいずれか一方が存在するか否かを判定する。図5に示す例では、命令情報1210において、行番号が「537」である命令文の入出力データ503には、入力データ及び出力データが存在することが分かる。1210.実行系の命令文に含まれる命令に対する入力データ及び出力データのいずれもが存在しないと判定された場合、デバッガ制御部121は、次の実行系の命令文を読み出し、実行ポイントを設定し(ステップS1109)、ステップS1103に戻り、同様の処理を実行する。executed.実行系の命令文に含まれる命令に対する入力データ又は出力データの少なくともいずれか一方が存在すると判定された場合、デバッガ制御部121は、データ遷移情報150の生成指示をデータ遷移情報生成部122に出力する(ステップS1106)。S1106).データ遷移情報生成部122は、指示を受け付けると処理を開始する。データ遷移情報生成部122は、データ遷移情報150の生成処理が終了するとその旨をデバッガ制御部121に通知する。データ遷移情報生成部122が実行する処理の詳細については、図14を用いて後述する。FIG.デバッガ制御部121は、データ遷移情報150が生成された旨の通知を受け取ると、表示情報210の生成指示を表示情報生成部123に出力する(ステップS1107)。S1107).表示情報生成部123は、指示を受け付けると処理を開始する。表示情報生成部123が実行する処理の詳細については、図15A及び図15Bを用いて後述する。15B.デバッガ制御部121は、表示情報生成部123に生成された表示情報に基づいてデータの遷移を示す画面の表示指示を出力し(ステップS1108)、ステップS1109に進む。S1109.なお、デバッガ制御部121は、表示情報210の生成指示と、画面の表示指示とを同時に出力してもよい。instruction.図13は、第1実施形態におけるデバッガ120の実行時にディスプレイ160に表示される画面の一例を示す説明図である。embodiment.図13では、デバッガ制御部121が処理を実行しているときに表示される画面を表す。processing.デバッガ表示画面1300は、デバッガ120の処理内容及び処理結果を表示する。デバッガ表示画面1300は、ソース表示領域1310を含む。ソース表示領域1310は、デバッガ120によって処理されているソースコードを表示する。120.ソース表示領域1310には、所定数分の命令文が表示される。ソース表示領域1310には、現在処理されている実行系の命令文を示すポインタ1311が表示される。displayed.図14は、第1実施形態におけるデータ遷移情報生成部122が実行する処理を説明するフローチャートである。embodiment.データ遷移情報生成部122は、デバッガ制御部121から処理の開始指示を受け付けると処理を開始する。121.まず、データ遷移情報生成部122は、デバッガ制御部121から現在実行している実行系の命令文に対応する行番号を取得する(ステップS1401)。データ遷移情報生成部122がデバッガ制御部121に問い合わせる方法、デバッガ制御部121から受信した開始指示から取得する方法などが考えられる。considered.データ遷移情報生成部122は、取得された行番号に対応する実行系の命令文を取得する(ステップS1402)。具体的には、データ遷移情報生成部122は、取得された行番号に基づいてソースコード情報1200を参照し、取得された行番号と一致する実行系の命令文を取得する。number.データ遷移情報生成部122は、取得された実行系の命令文に関連する全ての入力データ及び出力データを取得したか否かを判定する(ステップS1403)。具体的には、データ遷移情報生成部122は、取得された行番号に基づいて命令情報1210を参照し、対応するレコードから全ての入力データ及び出力データが取得されたか否かを判定する。record.実行系の命令文に関連する全ての入力データ及び出力データが取得されたと判定された場合、データ遷移情報生成部122は、取得された情報をデータ遷移情報150に格納し(ステップ1408)、処理を終了する。具体的には、データ遷移情報生成部122は、取得された情報からログ情報701を生成し、生成されたログ情報701をデータ遷移情報150に格納する。150.実行系の命令文に関連する全ての入力データ及び出力データが取得されていないと判定された場合、データ遷移情報生成部122は、命令情報1210から入出力データ503を取得する(ステップS1404)。具体的には、データ遷移情報生成部122は、命令情報1210の行番号501に対応するレコードの入出力データ503からデータを一つ取得する。1210.データ遷移情報生成部122は、取得されたデータが定義された命令文の行番号を取得する(ステップS1405)。S1405).さらに、データ遷移情報生成部122は、取得された行番号に基づいて対応するデータ値を取得する(ステップS1406)。具体的には、データ遷移情報生成部122は、取得された行番号に基づいてデータ値情報1220を参照し、取得された行番号に対応するレコードを取得する。number.データ値情報320は、取得されたレコードからデータ名及びデータ値を取得し(ステップS1407)、ステップS1403に戻る。以下同様の処理が実行される。executed.図15A及び図15Bは、第1実施形態における表示情報生成部123が実行する処理を説明するフローチャートである。embodiment.表示情報生成部123は、未処理のログ情報701があるか否かを判定する(ステップS1501)。データ遷移情報150から全てのログ情報701が読み出されたか否かが判定される。123は、処理を終了する。123は、データ遷移情報150からログ情報701を一つ読み出し、読み出されたログ情報701に含まれる命令を表示するための表示ポインタを生成する(ステップS1502)。S1502).具体的には、表示情報生成部123は、読み出されたログ情報701から命令に対応する情報を抽出し、その命令に対応するアイコンを表示するための表示ポイント(位置情報)を生成する。command.さらに、表示情報生成部123は、表示情報210に新たなレコードを生成し、生成されたレコードの種別801、行番号802、命令語/データ名803及び位置805に情報を格納する。record.種別801には「C」が格納され、行番号802及び命令語/データ名803にはログ情報701の情報が格納される。表示情報生成部123は、図7で示すログ情報701から、行番号が「537」である命令から命令語「COMPUTE」を抽出し、行番号802及び命令語/データ名803のそれぞれに格納する。位置805には、生成された表示ポイントが格納される。表示ポイントの生成方法は、周知の技術であるため説明を省略する。omitted.表示情報生成部123は、読み出されたログ情報701に含まれる入力データ及び出力データについての処理が全て終了したか否かを判定する(ステップS1503)。123は、ステップS1501に戻り同様の処理を実行する。123は、ログ情報701からデータに関する情報を抽出し、抽出された情報が入力データに関するものであるか否かを判定する(ステップS1504)。ここでは、種別、行番号、データ名及びデータ値が抽出される。extracted.具体的には、表示情報生成部123は、ログ情報701を参照し、抽出された情報の種別が「I」であるか否かが判定される。種別が「I」である場合、抽出された情報が入力データに関するものであると判定される。123は、表示情報210から同一のデータを検索し(ステップS1505)、同一のデータが見つかったか否かを判定する(ステップS1506)。S1506).具体的には、表示情報生成部123は、入力データの行番号と一致するレコードを表示情報210から検索する。検索方法としては、ステップS1502において生成されたレコードより上位のレコードを検索する。searched.これは、入力データは、抽出されたログ情報701に含まれる命令の実行前に出力されたデータであることが想定されるためである。701.図8に示す例では、取得されたログ情報701に含まれる命令の行番号が「537」である場合、入力データの行番号「223」及びデータ名「TANKA」と一致するレコードが存在することが分かる。123は、ステップS1508に進む。123は、入力データを表示するための表示ポイントを生成する(ステップS1507)。これは、初めて入力される入力データであるためである。time.具体的には、表示情報生成部123は、デバッガ表示画面1300に入力データを示すアイコンを表示するための表示ポイントを生成する。1300.さらに、表示情報生成部123は、表示情報210に新たなレコードを生成し、生成されたレコードの種別801、行番号802、命令語/データ名803、データ値804及び位置805に情報を格納する。.種別801には「D」が格納され、行番号802、命令語/データ名803及びデータ値804にはログ情報701の情報が格納される。位置805には、生成された表示ポイントが格納される。stored.表示情報生成部123は、命令と入力データとを関連づけて(ステップS1508)、ステップS1503に戻り、同様の処理を実行する。processing.具体的には、表示情報生成部123は、表示情報210の入力データに対応するレコードの関連情報位置806に、命令に対応するレコードの位置805と同一の表示ポイントを格納する。210.前述した処理によって、命令と入力データとの間の遷移関係を表示することが可能となる。123は、出力データを表示するための表示ポイントを生成する(ステップS1509)。S1509).具体的には、表示情報生成部123は、デバッガ表示画面1300に出力データを示すアイコンを表示するための表示ポイントを生成する。1300.さらに、表示情報生成部123は、表示情報210に新たなレコードを生成し、生成されたレコードの種別801、行番号802、命令語/データ名803、データ値804及び位置805に情報を格納する。.種別801には「D」が格納され、行番号802、命令語/データ名803及びデータ値804にはログ情報701の情報が格納される。位置805には、生成された表示ポイントが格納される。stored.表示情報生成部123は、命令と出力データとを関連づけて(ステップS1510)、ステップS1503に戻り、同様の処理を実行する。processing.具体的には、表示情報生成部123は、表示情報210の命令に対応するレコードの関連情報位置806に、出力データに対応するレコードの位置805と同一の表示ポイントを格納する。210.前述した処理によって、命令と出力データとの間の遷移関係を表示することが可能となる。data.図16A及び図16Bは、第1実施形態における表示情報生成部123が実行する処理を説明するフローチャートである。embodiment.表示情報生成部123は、表示情報210に未処理のレコードがあるか否かを判定する(ステップS1601)。具体的には、表示情報210の全てのレコードについて処理が終了したか否かを判定する。123は、処理を終了する。123は、表示情報210からレコードを一つ読み出す(ステップS1602)。S1602).表示情報生成部123は、読み出されたレコードの種別801を参照して、命令のレコードであるか否かを判定する(ステップS1603)。具体的には、表示情報生成部123は、取得されたレコードの種別801が「C」であるか否かを判定する。123は、読み出されたレコードの位置805に基づいて、その命令に対応するアイコンを所定の位置に表示する(ステップS1604)。S1604).表示情報生成部123は、その命令から出力される出力データが存在するか否かを判定する(ステップS1605)。具体的には、読み出されたレコードの関連情報位置806が空欄であるか否かが判定される。読み出されたレコードの関連情報位置806が空欄である場合、命令から出力される出力データが存在しないと判定される。123は、ステップS1601に戻り同様の処理を実行する。123は、命令から出力される出力データを検索する(ステップS1606)。具体的には、表示情報生成部123は、関連情報位置806が取得されたレコードの位置805と同一のレコードを検索する。acquired.表示情報生成部123は、検索の結果に基づいて、出力データに対応するアイコンと、命令に対応するアイコンとを接続して表示し(ステップS1607)、ステップS1601に戻る。表示情報生成部123は、命令に対応するアイコンから、出力データに対応するアイコンへ矢印を表示する。123は、読み出されたレコードの命令語/データ名803、データ値804及び位置805に基づいて、データに対応するアイコンを所定の位置に表示する(ステップS1608)。S1608).表示情報生成部123は、データが入力される命令が存在するか否かを判定する(ステップS1609)。具体的には、読み出されたレコードの関連情報位置806が空欄であるか否かが判定される。データが入力される命令が存在する場合には、そのデータは、入力データに関するレコードであることを示す。123は、ステップS1601に戻り同様の処理を実行する。123は、データの入力先となる命令を検索する(ステップS1610)。具体的には、表示情報生成部123は、関連情報位置806が取得されたレコードの位置805と同一のレコードを検索する。acquired.表示情報生成部123は、検索の結果に基づいて、命令に対応するアイコンと、入力データに対応するアイコンとを接続して表示し(ステップS1611)、ステップS1601に戻る。表示情報生成部123は、入力データに対応するアイコンから、命令に対応するアイコンへ矢印を表示する。command.なお、表示情報生成部123が表示処理を実行する必要は無く、デバッガ制御部121など他の構成が同様の処理を実行してもよい。processing.なお、表示情報210の生成と同時に表示処理が実行される場合は以下のように処理が実行される。follows.ステップS1502において、表示情報生成部123は、生成された表示ポインタに基づいて、命令に対応するアイコンを表示する。pointer.ステップS1508において、表示情報生成部123は、命令に対応するアイコンとデータに対応するアイコンとを接続して表示する。data.ステップS1510において、表示情報生成部123は、データに対応するアイコンと命令に対応するアイコンとを接続して表示する。command.図17は、第1実施形態におけるディスプレイ160に表示される画面の一例を示す説明図である。embodiment.デバッガ表示画面1300は、新たに、データ遷移表示領域1701を含む。データ遷移表示領域1701は、命令とデータとの遷移関係を表す図が表示される。data.図17に示す例では、命令は丸いアイコンを用いて表示され、データは四角アイコンを用いて表示される。データを表すアイコンにはデータ名及びデータ値が表示される。命令と関係のある入力データ及び出力データとの間が矢印で接続される。現在処理している命令を表すアイコンは色付けされ、強調表示される。highlighted.デバッガ120は、表示情報210に基づいて、図17に示すようなデバッガ表示画面1300を表示する。デバッガ120は、デバッガ制御部121が全ての処理を終了した後にデータ遷移表示領域1601を表示してもよいし、表示情報生成部123が表示ポイントを生成する度に、データ遷移表示領域1601を更新して表示してもよい。所定の間隔毎にデータ遷移表示領域1701を更新してもよい。intervals.第1実施形態によれば、保守担当者がデバッグにおいてデータの遷移をアプリケーションプログラム110の実行順に確認することができるため、異常が発生したデータ及びそのデータを出力する命令を容易に特定することができる。したがって、効率的なデバッグが可能となる。Embodiment]第1実施形態では、デバッガ制御部121は、表示情報210が生成される度に画面を表示していた。アプリケーションプログラム110の動作テストでは複数のテストケースを実行し、結果を後で確認することが多い。そこで、第2実施形態では、テストケース毎の表示情報210を生成し、保守管理者の要求に応じて表示する点が異なる。manager.これによって、アプリケーションプログラム110の動作テストにおいて、異常なデータが発生した場合でも、テスト後にデバッガ表示画面1300を参照して確認することができることため、アプリケーションプログラム110の動作テスト及びデバッグの効率が向上する。.以下、第1実施形態との差異点を中心に説明する。embodiment.第2実施形態の計算機システムは、第1実施形態の計算機システムと同一であるため説明を省略する。計算機100のハードウェア構成も同一であるため説明を省略する。デバッグ情報140及び表示情報210も同一であるため説明を省略する。omitted.図18は、第2実施形態におけるデバッガ制御部121によって実行される処理を説明するフローチャートである。embodiment.第2実施形態では、一つのテストケース毎にデータ遷移情報150が生成されるため、デバッガ制御部121は、まず始めに、データ遷移情報150の出力先を決定する(ステップS1801)。保守担当者から出力先のファイル名を受け付ける方法が考えられる。ここでは、ファイル名がテストケースの識別子に対応する。case.ステップS1101~ステップS1106及びステップS1109は、同一の処理であるため説明を省略する。omitted.第2実施形態では、表示情報生成部123の処理が独立して実行されるため、ステップS1108が省略されている点が異なる。第2実施形態では、デバッガ120は、保守担当者からの実行指示を受けてからステップS1108に相当する処理を実行する。staff.図19は、第2実施形態におけるディスプレイ160に表示される画面の一例を示す説明図である。embodiment.デバッガ表示画面1300は、新たに、テストケース選択領域1910を含む。テストケース選択領域1810は、テストケースを選択するための情報を表示する。具体的には、テストケースの識別子が表示される。テストケースの識別子は、ステップS1701において決定された出力先の名称である。S1701.保守管理者がテストケース選択領域1910に表示された識別子を選択すると、表示処理の開始指示がデバッガ120に通知される。通知には選択されたテストケースの識別子が含まれる。case.デバッガ120は、開始指示を受け付けると、表示情報生成部123を起動させる。表示情報生成部123は、図16A及び図16Bと同様の処理を実行する。ステップS1601の前に、開始指示に含まれる識別情報に基づいて、読み出すデータ遷移情報150を決定するステップが追加される。S1601.第2実施形態によれば、テストケースにおいて発見されたバグに対して、再度デバッガ120を実行することなく、データの遷移を参照することができる。したがって、値の異常なデータと、そのデータ発生の原因となるロジックとを発見できるため、デバッグを効率的に行うことができる。embodiment]第1実施形態では、アプリケーションプログラム110に対するデバッグの結果が全て表示されるが、第3実施形態では、所定範囲の実行結果を参照できる点が異なる。to.一般的に、大きなプログラムを対象としたデバッグでは、デバッグの結果を全て表示すると原因を特定するために時間が掛かる。displayed.そこで、第3実施形態では、任意の時点又は任意のデータを起点に、関連性のある情報のみを表示することによって、保守管理者のデバッグ作業を向上させることができる。データ遷移の方向として、データが生成される方向、又は、データの成り立ちをたどる方向を指定することによって、より効率的なデバッグを実現することができる。realized.また、第3実施形態では、ループ処理が実行される度にレコードが生成されること抑制している点も第1実施形態と異なる。suppressed.以下、第1実施形態との差異点を中心に説明する。embodiment.第3実施形態の計算機システムは、第1実施形態の計算機システムと同一であるため説明を省略する。計算機100のハードウェア構成も同一であるため説明を省略する。omitted.図20は、第3実施形態におけるデータ値情報1220を示す説明図である。ソースコード情報1200及び命令情報1210は、第1実施形態と同一であるため説明を省略する。omitted.第3実施形態では、データ値情報の構成が異なる。最初のループ処理に関する情報は、行番号2001、データ名2002、データ値2003及びポインタ2004を含む。2004.ここでアドレス値2004は、他のループ処理におけるデータ値が格納された主記憶装置202上のアドレスを表す。stored.図21は、第3実施形態における表示情報210の一例を示す説明図である。embodiment.表示情報210は、新たにポインタ2101を含む。ポインタ2101は、ループ処理におけるデータ値が格納された主記憶装置202上のアドレスを格納する。これによって、ループ処理によるレコードの増大を抑制することができる。ポインタ2101は、ポインタ2004と同一のものである。2004.図22A、図22B及び図22Cは、第3実施形態における表示情報生成部123が実行する処理を説明するフローチャートである。embodiment.表示情報生成部123は、表示情報210を生成する起点及び表示方向を受け付けると処理を開始する(ステップS2201)。S2201).起点は、表示情報210の起点を示し、データ値又はログ情報701が指定される。表示方向は、データ遷移の方向を示し、データが生成される方向(フォア方向)、又は、データの成り立ちをたどる方向(バック方向)のいずれかが指定される。123は、指定されたデータに基づいてデータ遷移情報150を参照することによって、処理すべきログ情報701を特定することができる。data.表示情報生成部123は、処理対象のログ情報701に関連するログ情報701を検索する(ステップS2202)。ここで、指定された表示方向によって検索方法が異なる。以下処理対象のログ情報701に関連するログ情報701を関連ログ情報701とも記載する。123は、起点となるログ情報701から下位のログ情報701を検索する。具体的には、起点となるログ情報701に含まれる出力データの行番号と、下位のログ情報701に含まれる入力データの行番号とが一致するログ情報701が検索される。123は、起点となるログ情報701から上位のログ情報701を検索する。具体的には、起点となるログ情報1301に含まれる入力データの行番号と、上位のログ情報701に含まれる出力データの行番号とが一致するログ情報701が検索される。searched.表示情報生成部123は、前述の検索の結果、未処理のログ情報701があるか否かを判定する(ステップS2203)。S2203).具体的には、ステップS2002の検索の結果、関連ログ情報701がない場合、又は、関連ログ情報701はあるが全て処理済みである場合には、未処理のログ情報701がないと判定される。123は、処理を終了する。123は、データ遷移情報150から関連ログ情報701を一つ読み出し、関連ログ情報701に含まれる命令に対応するレコードが生成済みであるか否かを判定する(ステップS2204)。S2204).具体的には、表示情報生成部123は、関連ログ情報701に含まれる命令の行番号に基づいて表示情報210を参照し、同一の行番号802であるレコードが存在するか否かを判定する。.これは、繰り返し実行されるループ処理についてレコードが生成されると、表示情報210が大きくなり、また、画面に表示される情報が膨大になることを回避するためである。123は、ステップS2206に進む。123は、ログ情報701に含まれる命令を表示するための表示ポインタを生成する(ステップS2205)。.具体的には、表示情報生成部123は、デバッガ表示画面1300に命令を示すアイコンを表示するための表示ポイントを生成する。1300.さらに、表示情報生成部123は、表示情報210に新たなレコードを生成し、生成されたレコードの種別801、行番号802、命令語/データ名803及び位置805に情報を格納する。record.種別801には「C」が格納され、行番号802及び命令語/データ名803にはログ情報701の情報が格納される。表示情報生成部123は、図7で示すログ情報701から、行番号が「537」である命令から命令語「COMPUTE」を抽出し、行番号802及び命令語/データ名803のそれぞれに格納する。位置805には、生成された表示ポイントが格納される。805.表示情報生成部123は、関連ログ情報701に含まれる入力データ及び出力データについての処理が全て終了したか否かを判定する(ステップS2206)。123は、ステップS2202に戻り同様の処理を実行する。123は、関連ログ情報701からデータを抽出し、抽出されたデータが入力データであるかを判定する(ステップS2207)。ステップS2207の処理はステップS1504と同一の処理である。123は、表示方向がフォア方向か否かを判定する(ステップS2208)。S2208).表示方向がフォア方向でない場合(バック方向)、表示情報生成部123は、ステップS2211の処理に進み、表示方向がフォア方向である場合、ステップS2209の処理に進む。S2209.表示情報生成部123は、表示情報210から同一のデータを検索し(ステップS2209)、同一のデータが見つかったか否かを判定する(ステップS2210)。S2210).具体的には、表示情報生成部123は。抽出された入力データに対応する行番号と一致するレコードを表示情報210から検索する。検索方法としては、ステップS2205において生成されたレコードより上位のレコード、すなわち、バック方向にレコードを検索する。123は、ステップS2212に進む。123は、入力データを表示するための表示ポイントを生成する(ステップS2211)。S2211).具体的には、表示情報生成部123は、デバッガ表示画面1300に入力データを示すアイコンを表示するための表示ポイントを生成する。表示情報生成部123は、表示情報210に新たなレコードを生成し、生成されたレコードの種別801、行番号802、命令語/データ名803、データ値804及び位置805に情報を格納する。.種別801には「D」が格納され、行番号802、命令語/データ名803、データ値804にはログ情報701の情報が格納される。位置805には、生成された表示ポイントが格納される。stored.なお、ループ処理の場合処理が異なる。123は、ポインタ2004にアドレスが格納されているか否かを判定する。123は、データ値804及びポインタ2004を更新することなく次に処理に進む。123は、ポインタ2004に入力データが格納されるアドレスを格納する。2004.表示情報生成部123は、命令と入力データとを関連づけて(ステップS2212)、ステップS2206に戻り、同様の処理を実行する。processing.具体的には、表示情報生成部123は、表示情報210の入力データに対応するレコードの関連情報位置806に、命令に対応するレコードの位置805と同一の表示ポイントを格納する。123は、まず表示方向がフォア方向であるか否かを判定する(ステップS2213)。表示方向がフォア方向である場合、ステップS2216の処理に進み、表示方向がフォア方向でない場合(バック方向)、ステップS2214の処理に進む。S2214.表示情報生成部123は、表示情報210から同一のデータを検索し(ステップS2214)、同一のデータが見つかったか否かを判定する(ステップS2215)。S2215).具体的には、表示情報生成部123は。抽出された出力データに対応する行番号と一致するレコードを表示情報210から検索する。検索方法としては、ステップS2205において生成されたレコードより上位のレコード、すなわち、バック方向にレコードを検索する。123は、ステップS2217に進む。123は、出力データを表示するための表示ポイントを生成する(ステップS2216)。S2216).具体的には、表示情報生成部123は、表示ポイントを生成する。表示情報生成部123は、表示情報210に新たなレコードを生成し、生成されたレコードの種別801、行番号802、命令語/データ名803、データ値804及び位置805に情報を格納する。.種別801には「D」が格納され、行番号802、命令語/データ名803及びデータ値804にはログ情報701の情報が格納される。位置805には、生成された表示ポイントが格納される。stored.なお、ループ処理の場合処理が異なる。123は、ポインタ2004にアドレスが格納されているか否かを判定する。123は、データ値804及びポインタ2004を更新することなく次に処理に進む。123は、ポインタ2004に出力データが格納されるアドレスを格納する。2004.表示情報生成部123は、命令と出力データとを関連づけて(ステップS2217)、ステップS2206に戻り、同様の処理を実行する。processing.具体的には、表示情報生成部123は、表示情報210の出力データに対応するレコードの関連情報位置806に、命令に対応するレコードの位置805と同一の表示ポイントを格納する。210.表示処理は、第1実施形態と以下の点が異なる。points.ステップS1601~ステップS1606の処理は第1実施形態と同一である。embodiment.ステップ1607において、表示情報生成部123は、検索された出力データに対応するレコードに基づいて、命令情報1210及びデータ値情報1220を参照する。表示情報生成部123は、対応するデータ値のポインタ2004にアドレスが格納されているか否かを判定する。123は、データ値情報1220から関連する出力データを全て取得する。1220.表示情報生成部123は、命令に対応するアイコンと、出力データに対応するアイコンとを接続して表示する。表示情報生成部123は、出力データに対応するアイコンを強調表示する。出力データに対応するアイコンにループ毎の出力データのデータ値を全て表示するようにしてもよい。data.ステップ1608において、表示情報生成部123は、データに対応するレコードに基づいて、命令情報1210及びデータ値情報1220を参照する。表示情報生成部123は、対応するデータ値のポインタ2004にアドレスが格納されているか否かを判定する。123は、データ値情報1220から関連するデータを全て取得する。1220.表示情報生成部123は、命令に対応するアイコンと、入力データに対応するアイコンとを接続して表示する。表示情報生成部123は、入力データに対応するアイコンを強調表示する。入力データに対応するアイコンにループ毎の入力データのデータ値を全て表示するようにしてもよい。data.ステップ1609~ステップ1611は第1実施形態と同一である。embodiment.図23は、第3実施形態におけるディスプレイ160に表示される画面の一例を示す説明図である。2310、データ値選択領域2320、データ遷移情報表示領域2330を含む。2330.表示方向選択領域2310は、表示方向を選択するための情報を表示する、図23に示す例では、フォア方向又はバック方向のいずれかが選択できる。selected.データ値選択領域2320は、起点となるデータを選択するための情報を表示する。データ遷移情報表示領域2330は、データ遷移情報150を表示する。2310と、データ値選択領域2320又はデータ遷移情報表示領域2330とを操作すると、図22A~図22Cに示すような処理が実行される。executed.なお、データ遷移表示領域1710は、データを表すアイコンのうちループ処理に該当するアイコンが強調表示される。保守担当者等がそのアイコンを操作すると、ループ処理情報200からループ処理に関連するデータ値が表示されるように制御される。200.また、データ遷移情報表示領域2330のログ情報701を選択すると、ソース表示領域1310において、ソースコードの対応する行を示すポイントが表示される。1310.第3実施形態によれば、大規模なプログラムに対するデバッグを行う場合であっても、大量のデータ遷移の表示を回避し、参照したいデータ又は命令を起点としたデータ遷移図を表示することができる。.したがって、参照しなくてもよいデータを表示する必要がないためデバッグの効率が向上できる。表示方向を指定できることによって、起点からデータの利用(フォア)、データの生成経路(バック)を参照できる。したがって、保守担当者等のデバッグ意図に則したデータ遷移を表示でき、効率的なデバッグが可能となる。possible.以上、本発明の実施形態を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。前記計算機が、前記データ遷移情報に基づいて、前記関数と前記入力データとの遷移状態及び前記関数と前記出力データとの遷移状態を表示するための表示情報を生成する第3のステップと、を含むことを特徴とするデバッグ支援方法。前記ログ情報と前記生成された位置情報とに基づいて、前記表示情報を生成するステップと、を含むことを特徴とするデバッグ支援方法。前記第1のレコード情報の前記関連位置情報に、前記第3の位置情報を格納するステップと、を含むことを特徴とするデバッグ支援方法。前記表示情報の生成方向は、前記起点から前記プログラムの実行順に前記レコード情報を生成する順方向、又は、前記起点から前記プログラムの実行順とは逆にさかのぼって前記レコード情報を生成する逆方向のいずれかを選択可能であることを特徴とするデバッグ支援方法。前記順方向の前記表示情報の生成指示を受け付けた場合に、起点となる前記関数又は前記データに対応する前記ログ情報から下位に格納された前記ログ情報を読み出すことによって、前記表示情報を生成することを特徴とするデバッグ支援方法。前記逆方向の表示情報の生成指示を受け付けた場合に、起点となる前記関数又は前記データに対応する前記ログ情報から上位に格納された前記ログ情報を読み出すことによって、前記表示情報を生成することを特徴とするデバッグ支援方法。前記生成された入力データのレコード情報又は前記生成された出力データのレコード情報に、ループ毎の前記入力データの値又は前記出力データの値を格納するステップと、を含むことを特徴とする記載のデバッグ支援方法。関連する前記レコード情報が存在する場合には、前記読み出されたレコード情報に対応するアイコンと、前記関連するレコード情報に対応するアイコンとを接続して表示するステップと、を含むことを特徴とするデバッグ支援方法。前記データ遷移情報に基づいて、前記関数と前記入力データとの遷移状態及び前記関数と前記出力データとの遷移状態を表示するための表示情報を生成する表示情報生成部と、を備えることを特徴とする計算機。前記ログ情報と前記生成された位置情報とに基づいて、前記表示情報を生成することを特徴とする計算機。前記第1のレコード情報の前記関連位置情報に、前記第3の位置情報を格納することを特徴とする計算機。前記表示情報の生成方向は、前記起点から前記プログラムの実行順に前記レコード情報を生成する順方向、又は、前記起点から前記プログラムの実行順とは逆にさかのぼって前記レコード情報を生成する逆方向のいずれかを選択可能であることを特徴とする計算機。前記順方向の前記表示情報の生成指示を受け付けた場合に、起点となる前記関数又は前記データに対応する前記ログ情報から下位に格納された前記ログ情報を読み出すことによって、前記表示情報を生成することを特徴とする計算機。前記逆方向の表示情報の生成指示を受け付けた場合に、起点となる前記関数又は前記データに対応する前記ログ情報から上位に格納された前記ログ情報を読み出すことによって、前記表示情報を生成することを特徴とする計算機。前記生成された入力データのレコード情報又は前記生成された出力データのレコード情報に、ループ毎の前記入力データの値又は前記出力データの値を格納することを特徴とする計算機。関連する前記レコード情報が存在する場合には、前記読み出されたレコード情報に対応するアイコンと、前記関連するレコード情報に対応するアイコンとを接続して表示することを特徴とする計算機。前記データ遷移情報に基づいて、前記関数と前記入力データとの遷移状態及び前記関数と前記出力データとの遷移状態を表示するための表示情報を生成する第3の手順と、を前記プロセッサに実行させることを特徴とするデバッグ支援プログラム。前記ログ情報と前記生成された位置情報とに基づいて、前記表示情報を生成する手順と、を含むことを特徴とするデバッグ支援プログラム。前記第1のレコード情報の前記関連位置情報に、前記第3の位置情報を格納する手順と、を含むことを特徴とするデバッグ支援プログラム。関連する前記レコード情報が存在する場合には、前記読み出されたレコード情報に対応するアイコンと、前記関連するレコード情報に対応するアイコンとを接続して表示する手順と、を前記プロセッサに実行させることを特徴とするデバッグ支援プログラム。