(57)【特許請求の範囲】
【請求項１】
開発対象アプリケーションのソースコードを保持するソースコード保持部と、
前記開発対象アプリケーションの動作を追跡するために当該アプリケーションのソースコード中の任意の箇所に対するログ出力箇所の指定を受付けてマーカー情報を生成し、このマーカー情報に基づきログ出力箇所として指定された任意の箇所の処理を記録する任意設定ログの設定ファイルを生成する手段と、前記ソースコードを解析し、実行可能行における実行情報ログの出力情報を設定した実行情報ログの設定ファイルを生成する手段と、
前記任意設定ログの設定ファイル及び実行情報ログの設定ファイルの各情報に基づき、前記開発対象アプリケーションに対して、任意設定ログ及び実行情報ログの出力処理を埋め込み、実装済みアプリケーションを生成するログ出力処理埋め込み手段と、
前記実装済みアプリケーションを実行し、その実行に応じて出力された任意設定ログ及び実行情報ログ情報とを取得し、各ログ情報を統合したうえで出力日時順に並べ替えたトラッキングデータを生成する並べ替え手段と、
前記トラッキングデータに含まれる任意設定ログの一覧をログ表示画面に表示するログ表示手段と、
前記トラッキングデータを構成する任意設定ログに対応するソースコードを前記ソースコード保持部から取得してソースコード編集画面に表示すると共に、前記任意設定ログの一覧の中から任意に選択された任意設定ログに基づき、前記ソースコード編集画面に表示されたソースコード中の対応箇所を強調表示するとともに、前記ログ表示画面における任意のカーソル操作に応じて選択されたログデータが任意設定ログか実行情報ログかを判定し、選択されたログデータが任意設定ログならば前記ログ表示画面内の対応する任意設定ログを強調表示し、実行情報ログならば前記ソースコード編集画面内のソースコード中の対象行を強調表示するように強調表示箇所を変更するソースコードハイライト表示手段と
を備えることを特徴とするアプリケーション動作追跡支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムにより出力されるログ情報から、アプリケーションプログラムを構成するソースコード中のバグを発生させる箇所を表示するアプリケーション動作追跡支援装置に関する。
【背景技術】
【０００２】
アプリケーションプログラム開発では、バグを含まないことが要求されるが、現実には、バグを一切含まないアプリケーションプログラムの開発は非常に困難なものである。そのため、アプリケーションプログラムのバグが原因で障害が発生した場合に、早急に障害の原因を解析するための手段が重要となっている。
このような障害発生の原因を解析するための手法としては、一般に、アプリケーションプログラムにログを出力する処理を埋め込むことが行われている。
この場合、アプリケーション開発管理者等が、アプリケーションプログラムが出力するログを確認することで、障害の発生を検出することができる。また、ログには障害の直接の原因となった処理を行っている箇所の情報が記録されているため、アプリケーション管理者はログを確認し、ログとアプリケーションのソースコードを比較することで、ソースコード中から障害の原因である箇所を突き止めることが可能となる。
しかし、各作業は全てアプリケーション開発管理者の目視と推測によって行われるため、アプリケーションの規模、もしくは出力されるログの量が大きくなるにつれて、作業のコストは増大し、また人手による作業であるためミスが発生する可能性も高まることとなっていた。
この問題を解決するために、ログ分析ツールなどを使用し障害の原因を解析することが行われている。ここで、ログ分析ツールとは、アプリケーションが出力したログの一覧と、アプリケーションのソースコードとを表示するツールであり、障害の発生を示すログが選択された場合に、そのログ出力の対象となった処理を行っているソースコード中の該当箇所を強調表示（ハイライト表示）する手段を有している。
また、従来技術としては、保守用端末が実行端末から受け取ったメッセージのログと、保守用端末が実行端末に送信したメッセージのログとを表示するシステムにおいて、各ログに含まれる時間情報に基づき、双方のログを対応付けて表示する手段を備えた構成が公知となっている。
【特許文献１】特開２００１−１０１０３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、従来のログ分析ツールでは、障害の直接の原因となった処理に対応するソースコードの箇所を確認することは可能であるが、どのような経路をたどって障害発生に至ったかを確認することはできないため、適切な修正箇所の把握が困難なものとなっていた。即ち、現在の多くのアプリケーションでは、障害の原因となった処理を行っている箇所を修正するだけで障害が解決するようなケースは稀であり、その障害がどのような動作経路をたどって発生したのかを特定しないと完全に障害を解決できないという場合がほとんどである。従って、前記ログ分析ツールを用いた場合であっても、障害発生を示すログとそのログが出力される直前のログを見ることで大まかな動作経路を推測するという手法が採られており、正確な動作経路を把握することが困難となっていた。
また、前記特許文献１に記載の構成では、保守用端末において関連するログを確認することは可能であるが、障害発生に至るまでの経路を確認することはできなかった。
【０００４】
本発明は前記課題を解決するためのものであり、アプリケーションにより出力されたログに基づき、どのような動作経路によりアプリケーションに障害が発生したかの追跡を容易に行うことを可能とするアプリケーション動作追跡支援装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
前記課題を解決するため本発明は、開発対象アプリケーションのソースコードを保持するソースコード保持部と、予め設定された開発対象アプリケーションの任意の処理を示す任意設定ログと、開発対象アプリケーションにより実行された全ての処理を示す実行情報ログとを読み込むログ読込み手段と、前記ログ読込み手段の読み込んだ各ログを出力日時順に並べ替えたトラッキングデータを生成する並べ替え手段と、前記トラッキングデータに含まれる任意設定ログの一覧を表示するログ表示手段と、前記トラッキングデータを構成するログに対応するソースコードを前記ソースコード保持部から取得して表示するソースコード表示手段と、前記任意設定ログの一覧の中から任意に選択された任意設定ログに基づき、ソースコード中の対応箇所を強調表示するとともに、任意のカーソル操作に連動して、トラッキングデータ中における前記任意設定ログの前後のログに基づき、前記ソースコード中の強調表示個所を変更する強調表示手段とを備えることを特徴とする。
また、前記アプリケーション開発支援装置は、前記開発対象アプリケーションのソースコード中の任意の行に対して、前記任意設定ログの出力設定を受け付け、任意設定ログ設定ファイルを生成する手段と、前記ソースコードを解析して、前記実行情報ログの出力情報を設定した実行情報ログファイルを生成する手段と、前記任意設定ログ設定ファイル及び実行情報ログファイルの設定情報に基づき、前記開発対象アプリケーションに対して、ログ出力処理を埋め込むログ出力処理埋め込み手段とをさらに備えることを特徴とする。
【発明の効果】
【０００６】
以上の構成により、本発明のアプリケーション動作追跡支援装置では、カーソル操作に連動したハイライト表示の切り替えにより、任意設定ログ出力の前後の処理を示すソースコード中の箇所を容易に確認することが可能となる。従って、障害発生に至るまでのアプリケーションの動作経路をソースコードにより確認させることができ、修正の必要な箇所をより容易に発見させることが可能となる。
また、任意設定ログ設定ファイル生成手段及び実行情報ログファイル生成手段を備えることにより、本発明のアプリケーション動作追跡支援装置に対応したアプリケーションの作成が容易となる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の一実施の形態に係るアプリケーション動作追跡支援装置について、図面に基づき説明する。
図１は、本実施の形態に係るアプリケーション動作追跡支援装置を有するアプリケーション開発支援装置の概略構成を支援すブロック図である。
本実施の形態に係るアプリケーション開発支援装置１００は、アプリケーション開発環境１１０として、アプリケーション動作追跡支援装置を構成するソースコード編集処理部１１１，コンパイラ１１２，ログ設定ファイル生成処理部１１３，ログ出力処理埋め込み処理部１１４，ログ表示処理部１１５の各処理部と、ソースコード保持部１２０と、ファイル保持部１３０とを備える。アプリケーション開発支援装置１００を構成するコンピュータ１４０は、入力装置としてのマウス１４１及びキーボード１４２を備えている。
ソースコード編集処理部１１１は、開発担当者等によるアプリケーションを構成するソースコードの編集を受付け、編集結果をソースコード保持部１２０に格納する。また、アプリケーション動作追跡支援装置に関する機能として、任意に選択されたログに基づき、ソースコード中の対応箇所を強調表示する。
コンパイラ１１２は、ソースコード保持部１２０に格納されたソースコードをコンパイルして実行可能なアプリケーション１３１を生成し、ファイル保持部１３０に格納する。
ログ設定ファイル生成処理部１１３は、ソースコードに基づき後述するログ出力設定を行い、設定情報を任意設定ログ設定ファイル１３２及び実行情報ログ設定ファイル１３３として、ファイル保持部１３０に格納する。
ログ出力処理埋め込み処理部１１４は、アプリケーション１３１に対し、任意設定ログ設定ファイル１３２及び実行情報ログ設定ファイル１３３の設定情報に基づきログ出力処理を埋め込み、実装済みアプリケーション１５１を生成する。
ログ表示処理部１１５は、アプリケーション実行装置１５０において、実装済みアプリケーション１５１の実行に応じて出力された任意設定ログ１５２及び実行情報ログ１５３と、ソースコード保持部１２０に格納されたソースコードとを対応づけて表示する。ここで、任意設定ログ１５２及び実行情報ログ１５３は、実装済みアプリケーション１５１の動作を追跡するためのログである。任意設定ログ１５２は、予めログ出力箇所として指定されたソースコード中の任意の箇所の処理を記録するログを示す。実行情報ログ１５３とは、実装済みアプリケーション１５１が実行した全ての処理を記録するログを示す。
なお、本実施の形態では、java言語（「Ｊａｖａ」は、米国サンマイクロシステムズ社の登録商標である。）によるアプリケーション開発を前提として説明をする。
【０００８】
図２は、ログ設定処理に関連するソースコード編集処理部１１１及びログ設定ファイル生成処理部１１３の詳細構成を示すブロック図である。
ソースコード編集処理部１１１は、マーカー情報生成部２０１と、マーカー情報保持部２０２とを備える。ここで、マーカー情報２０３とは、任意設定ログの出力箇所及び任意設定ログ出力時に表示するログメッセージ等の情報を持つデータである。また、マーカー情報保持部２０２は、マーカー情報２０３を保持するためのメモリ上の領域である。
マーカー情報生成部２０１は、開発担当者等によるソースコード中の任意の箇所の設定及びログメッセージの設定を受付けてマーカー情報２０３を生成し、マーカー情報保持部２０２に保持する。
ログ設定ファイル生成処理部１１３は、任意設定ログ設定ファイル生成部２０５と、実行情報ログ設定ファイル生成部２０４とを備える。任意設定ログ設定ファイル生成部２０５は、マーカー情報保持部２０２に保持されたマーカー情報２０３を取得して任意設定ログ設定ファイル１３２を生成し、ファイル保持部１３０に保持する。実行情報ログ設定ファイル生成部２０４は、ソースコード格納部１２０から取得したソースコードを解析し、解析結果に基づき実行情報ログ設定ファイル１３３を生成して、ファイル保持部１３０に保持する。
【０００９】
図３は、ログ表示処理に関連するログ表示処理部１１５及びソースコード編集処理部１１１の詳細構成を示すブロック図である。
ログ表示処理部１１５は、任意設定ログ解析部３０１，実行情報ログ解析部３０２，データ並べ替え部３０３，ログ表示部３０４の各処理部と、トラッキングデータ保持部３０５とを備える。
任意設定ログ解析部３０１及び実行情報ログ解析部３０２は、アプリケーション実行装置１５０から出力された任意設定ログ１５２及び実行情報ログ１５３を取得して解析して、任意設定ログデータ及び実行情報ログデータを生成する。データ並べ替え部３０３は、任意設定ログデータと実行情報ログデータとを統合して、各ログデータの出力日時に基づいて並べ替えたトラッキングデータを生成して、トラッキングデータ保持部３０５に保持する。
ログ表示部３０４は、トラッキングデータ保持部３０５に保持されたトラッキングデータを取得し、トラッキングデータに含まれる任意設定ログデータを取得して、表示画面上に一覧表示する。
ソースコード編集処理部１１１は、ソースコードハイライト表示部３０６を備える。ソースコードハイライト表示部３０６は、一覧表示されたログに対応するソースコードをソースコード保持部１２０から取得し、任意に指定されたログに対応するソースコード中の箇所をハイライト表示するとともに、カーソル操作に連動して、トラッキングデータ中のログに対応した強調表示箇所の変更を行う。
【００１０】
図４は、アプリケーション開発環境１１０により表示される表示画面の一例を示す図である。
表示画面４００は、ソースコード編集画面４１０と、ログ表示画面４２０とで構成される。なお、本例は、ソースコード編集時の表示画面を示している。
本例に示すように、ソースコード編集画面４１０には、編集対象となるソースコード４１１が表示されており、ソースコード編集処理部１１１による処理がされる。
ログ表示画面４２０には、ログ表示処理部１１５の取得したトラッキングデータに含まれる任意設定ログが一覧表示される。
【００１１】
以上の構成に基づき、本実施の形態に係るアプリケーション開発支援装置１００の行う処理について説明する。
図５は、アプリケーション開発支援装置１００の行う処理として、ログ出力設定処理の概要を示すフローチャートである。
まず、本処理では、ソースコード編集処理部１１１が、開発担当者等によるソースコードの編集を受付け、ソースコード保持部１２０に格納する。コンパイラ１１２は、ソースコード保持部１２０に格納されたソースコードを取得してコンパイルし、アプリケーション１３１を生成してファイル保持部１３０に格納する（ステップ５０１）。
次に、任意設定ログの出力設定として、ソースコード編集処理部１１１は、設定対象として指定されたソースコードをソースコード保持部１２０から取得して任意設定ログ設定画面を表示し、開発担当者等による任意設定ログ設定に応じてマーカー情報２０３を生成する（ステップ５０２）。
ログ設定ファイル生成処理部１１３は、マーカー情報２０３とソースコードとに基づき、任意設定ログ設定ファイル１３２と実行情報ログ設定ファイル１３３とを生成し、ファイル保持部１３０に保持する（ステップ５０３）。
ログ出力処理埋め込み処理部は、ファイル保持部１３０に保持されたアプリケーション１３１に対して任意設定ログ設定ファイル１３２及び実行情報ログ設定ファイル１３３とに基づく処理を埋め込み（ステップ５０４）、実装済みアプリケーション１５１を生成し、ログ出力設定処理を終了する。
以上の処理によりログ出力処理が設定された実装済みアプリケーション１５１は、アプリケーション実行装置１５０で動作し、各処理に応じて任意設定ログ１５２と実行情報ログ１５３とを出力する。
【００１２】
以上の各処理の詳細について、具体例を用いて説明する。
図６は、ログ出力設定処理に対応して、アプリケーション開発支援装置１００が表示するソースコード編集画面４１０の一例を示す図である。
まず、図６（ａ）に示すように、ソースコード編集画面６００に表示されたソースコードについて、マウス操作やキーボード操作による任意の箇所（本実施の形態では、行単位）の指定に応じて、「ログ出力処理の設定」メニュー６０１を表示する。本例では、ソースコード中の３行目が指定された状態を示している。
次に、図６（ｂ）に示すように、「ログ出力処理の設定」メニュー６０１の選択に応じて、「ログ出力処理の設定」ダイアログ６０２を表示し、ログメッセージ入力欄にログメッセージを入力させる。本例では、ログメッセージ入力欄６０３に「チェック開始します」というログメッセージが入力された例を示している。
最後に、図６（ｃ）に示すように、ソースコード編集画面６００上に表示したソースコード中の該当行（本例では３行目）に、任意設定ログの出力設定がされたことを示すマーカー６０４を表示する。
本例に示す処理により、「MyClassA」クラスの３行目が実行されると、”チェック開始します”というログメッセージを含む任意設定ログを出力するための設定がされる。
【００１３】
図７は、ソースコード編集画面上に表示したマーカーに対応して、マーカー情報生成部２０１が生成するマーカー情報２０３の一例を示す図である。
本例に示すソースコード編集画面７００では、ソースコード中の３行目，６行目，９行目，１１行目，２０行目のそれぞれにマーカー７０１〜７０５が表示されている。
各マーカー７０１〜７０５に対応してマーカー情報保持部２０２に保持されているマーカー情報７１１〜７１５は、任意設定ログの出力処理設定の対象となるソースコードを示すファイル名７１６と、任意設定ログの出力処理が設定された行番号７１７と、出力される任意設定ログに含めるログメッセージ文字列７１８との各データをそれぞれ有する。
本例では、ファイル名７１６が「MyClassA.java」のソースコードについて、行番号７１７が「３」「６」「９」「１１」「２０」のそれぞれについてのマーカー情報が保持されている。
【００１４】
図８は、マーカー情報保持部２０２に保持された各マーカー情報２０３に対応して、ログ設定ファイル生成処理部１１３の任意設定ログ設定ファイル生成部２０５が生成する任意設定ログ設定ファイル１３２の一例を示す図である。
本例では、図７に示す各マーカー情報７１１〜７１５に基づき、任意設定ログ設定ファイル８００を生成している。
任意設定ログ設定ファイル８００は、空白文字区切りで、図７の各マーカー情報７１１〜７１５に含まれるファイル名７１６，行番号７１７，ログメッセージ文字列７１８を並べたデータ８０１〜８０３を記述している。任意設定ログ設定ファイル８００の各行は、各マーカー情報７１１〜７１５に対応している。
【００１５】
図９は、ソースコード保持部１２０に保持されたソースコードに対応して、ログ設定ファイル生成処理部１１３の実行情報ログ設定ファイル生成部２０４が生成する実行情報ログ設定ファイル１３３の一例を示す図である。
本例では、ソースコード保持部１２０に保持されたソースコード９００に基づき、実行情報ログ設定ファイル９１０を生成している。
実行情報ログ設定ファイル９１０は、実行情報ログの出力処理設定の対象となるソースコードを示すファイル名９１１と、実行情報ログの出力処理対象となる行番号９１２との各データを有する。
本例では、ファイル名９１１が「MyClassA.java」のソースコードについての実行可能行を示す行番号９１２として、「３」「４」「５」「６」「７」「８」「９」「１１」「２０」のそれぞれが設定されている。
【００１６】
以上の処理により生成された任意設定ログ設定ファイル１３２及び実行情報ログ設定ファイル１３３をログ出力処理埋め込み処理部１１４が読み込み、各ログの出力処理設定対象となるアプリケーションに各出力処理を埋め込むことで、アプリケーションの実行に応じて、任意設定ログ及び実行情報ログが出力される。
図１０は、アプリケーションにより出力された任意設定ログ及び実行情報ログの一例を示す図である。
任意設定ログ１０１０は、空白文字区切りで、任意設定ログ出力日時１０１１と、任意設定ログを出力したクラス名１０１２と、任意設定ログの出力処理が設定されているソースコード上の行番号１０１３と、ログメッセージ１０１４とを有する。
実行情報ログ１０２０は、空白文字区切りで、実行情報ログ出力日時１０２１と、実行したクラス名１０２２と、実行した処理のソースコード上の行番号１０２３とを有する。
【００１７】
次に、各ログに基づくアプリケーションの動作追跡処理について説明する。
図１１は、アプリケーション開発支援装置１００の行う処理として、実装済みアプリケーション１５１により出力された任意設定ログ１５２及び実行情報ログ１５３に基づくアプリケーション動作追跡処理の概要を示すフローチャートである。
まず、本処理では、ログ表示処理部１１５が、アプリケーション実行装置１５０における実装済みアプリケーション１５１の実行に応じて出力された任意設定ログ１５２及び実行情報ログ１５３を読み込み（ステップ１１０１）、後述するログ解析処理及びログデータ並べ替え処理を行った後、任意設定ログを一覧表示する（ステップ１１０２）。
一覧表示した任意設定ログに対する選択操作を受付け（ステップ１１０３）、ソースコード編集処理部１１１が、選択された任意設定ログに対応するソースコードをソースコード保持部１２０から取得してソースコード編集画面上に表示するとともに、選択された任意設定ログの出力処理を設定している行をハイライト表示する（ステップ１１０４）。
ソースコード編集画面上に表示したソースコードについて、後述する動作追跡表示処理を行う（ステップ１１０５）。
以上の処理により、ソースコード編集画面上に、任意設定ログとソースコードとを対応付けて表示する。
【００１８】
以上の各処理の詳細について、具体例を用いて説明する。
図１２は、ログ表示処理部１１５が行う任意設定ログ，実行情報ログ解析処理の流れを示す図である。
ログ表示処理部１１５の任意設定ログ解析部３０１は、任意設定ログ１５２を１行ずつ読み込み、読み込んだ文字列を、空白文字区切りで、任意設定ログを出力した日時、任意設定ログを出力したクラス名、出力した任意設定ログの出力処理が設定されているソースコード上の行番号、ログメッセージとして取得し、それらのデータから、任意設定ログデータ１２１０をメモリ上に生成する。
任意設定ログデータ１２１０は、任意設定ログ１５２に対応して、任意設定ログ出力日時１２１１、任意設定ログを出力したクラス名１２１２、出力した任意設定ログの出力処理が設定されているソースコード上の行番号１２１３、ログメッセージ１２１４の各データを有する。
任意設定ログデータ１２１０は、読み込んだ任意設定ログ１５２中のレコード数分、生成する。
実行情報ログ解析部３０２は、実行情報ログ１５３を１行ずつ読み込み、読み込んだ文字列を、空白区切りで、実行情報ログを出力した日時、実行したクラス名、実行した処理のソースコード上の行番号として取得し、取得したデータから、実行情報ログデータ１２２０をメモリ上に生成する。
実行情報ログデータ１２２０は、実行情報ログ出力日時１２２１、実行したクラス名１２２２、実行した処理のソースコード上の行番号１２２３の各データを有する。
実行情報ログデータ１２２０は、読み込んだ実行情報ログ中のレコード数分、生成する。
【００１９】
図１３は、ログ表示処理部１１５が行うログデータ並べ替え処理の流れを示す図である。
ログ表示処理部１１５のデータ並べ替え部３０３は、メモリ上の任意設定ログデータ１２１０及び実行情報ログデータ１２２０を読み込み、各ログデータの出力日時の順にデータを並べ替えてトラッキングデータ１３１０を生成する。ここで、トラッキングデータ１３１０とは、任意設定ログデータ１２１０と実行情報ログデータ１２２０とを時間情報の順に並べた配列データを示す。
各ログデータ１２１０，１２２０の並べ替えにおいて、データ並べ替え部３０３は、任意設定ログデータ１２１０と同じ出力日時，クラス名，行番号を持つ実行情報ログデータ１２２０をトラッキングデータ１３１０から削除する。
本例では、トラッキングデータ１３１０を構成する各ログデータ１３１１〜１３２０の中から、任意設定ログデータ１３１２，１３１７，１３２０のそれぞれと、出力日時，クラス名，行番号が同じ実行情報ログデータ１３１１，１３１６，１３１９を削除している。
なお、生成したトラッキングデータ１３１０は、トラッキングデータ保持部３０５に格納する。
【００２０】
図１４は、トラッキングデータに基づき、ログ表示処理部１１５が表示画面上のログ表示画面にログデータを表示した例を示す図である。
ログ表示処理部１１５は、トラッキングデータ１３１０を構成するログデータの内、任意設定ログデータのみをログ表示画面１４００に表示する。
【００２１】
図１５は、ソースコードハイライト表示処理の詳細を示すフローチャートである。
ソースコード編集処理部１１１のソースコードハイライト表示部３０６は、ログ表示画面に表示した任意設定ログに対するユーザの選択を受付け（ステップ１５０１）、選択された任意設定ログに対応するトラッキングデータ中の任意設定ログデータにデータポインタを設定する（ステップ１５０２）。
データポインタが現在指している任意設定ログデータからクラス名，行番号を取得し（ステップ１５０３）、取得したクラス名に対応するソースコードを、ソースコード保持部１２０から検索し、ソースコード編集画面に表示する（ステップ１５０４）。
ソースコード編集画面に表示したソースコードについて、任意設定ログデータから取得した行番号に示す行をハイライト表示する（ステップ１５０５）。
【００２２】
以上のハイライト表示処理について、具体例を用いて説明する。
図１６は、データポインタ設定処理を示す図である。
本例では、ログ表示画面１６１０に表示した任意設定ログの内、マウスカーソルにより選択された任意設定ログ１６１１に対応するトラッキングデータ１６２０中の任意設定ログデータ１６２１に対して、データポインタ１６３０を設定している。ここで、データポインタ１６３０とは、トラッキングデータ１６２０内の特定のログデータを指し示すカーソルである。
【００２３】
図１７は、ソースコード取得処理を示す図である。
ソースコードハイライト表示部３０６は、ログ表示画面１６１０上で任意に選択された任意設定ログ１６１１に対応する任意設定ログデータ１６２１からクラス名及び行番号を取得し、クラス名に基づきソースコード保持部１２０を検索して、クラス名に対応するソースコードを取得する。
ソースコードハイライト表示部３０６は、取得したソースコードについて、任意設定ログデータ１６２１に含まれる行番号に基づき後述するハイライト処理を行う。
【００２４】
図１８は、ソースコードハイライト処理の結果として表示する表示画面の一例を示す図である。
本例では、ログ表示画面１８１０において選択された任意設定ログ１８１１に対応して、ソースコード編集画面１８２０に表示したソースコード中の特定の行１８２１をハイライト表示している。
ハイライト表示の対象となる行１８２１は、選択された任意設定ログ１８１１に対応する任意設定ログデータに含まれる行番号に基づき決定する。
この場合、ソースコードハイライト表示部３０６は、常にデータポインタを監視している。データポインタが初めて設定されたり、データポインタが指し示すデータが変更すると、ソースコードハイライト表示部３０６は、データポインタが指し示すデータにあわせて、ソースコードハイライトの表示箇所を変更する。
ソースコードハイライト表示部３０６の機能により、ユーザは選択した任意設定ログと、その任意設定ログの出力処理が設定された箇所の対応関係を即座に確認することが可能となる。
【００２５】
図１９は、表示画面に表示された任意設定ログ情報及びソースコードに基づき行う動作追跡表示処理の詳細を示すフローチャートである。
まず、ソースコード編集処理部１１１のソースコードハイライト表示部３０６は、図１５に示すフローチャートに従って、任意設定ログの選択に応じてデータポインタを設定し、ハイライト表示処理を行う（ステップ１９０１）。
この状態において、ログ表示画面上でのユーザによるカーソル操作を受付け（ステップ１９０２）、カーソル操作に連動したハイライト表示箇所の変更処理を行う。
ハイライト表示箇所の変更処理では、まず、カーソル操作が上方向か下方向かを判定する（ステップ１９０３）。
上方向へのカーソル操作の場合、トラッキングデータに設定したデータポインタを１つ前の要素に戻す（ステップ１９０４）。
一方、下方向へのカーソル操作の場合、トラッキングデータに設定したデータポインタを１つ進める（ステップ１９０５）。
データポインタの移動に従い、移動後のデータポインタが指し示すログデータに対応するソースコードの対象行をハイライト表示する（ステップ１９０６）。
データポインタが指し示すログデータが任意設定ログデータか実行情報ログデータかを判定する（ステップ１９０７）。
任意設定ログデータの場合、データポインタが指し示す任意設定ログデータに対応するログ表示画面上の任意設定ログを選択状態として、フォーカスを設定する（ステップ１９０８）。
一方、実行情報ログデータの場合には、ソースコード編集画面上でハイライト表示した対象行にフォーカスを設定する（ステップ１９０９）。
以上の処理を終了操作がされるまで繰り返し行う（ステップ１９１０）。
【００２６】
以上の処理について、具体例を用いて説明する。
図２０〜２４は、アプリケーション動作追跡処理における表示画面とトラッキングデータ上のデータポインタとの関係を示す図である。
図２０は、表示画面中のログ表示画面において任意の任意設定ログが選択された状態を示す図である。
ログ表示画面２０１０における任意設定ログ２０１１の選択に対し、ソースコード編集処理部１１１のソースコードハイライト表示部３０６は、トラッキングデータ２０２０にデータポインタ２０２１を設定するとともに、任意設定ログデータ２０２２に含まれるクラス名「ＭｙＣｌａｓｓ」，行番号「３」を取得して、ソースコード編集画面２０３０において、クラス名に対応するソースコードの対象行２０３１（３行目）をハイライト表示する。
【００２７】
図２１は、下方向へのカーソル操作がされた状態を示す図である。
下方向へのカーソル操作に応じて、ソースコードハイライト表示部３０６は、データポインタ２０２１を次の要素に進めるとともに、データポインタ２０２１の指し示すログデータ２１０１の行番号「４」に基づき、ソースコード編集画面２１１０上の対象行２１１１（４行目）をハイライト表示する。
この場合、データポインタ２０２１が指し示すログデータ２１０１が実行情報ログデータであるため、ソースコード編集画面２１１０上の対象行２１１１にフォーカスを設定する。
【００２８】
図２２は、図２１に示す状態から、さらに下方向へのカーソル操作がされた状態を示す図である。
ソースコードハイライト表示部３０６は、データポインタ２０２１をさらに次の要素に進めるとともに、データポインタ２０２１の指し示すログデータ２２０１の行番号「７」に基づき、ソースコード編集画面２２１０上の対象行２２１１（７行目）をハイライト表示する。
この場合も、データポインタ２０２１が指し示すログデータ２２０１が実行情報ログデータであるため、ソースコード編集画面２２１０上の対象行２２１１にフォーカスを設定する。
【００２９】
図２３は、図２２に示す状態から、さらに下方向へのカーソル操作がされた状態を示す図である。
ソースコードハイライト表示部３０６は、データポインタ２０２１をさらに次の要素に進めるとともに、データポインタ２０２１の指し示すログデータ２３０１の行番号「８」に基づき、ソースコード編集画面２３１０上の対象行２３１１（８行目）をハイライト表示する。
この場合も、データポインタ２０２１が指し示すログデータ２３０１が実行情報ログデータであるため、ソースコード編集画面２３１０上の対象行２３１１にフォーカスを設定する。
【００３０】
図２４は、図２３に示す状態から、さらに下方向へのカーソル操作がされた状態を示す図である。
ソースコードハイライト表示部３０６は、データポインタ２０２１をさらに次の要素に進めるとともに、データポインタ２０２１の指し示すログデータ２４０１の行番号「９」に基づき、ソースコード編集画面２４１０上の対象行２４１１（９行目）をハイライト表示する。
この場合には、データポインタ２０２１が指し示すログデータ２４０１が任意設定ログデータであるため、任意設定ログ表示画面２４２０上においてデータポインタ２０２１が指し示す任意設定ログデータ２４０１に対応する任意設定ログ２４２１を選択状態として、フォーカスを設定する。
【００３１】
一方、各図に示す状態において、上方向へのカーソル操作がされた場合には、データポインタを一つ前の要素に戻して、データポインタの指し示すログデータに応じたハイライト表示及びフォーカス設定を行う。
【００３２】
以上の処理により、ある任意設定ログの出力から次の任意設定ログの出力までの動作経路を、ソースコードにより確認させることが可能となる。
なお、ソースコード編集処理部１１１又はログ表示処理部１１５において、ログ又はソースコードの確認履歴を記録することとしてもよい。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施の形態に係るアプリケーション開発支援装置の概略構成を示すブロック図である。
【図２】ログ設定処理に関連するソースコード編集処理部及びログ設定ファイル生成処理部の詳細構成を示すブロック図である。
【図３】ログ表示処理に関連するログ表示部処理及びソースコード編集処理部の詳細構成を示すブロック図である。
【図４】アプリケーション開発支援装置が表示する表示画面の一例を示す図である。
【図５】ログ出力設定処理の概要を示すフローチャートである。
【図６】アプリケーション開発支援装置が表示するソースコード編集画面の一例を示す図である。
【図７】マーカー情報生成部が生成するマーカー情報の一例を示す図である。
【図８】任意設定ログ設定ファイル生成部が生成する任意設定ログ設定ファイルの一例を示す図である。
【図９】実行情報ログ設定ファイル生成部が生成する実行情報ログ設定ファイルの一例を示す図である。
【図１０】アプリケーションにより出力された任意設定ログ及び実行情報ログの一例を示す図である。
【図１１】アプリケーション動作追跡処理の概要を示すフローチャートである。
【図１２】ログ解析処理の流れを示す図である。
【図１３】ログデータ並べ替え処理の流れを示す図である。
【図１４】ログ表示画面の一例を示す図である。
【図１５】ソースコードハイライト処理の詳細を示すフローチャートである。
【図１６】データポインタ設定処理を示す図である。
【図１７】ソースコード取得処理を示す図である。
【図１８】ソースコードハイライト処理の処理結果を示す表示画面の一例を示す図である。
【図１９】アプリケーション動作追跡処理の詳細を示すフローチャートである。
【図２０】アプリケーション動作追跡処理における表示画面とトラッキングデータ上のデータポインタとの関係を示す図である。
【図２１】アプリケーション動作追跡処理における表示画面とトラッキングデータ上のデータポインタとの関係を示す図である。
【図２２】アプリケーション動作追跡処理における表示画面とトラッキングデータ上のデータポインタとの関係を示す図である。
【図２３】アプリケーション動作追跡処理における表示画面とトラッキングデータ上のデータポインタとの関係を示す図である。
【図２４】アプリケーション動作追跡処理における表示画面とトラッキングデータ上のデータポインタとの関係を示す図である。
【符号の説明】
【００３４】
１００  アプリケーション開発支援装置、１１０  アプリケーション開発環境、１１１  ソースコード編集処理部、１１２  コンパイラ、１１３  ログ設定ファイル生成処理部、１１４  ログ出力処理埋め込み処理部、１１５  ログ表示処理部、１２０  ソースコード保持部、１３０  ファイル保持部、１４０  コンピュータ、１４１マウス、１４２  キーボード、１５０  アプリケーション実行装置、１５１  実装済みアプリケーション。
【図１】
0004641238.tif 000002
【図２】
0004641238.tif 000003
【図３】
0004641238.tif 000004
【図４】
0004641238.tif 000005
【図５】
0004641238.tif 000006
【図６】
0004641238.tif 000007
【図７】
0004641238.tif 000008
【図８】
0004641238.tif 000009
【図９】
0004641238.tif 000010
【図１０】
0004641238.tif 000011
【図１１】
0004641238.tif 000012
【図１２】
0004641238.tif 000013
【図１３】
0004641238.tif 000014
【図１４】
0004641238.tif 000015
【図１５】
0004641238.tif 000016
【図１６】
0004641238.tif 000017
【図１７】
0004641238.tif 000018
【図１８】
0004641238.tif 000019
【図１９】
0004641238.tif 000020
【図２０】
0004641238.tif 000021
【図２１】
0004641238.tif 000022
【図２２】
0004641238.tif 000023
【図２３】
0004641238.tif 000024
【図２４】
0004641238.tif 000025