JP4641238B2 - アプリケーション動作追跡支援装置 - Google Patents

アプリケーション動作追跡支援装置 Download PDF

Info

Publication number
JP4641238B2
JP4641238B2 JP2005282571A JP2005282571A JP4641238B2 JP 4641238 B2 JP4641238 B2 JP 4641238B2 JP 2005282571 A JP2005282571 A JP 2005282571A JP 2005282571 A JP2005282571 A JP 2005282571A JP 4641238 B2 JP4641238 B2 JP 4641238B2
Authority
JP
Japan
Prior art keywords
log
source code
setting
data
output
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.)
Expired - Fee Related
Application number
JP2005282571A
Other languages
English (en)
Other versions
JP2007094707A (ja
Inventor
健太郎 松前
義一 蓬田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2005282571A priority Critical patent/JP4641238B2/ja
Publication of JP2007094707A publication Critical patent/JP2007094707A/ja
Application granted granted Critical
Publication of JP4641238B2 publication Critical patent/JP4641238B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、アプリケーションプログラムにより出力されるログ情報から、アプリケーションプログラムを構成するソースコード中のバグを発生させる箇所を表示するアプリケーション動作追跡支援装置に関する。
アプリケーションプログラム開発では、バグを含まないことが要求されるが、現実には、バグを一切含まないアプリケーションプログラムの開発は非常に困難なものである。そのため、アプリケーションプログラムのバグが原因で障害が発生した場合に、早急に障害の原因を解析するための手段が重要となっている。
このような障害発生の原因を解析するための手法としては、一般に、アプリケーションプログラムにログを出力する処理を埋め込むことが行われている。
この場合、アプリケーション開発管理者等が、アプリケーションプログラムが出力するログを確認することで、障害の発生を検出することができる。また、ログには障害の直接の原因となった処理を行っている箇所の情報が記録されているため、アプリケーション管理者はログを確認し、ログとアプリケーションのソースコードを比較することで、ソースコード中から障害の原因である箇所を突き止めることが可能となる。
しかし、各作業は全てアプリケーション開発管理者の目視と推測によって行われるため、アプリケーションの規模、もしくは出力されるログの量が大きくなるにつれて、作業のコストは増大し、また人手による作業であるためミスが発生する可能性も高まることとなっていた。
この問題を解決するために、ログ分析ツールなどを使用し障害の原因を解析することが行われている。ここで、ログ分析ツールとは、アプリケーションが出力したログの一覧と、アプリケーションのソースコードとを表示するツールであり、障害の発生を示すログが選択された場合に、そのログ出力の対象となった処理を行っているソースコード中の該当箇所を強調表示(ハイライト表示)する手段を有している。
また、従来技術としては、保守用端末が実行端末から受け取ったメッセージのログと、保守用端末が実行端末に送信したメッセージのログとを表示するシステムにおいて、各ログに含まれる時間情報に基づき、双方のログを対応付けて表示する手段を備えた構成が公知となっている。
特開2001−101035号公報
しかし、従来のログ分析ツールでは、障害の直接の原因となった処理に対応するソースコードの箇所を確認することは可能であるが、どのような経路をたどって障害発生に至ったかを確認することはできないため、適切な修正箇所の把握が困難なものとなっていた。即ち、現在の多くのアプリケーションでは、障害の原因となった処理を行っている箇所を修正するだけで障害が解決するようなケースは稀であり、その障害がどのような動作経路をたどって発生したのかを特定しないと完全に障害を解決できないという場合がほとんどである。従って、前記ログ分析ツールを用いた場合であっても、障害発生を示すログとそのログが出力される直前のログを見ることで大まかな動作経路を推測するという手法が採られており、正確な動作経路を把握することが困難となっていた。
また、前記特許文献1に記載の構成では、保守用端末において関連するログを確認することは可能であるが、障害発生に至るまでの経路を確認することはできなかった。
本発明は前記課題を解決するためのものであり、アプリケーションにより出力されたログに基づき、どのような動作経路によりアプリケーションに障害が発生したかの追跡を容易に行うことを可能とするアプリケーション動作追跡支援装置を提供することを目的とする。
前記課題を解決するため本発明は、開発対象アプリケーションのソースコードを保持するソースコード保持部と、予め設定された開発対象アプリケーションの任意の処理を示す任意設定ログと、開発対象アプリケーションにより実行された全ての処理を示す実行情報ログとを読み込むログ読込み手段と、前記ログ読込み手段の読み込んだ各ログを出力日時順に並べ替えたトラッキングデータを生成する並べ替え手段と、前記トラッキングデータに含まれる任意設定ログの一覧を表示するログ表示手段と、前記トラッキングデータを構成するログに対応するソースコードを前記ソースコード保持部から取得して表示するソースコード表示手段と、前記任意設定ログの一覧の中から任意に選択された任意設定ログに基づき、ソースコード中の対応箇所を強調表示するとともに、任意のカーソル操作に連動して、トラッキングデータ中における前記任意設定ログの前後のログに基づき、前記ソースコード中の強調表示個所を変更する強調表示手段とを備えることを特徴とする。
また、前記アプリケーション開発支援装置は、前記開発対象アプリケーションのソースコード中の任意の行に対して、前記任意設定ログの出力設定を受け付け、任意設定ログ設定ファイルを生成する手段と、前記ソースコードを解析して、前記実行情報ログの出力情報を設定した実行情報ログファイルを生成する手段と、前記任意設定ログ設定ファイル及び実行情報ログファイルの設定情報に基づき、前記開発対象アプリケーションに対して、ログ出力処理を埋め込むログ出力処理埋め込み手段とをさらに備えることを特徴とする。
以上の構成により、本発明のアプリケーション動作追跡支援装置では、カーソル操作に連動したハイライト表示の切り替えにより、任意設定ログ出力の前後の処理を示すソースコード中の箇所を容易に確認することが可能となる。従って、障害発生に至るまでのアプリケーションの動作経路をソースコードにより確認させることができ、修正の必要な箇所をより容易に発見させることが可能となる。
また、任意設定ログ設定ファイル生成手段及び実行情報ログファイル生成手段を備えることにより、本発明のアプリケーション動作追跡支援装置に対応したアプリケーションの作成が容易となる。
以下、本発明の一実施の形態に係るアプリケーション動作追跡支援装置について、図面に基づき説明する。
図1は、本実施の形態に係るアプリケーション動作追跡支援装置を有するアプリケーション開発支援装置の概略構成を支援すブロック図である。
本実施の形態に係るアプリケーション開発支援装置100は、アプリケーション開発環境110として、アプリケーション動作追跡支援装置を構成するソースコード編集処理部111,コンパイラ112,ログ設定ファイル生成処理部113,ログ出力処理埋め込み処理部114,ログ表示処理部115の各処理部と、ソースコード保持部120と、ファイル保持部130とを備える。アプリケーション開発支援装置100を構成するコンピュータ140は、入力装置としてのマウス141及びキーボード142を備えている。
ソースコード編集処理部111は、開発担当者等によるアプリケーションを構成するソースコードの編集を受付け、編集結果をソースコード保持部120に格納する。また、アプリケーション動作追跡支援装置に関する機能として、任意に選択されたログに基づき、ソースコード中の対応箇所を強調表示する。
コンパイラ112は、ソースコード保持部120に格納されたソースコードをコンパイルして実行可能なアプリケーション131を生成し、ファイル保持部130に格納する。
ログ設定ファイル生成処理部113は、ソースコードに基づき後述するログ出力設定を行い、設定情報を任意設定ログ設定ファイル132及び実行情報ログ設定ファイル133として、ファイル保持部130に格納する。
ログ出力処理埋め込み処理部114は、アプリケーション131に対し、任意設定ログ設定ファイル132及び実行情報ログ設定ファイル133の設定情報に基づきログ出力処理を埋め込み、実装済みアプリケーション151を生成する。
ログ表示処理部115は、アプリケーション実行装置150において、実装済みアプリケーション151の実行に応じて出力された任意設定ログ152及び実行情報ログ153と、ソースコード保持部120に格納されたソースコードとを対応づけて表示する。ここで、任意設定ログ152及び実行情報ログ153は、実装済みアプリケーション151の動作を追跡するためのログである。任意設定ログ152は、予めログ出力箇所として指定されたソースコード中の任意の箇所の処理を記録するログを示す。実行情報ログ153とは、実装済みアプリケーション151が実行した全ての処理を記録するログを示す。
なお、本実施の形態では、java言語(「Java」は、米国サンマイクロシステムズ社の登録商標である。)によるアプリケーション開発を前提として説明をする。
図2は、ログ設定処理に関連するソースコード編集処理部111及びログ設定ファイル生成処理部113の詳細構成を示すブロック図である。
ソースコード編集処理部111は、マーカー情報生成部201と、マーカー情報保持部202とを備える。ここで、マーカー情報203とは、任意設定ログの出力箇所及び任意設定ログ出力時に表示するログメッセージ等の情報を持つデータである。また、マーカー情報保持部202は、マーカー情報203を保持するためのメモリ上の領域である。
マーカー情報生成部201は、開発担当者等によるソースコード中の任意の箇所の設定及びログメッセージの設定を受付けてマーカー情報203を生成し、マーカー情報保持部202に保持する。
ログ設定ファイル生成処理部113は、任意設定ログ設定ファイル生成部205と、実行情報ログ設定ファイル生成部204とを備える。任意設定ログ設定ファイル生成部205は、マーカー情報保持部202に保持されたマーカー情報203を取得して任意設定ログ設定ファイル132を生成し、ファイル保持部130に保持する。実行情報ログ設定ファイル生成部204は、ソースコード格納部120から取得したソースコードを解析し、解析結果に基づき実行情報ログ設定ファイル133を生成して、ファイル保持部130に保持する。
図3は、ログ表示処理に関連するログ表示処理部115及びソースコード編集処理部111の詳細構成を示すブロック図である。
ログ表示処理部115は、任意設定ログ解析部301,実行情報ログ解析部302,データ並べ替え部303,ログ表示部304の各処理部と、トラッキングデータ保持部305とを備える。
任意設定ログ解析部301及び実行情報ログ解析部302は、アプリケーション実行装置150から出力された任意設定ログ152及び実行情報ログ153を取得して解析して、任意設定ログデータ及び実行情報ログデータを生成する。データ並べ替え部303は、任意設定ログデータと実行情報ログデータとを統合して、各ログデータの出力日時に基づいて並べ替えたトラッキングデータを生成して、トラッキングデータ保持部305に保持する。
ログ表示部304は、トラッキングデータ保持部305に保持されたトラッキングデータを取得し、トラッキングデータに含まれる任意設定ログデータを取得して、表示画面上に一覧表示する。
ソースコード編集処理部111は、ソースコードハイライト表示部306を備える。ソースコードハイライト表示部306は、一覧表示されたログに対応するソースコードをソースコード保持部120から取得し、任意に指定されたログに対応するソースコード中の箇所をハイライト表示するとともに、カーソル操作に連動して、トラッキングデータ中のログに対応した強調表示箇所の変更を行う。
図4は、アプリケーション開発環境110により表示される表示画面の一例を示す図である。
表示画面400は、ソースコード編集画面410と、ログ表示画面420とで構成される。なお、本例は、ソースコード編集時の表示画面を示している。
本例に示すように、ソースコード編集画面410には、編集対象となるソースコード411が表示されており、ソースコード編集処理部111による処理がされる。
ログ表示画面420には、ログ表示処理部115の取得したトラッキングデータに含まれる任意設定ログが一覧表示される。
以上の構成に基づき、本実施の形態に係るアプリケーション開発支援装置100の行う処理について説明する。
図5は、アプリケーション開発支援装置100の行う処理として、ログ出力設定処理の概要を示すフローチャートである。
まず、本処理では、ソースコード編集処理部111が、開発担当者等によるソースコードの編集を受付け、ソースコード保持部120に格納する。コンパイラ112は、ソースコード保持部120に格納されたソースコードを取得してコンパイルし、アプリケーション131を生成してファイル保持部130に格納する(ステップ501)。
次に、任意設定ログの出力設定として、ソースコード編集処理部111は、設定対象として指定されたソースコードをソースコード保持部120から取得して任意設定ログ設定画面を表示し、開発担当者等による任意設定ログ設定に応じてマーカー情報203を生成する(ステップ502)。
ログ設定ファイル生成処理部113は、マーカー情報203とソースコードとに基づき、任意設定ログ設定ファイル132と実行情報ログ設定ファイル133とを生成し、ファイル保持部130に保持する(ステップ503)。
ログ出力処理埋め込み処理部は、ファイル保持部130に保持されたアプリケーション131に対して任意設定ログ設定ファイル132及び実行情報ログ設定ファイル133とに基づく処理を埋め込み(ステップ504)、実装済みアプリケーション151を生成し、ログ出力設定処理を終了する。
以上の処理によりログ出力処理が設定された実装済みアプリケーション151は、アプリケーション実行装置150で動作し、各処理に応じて任意設定ログ152と実行情報ログ153とを出力する。
以上の各処理の詳細について、具体例を用いて説明する。
図6は、ログ出力設定処理に対応して、アプリケーション開発支援装置100が表示するソースコード編集画面410の一例を示す図である。
まず、図6(a)に示すように、ソースコード編集画面600に表示されたソースコードについて、マウス操作やキーボード操作による任意の箇所(本実施の形態では、行単位)の指定に応じて、「ログ出力処理の設定」メニュー601を表示する。本例では、ソースコード中の3行目が指定された状態を示している。
次に、図6(b)に示すように、「ログ出力処理の設定」メニュー601の選択に応じて、「ログ出力処理の設定」ダイアログ602を表示し、ログメッセージ入力欄にログメッセージを入力させる。本例では、ログメッセージ入力欄603に「チェック開始します」というログメッセージが入力された例を示している。
最後に、図6(c)に示すように、ソースコード編集画面600上に表示したソースコード中の該当行(本例では3行目)に、任意設定ログの出力設定がされたことを示すマーカー604を表示する。
本例に示す処理により、「MyClassA」クラスの3行目が実行されると、”チェック開始します”というログメッセージを含む任意設定ログを出力するための設定がされる。
図7は、ソースコード編集画面上に表示したマーカーに対応して、マーカー情報生成部201が生成するマーカー情報203の一例を示す図である。
本例に示すソースコード編集画面700では、ソースコード中の3行目,6行目,9行目,11行目,20行目のそれぞれにマーカー701〜705が表示されている。
各マーカー701〜705に対応してマーカー情報保持部202に保持されているマーカー情報711〜715は、任意設定ログの出力処理設定の対象となるソースコードを示すファイル名716と、任意設定ログの出力処理が設定された行番号717と、出力される任意設定ログに含めるログメッセージ文字列718との各データをそれぞれ有する。
本例では、ファイル名716が「MyClassA.java」のソースコードについて、行番号717が「3」「6」「9」「11」「20」のそれぞれについてのマーカー情報が保持されている。
図8は、マーカー情報保持部202に保持された各マーカー情報203に対応して、ログ設定ファイル生成処理部113の任意設定ログ設定ファイル生成部205が生成する任意設定ログ設定ファイル132の一例を示す図である。
本例では、図7に示す各マーカー情報711〜715に基づき、任意設定ログ設定ファイル800を生成している。
任意設定ログ設定ファイル800は、空白文字区切りで、図7の各マーカー情報711〜715に含まれるファイル名716,行番号717,ログメッセージ文字列718を並べたデータ801〜803を記述している。任意設定ログ設定ファイル800の各行は、各マーカー情報711〜715に対応している。
図9は、ソースコード保持部120に保持されたソースコードに対応して、ログ設定ファイル生成処理部113の実行情報ログ設定ファイル生成部204が生成する実行情報ログ設定ファイル133の一例を示す図である。
本例では、ソースコード保持部120に保持されたソースコード900に基づき、実行情報ログ設定ファイル910を生成している。
実行情報ログ設定ファイル910は、実行情報ログの出力処理設定の対象となるソースコードを示すファイル名911と、実行情報ログの出力処理対象となる行番号912との各データを有する。
本例では、ファイル名911が「MyClassA.java」のソースコードについての実行可能行を示す行番号912として、「3」「4」「5」「6」「7」「8」「9」「11」「20」のそれぞれが設定されている。
以上の処理により生成された任意設定ログ設定ファイル132及び実行情報ログ設定ファイル133をログ出力処理埋め込み処理部114が読み込み、各ログの出力処理設定対象となるアプリケーションに各出力処理を埋め込むことで、アプリケーションの実行に応じて、任意設定ログ及び実行情報ログが出力される。
図10は、アプリケーションにより出力された任意設定ログ及び実行情報ログの一例を示す図である。
任意設定ログ1010は、空白文字区切りで、任意設定ログ出力日時1011と、任意設定ログを出力したクラス名1012と、任意設定ログの出力処理が設定されているソースコード上の行番号1013と、ログメッセージ1014とを有する。
実行情報ログ1020は、空白文字区切りで、実行情報ログ出力日時1021と、実行したクラス名1022と、実行した処理のソースコード上の行番号1023とを有する。
次に、各ログに基づくアプリケーションの動作追跡処理について説明する。
図11は、アプリケーション開発支援装置100の行う処理として、実装済みアプリケーション151により出力された任意設定ログ152及び実行情報ログ153に基づくアプリケーション動作追跡処理の概要を示すフローチャートである。
まず、本処理では、ログ表示処理部115が、アプリケーション実行装置150における実装済みアプリケーション151の実行に応じて出力された任意設定ログ152及び実行情報ログ153を読み込み(ステップ1101)、後述するログ解析処理及びログデータ並べ替え処理を行った後、任意設定ログを一覧表示する(ステップ1102)。
一覧表示した任意設定ログに対する選択操作を受付け(ステップ1103)、ソースコード編集処理部111が、選択された任意設定ログに対応するソースコードをソースコード保持部120から取得してソースコード編集画面上に表示するとともに、選択された任意設定ログの出力処理を設定している行をハイライト表示する(ステップ1104)。
ソースコード編集画面上に表示したソースコードについて、後述する動作追跡表示処理を行う(ステップ1105)。
以上の処理により、ソースコード編集画面上に、任意設定ログとソースコードとを対応付けて表示する。
以上の各処理の詳細について、具体例を用いて説明する。
図12は、ログ表示処理部115が行う任意設定ログ,実行情報ログ解析処理の流れを示す図である。
ログ表示処理部115の任意設定ログ解析部301は、任意設定ログ152を1行ずつ読み込み、読み込んだ文字列を、空白文字区切りで、任意設定ログを出力した日時、任意設定ログを出力したクラス名、出力した任意設定ログの出力処理が設定されているソースコード上の行番号、ログメッセージとして取得し、それらのデータから、任意設定ログデータ1210をメモリ上に生成する。
任意設定ログデータ1210は、任意設定ログ152に対応して、任意設定ログ出力日時1211、任意設定ログを出力したクラス名1212、出力した任意設定ログの出力処理が設定されているソースコード上の行番号1213、ログメッセージ1214の各データを有する。
任意設定ログデータ1210は、読み込んだ任意設定ログ152中のレコード数分、生成する。
実行情報ログ解析部302は、実行情報ログ153を1行ずつ読み込み、読み込んだ文字列を、空白区切りで、実行情報ログを出力した日時、実行したクラス名、実行した処理のソースコード上の行番号として取得し、取得したデータから、実行情報ログデータ1220をメモリ上に生成する。
実行情報ログデータ1220は、実行情報ログ出力日時1221、実行したクラス名1222、実行した処理のソースコード上の行番号1223の各データを有する。
実行情報ログデータ1220は、読み込んだ実行情報ログ中のレコード数分、生成する。
図13は、ログ表示処理部115が行うログデータ並べ替え処理の流れを示す図である。
ログ表示処理部115のデータ並べ替え部303は、メモリ上の任意設定ログデータ1210及び実行情報ログデータ1220を読み込み、各ログデータの出力日時の順にデータを並べ替えてトラッキングデータ1310を生成する。ここで、トラッキングデータ1310とは、任意設定ログデータ1210と実行情報ログデータ1220とを時間情報の順に並べた配列データを示す。
各ログデータ1210,1220の並べ替えにおいて、データ並べ替え部303は、任意設定ログデータ1210と同じ出力日時,クラス名,行番号を持つ実行情報ログデータ1220をトラッキングデータ1310から削除する。
本例では、トラッキングデータ1310を構成する各ログデータ1311〜1320の中から、任意設定ログデータ1312,1317,1320のそれぞれと、出力日時,クラス名,行番号が同じ実行情報ログデータ1311,1316,1319を削除している。
なお、生成したトラッキングデータ1310は、トラッキングデータ保持部305に格納する。
図14は、トラッキングデータに基づき、ログ表示処理部115が表示画面上のログ表示画面にログデータを表示した例を示す図である。
ログ表示処理部115は、トラッキングデータ1310を構成するログデータの内、任意設定ログデータのみをログ表示画面1400に表示する。
図15は、ソースコードハイライト表示処理の詳細を示すフローチャートである。
ソースコード編集処理部111のソースコードハイライト表示部306は、ログ表示画面に表示した任意設定ログに対するユーザの選択を受付け(ステップ1501)、選択された任意設定ログに対応するトラッキングデータ中の任意設定ログデータにデータポインタを設定する(ステップ1502)。
データポインタが現在指している任意設定ログデータからクラス名,行番号を取得し(ステップ1503)、取得したクラス名に対応するソースコードを、ソースコード保持部120から検索し、ソースコード編集画面に表示する(ステップ1504)。
ソースコード編集画面に表示したソースコードについて、任意設定ログデータから取得した行番号に示す行をハイライト表示する(ステップ1505)。
以上のハイライト表示処理について、具体例を用いて説明する。
図16は、データポインタ設定処理を示す図である。
本例では、ログ表示画面1610に表示した任意設定ログの内、マウスカーソルにより選択された任意設定ログ1611に対応するトラッキングデータ1620中の任意設定ログデータ1621に対して、データポインタ1630を設定している。ここで、データポインタ1630とは、トラッキングデータ1620内の特定のログデータを指し示すカーソルである。
図17は、ソースコード取得処理を示す図である。
ソースコードハイライト表示部306は、ログ表示画面1610上で任意に選択された任意設定ログ1611に対応する任意設定ログデータ1621からクラス名及び行番号を取得し、クラス名に基づきソースコード保持部120を検索して、クラス名に対応するソースコードを取得する。
ソースコードハイライト表示部306は、取得したソースコードについて、任意設定ログデータ1621に含まれる行番号に基づき後述するハイライト処理を行う。
図18は、ソースコードハイライト処理の結果として表示する表示画面の一例を示す図である。
本例では、ログ表示画面1810において選択された任意設定ログ1811に対応して、ソースコード編集画面1820に表示したソースコード中の特定の行1821をハイライト表示している。
ハイライト表示の対象となる行1821は、選択された任意設定ログ1811に対応する任意設定ログデータに含まれる行番号に基づき決定する。
この場合、ソースコードハイライト表示部306は、常にデータポインタを監視している。データポインタが初めて設定されたり、データポインタが指し示すデータが変更すると、ソースコードハイライト表示部306は、データポインタが指し示すデータにあわせて、ソースコードハイライトの表示箇所を変更する。
ソースコードハイライト表示部306の機能により、ユーザは選択した任意設定ログと、その任意設定ログの出力処理が設定された箇所の対応関係を即座に確認することが可能となる。
図19は、表示画面に表示された任意設定ログ情報及びソースコードに基づき行う動作追跡表示処理の詳細を示すフローチャートである。
まず、ソースコード編集処理部111のソースコードハイライト表示部306は、図15に示すフローチャートに従って、任意設定ログの選択に応じてデータポインタを設定し、ハイライト表示処理を行う(ステップ1901)。
この状態において、ログ表示画面上でのユーザによるカーソル操作を受付け(ステップ1902)、カーソル操作に連動したハイライト表示箇所の変更処理を行う。
ハイライト表示箇所の変更処理では、まず、カーソル操作が上方向か下方向かを判定する(ステップ1903)。
上方向へのカーソル操作の場合、トラッキングデータに設定したデータポインタを1つ前の要素に戻す(ステップ1904)。
一方、下方向へのカーソル操作の場合、トラッキングデータに設定したデータポインタを1つ進める(ステップ1905)。
データポインタの移動に従い、移動後のデータポインタが指し示すログデータに対応するソースコードの対象行をハイライト表示する(ステップ1906)。
データポインタが指し示すログデータが任意設定ログデータか実行情報ログデータかを判定する(ステップ1907)。
任意設定ログデータの場合、データポインタが指し示す任意設定ログデータに対応するログ表示画面上の任意設定ログを選択状態として、フォーカスを設定する(ステップ1908)。
一方、実行情報ログデータの場合には、ソースコード編集画面上でハイライト表示した対象行にフォーカスを設定する(ステップ1909)。
以上の処理を終了操作がされるまで繰り返し行う(ステップ1910)。
以上の処理について、具体例を用いて説明する。
図20〜24は、アプリケーション動作追跡処理における表示画面とトラッキングデータ上のデータポインタとの関係を示す図である。
図20は、表示画面中のログ表示画面において任意の任意設定ログが選択された状態を示す図である。
ログ表示画面2010における任意設定ログ2011の選択に対し、ソースコード編集処理部111のソースコードハイライト表示部306は、トラッキングデータ2020にデータポインタ2021を設定するとともに、任意設定ログデータ2022に含まれるクラス名「MyClass」,行番号「3」を取得して、ソースコード編集画面2030において、クラス名に対応するソースコードの対象行2031(3行目)をハイライト表示する。
図21は、下方向へのカーソル操作がされた状態を示す図である。
下方向へのカーソル操作に応じて、ソースコードハイライト表示部306は、データポインタ2021を次の要素に進めるとともに、データポインタ2021の指し示すログデータ2101の行番号「4」に基づき、ソースコード編集画面2110上の対象行2111(4行目)をハイライト表示する。
この場合、データポインタ2021が指し示すログデータ2101が実行情報ログデータであるため、ソースコード編集画面2110上の対象行2111にフォーカスを設定する。
図22は、図21に示す状態から、さらに下方向へのカーソル操作がされた状態を示す図である。
ソースコードハイライト表示部306は、データポインタ2021をさらに次の要素に進めるとともに、データポインタ2021の指し示すログデータ2201の行番号「7」に基づき、ソースコード編集画面2210上の対象行2211(7行目)をハイライト表示する。
この場合も、データポインタ2021が指し示すログデータ2201が実行情報ログデータであるため、ソースコード編集画面2210上の対象行2211にフォーカスを設定する。
図23は、図22に示す状態から、さらに下方向へのカーソル操作がされた状態を示す図である。
ソースコードハイライト表示部306は、データポインタ2021をさらに次の要素に進めるとともに、データポインタ2021の指し示すログデータ2301の行番号「8」に基づき、ソースコード編集画面2310上の対象行2311(8行目)をハイライト表示する。
この場合も、データポインタ2021が指し示すログデータ2301が実行情報ログデータであるため、ソースコード編集画面2310上の対象行2311にフォーカスを設定する。
図24は、図23に示す状態から、さらに下方向へのカーソル操作がされた状態を示す図である。
ソースコードハイライト表示部306は、データポインタ2021をさらに次の要素に進めるとともに、データポインタ2021の指し示すログデータ2401の行番号「9」に基づき、ソースコード編集画面2410上の対象行2411(9行目)をハイライト表示する。
この場合には、データポインタ2021が指し示すログデータ2401が任意設定ログデータであるため、任意設定ログ表示画面2420上においてデータポインタ2021が指し示す任意設定ログデータ2401に対応する任意設定ログ2421を選択状態として、フォーカスを設定する。
一方、各図に示す状態において、上方向へのカーソル操作がされた場合には、データポインタを一つ前の要素に戻して、データポインタの指し示すログデータに応じたハイライト表示及びフォーカス設定を行う。
以上の処理により、ある任意設定ログの出力から次の任意設定ログの出力までの動作経路を、ソースコードにより確認させることが可能となる。
なお、ソースコード編集処理部111又はログ表示処理部115において、ログ又はソースコードの確認履歴を記録することとしてもよい。
本発明の一実施の形態に係るアプリケーション開発支援装置の概略構成を示すブロック図である。 ログ設定処理に関連するソースコード編集処理部及びログ設定ファイル生成処理部の詳細構成を示すブロック図である。 ログ表示処理に関連するログ表示部処理及びソースコード編集処理部の詳細構成を示すブロック図である。 アプリケーション開発支援装置が表示する表示画面の一例を示す図である。 ログ出力設定処理の概要を示すフローチャートである。 アプリケーション開発支援装置が表示するソースコード編集画面の一例を示す図である。 マーカー情報生成部が生成するマーカー情報の一例を示す図である。 任意設定ログ設定ファイル生成部が生成する任意設定ログ設定ファイルの一例を示す図である。 実行情報ログ設定ファイル生成部が生成する実行情報ログ設定ファイルの一例を示す図である。 アプリケーションにより出力された任意設定ログ及び実行情報ログの一例を示す図である。 アプリケーション動作追跡処理の概要を示すフローチャートである。 ログ解析処理の流れを示す図である。 ログデータ並べ替え処理の流れを示す図である。 ログ表示画面の一例を示す図である。 ソースコードハイライト処理の詳細を示すフローチャートである。 データポインタ設定処理を示す図である。 ソースコード取得処理を示す図である。 ソースコードハイライト処理の処理結果を示す表示画面の一例を示す図である。 アプリケーション動作追跡処理の詳細を示すフローチャートである。 アプリケーション動作追跡処理における表示画面とトラッキングデータ上のデータポインタとの関係を示す図である。 アプリケーション動作追跡処理における表示画面とトラッキングデータ上のデータポインタとの関係を示す図である。 アプリケーション動作追跡処理における表示画面とトラッキングデータ上のデータポインタとの関係を示す図である。 アプリケーション動作追跡処理における表示画面とトラッキングデータ上のデータポインタとの関係を示す図である。 アプリケーション動作追跡処理における表示画面とトラッキングデータ上のデータポインタとの関係を示す図である。
符号の説明
100 アプリケーション開発支援装置、110 アプリケーション開発環境、111 ソースコード編集処理部、112 コンパイラ、113 ログ設定ファイル生成処理部、114 ログ出力処理埋め込み処理部、115 ログ表示処理部、120 ソースコード保持部、130 ファイル保持部、140 コンピュータ、141マウス、142 キーボード、150 アプリケーション実行装置、151 実装済みアプリケーション。

Claims (1)

  1. 開発対象アプリケーションのソースコードを保持するソースコード保持部と、
    前記開発対象アプリケーションの動作を追跡するために当該アプリケーションのソースコード中の任意の箇所に対するログ出力箇所の指定を受付けてマーカー情報を生成し、このマーカー情報に基づきログ出力箇所として指定された任意の箇所の処理を記録する任意設定ログの設定ファイルを生成する手段と、前記ソースコードを解析し、実行可能行における実行情報ログの出力情報を設定した実行情報ログの設定ファイルを生成する手段と、
    前記任意設定ログの設定ファイル及び実行情報ログの設定ファイルの各情報に基づき、前記開発対象アプリケーションに対して、任意設定ログ及び実行情報ログの出力処理を埋め込み、実装済みアプリケーションを生成するログ出力処理埋め込み手段と、
    前記実装済みアプリケーションを実行し、その実行に応じて出力された任意設定ログ及び実行情報ログ情報とを取得し、各ログ情報を統合したうえで出力日時順に並べ替えたトラッキングデータを生成する並べ替え手段と、
    前記トラッキングデータに含まれる任意設定ログの一覧をログ表示画面に表示するログ表示手段と、
    前記トラッキングデータを構成する任意設定ログに対応するソースコードを前記ソースコード保持部から取得してソースコード編集画面に表示すると共に、前記任意設定ログの一覧の中から任意に選択された任意設定ログに基づき、前記ソースコード編集画面に表示されたソースコード中の対応箇所を強調表示するとともに、前記ログ表示画面における任意のカーソル操作に応じて選択されたログデータが任意設定ログか実行情報ログかを判定し、選択されたログデータが任意設定ログならば前記ログ表示画面内の対応する任意設定ログを強調表示し、実行情報ログならば前記ソースコード編集画面内のソースコード中の対象行を強調表示するように強調表示箇所を変更するソースコードハイライト表示手段と
    を備えることを特徴とするアプリケーション動作追跡支援装置。
JP2005282571A 2005-09-28 2005-09-28 アプリケーション動作追跡支援装置 Expired - Fee Related JP4641238B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005282571A JP4641238B2 (ja) 2005-09-28 2005-09-28 アプリケーション動作追跡支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005282571A JP4641238B2 (ja) 2005-09-28 2005-09-28 アプリケーション動作追跡支援装置

Publications (2)

Publication Number Publication Date
JP2007094707A JP2007094707A (ja) 2007-04-12
JP4641238B2 true JP4641238B2 (ja) 2011-03-02

Family

ID=37980359

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005282571A Expired - Fee Related JP4641238B2 (ja) 2005-09-28 2005-09-28 アプリケーション動作追跡支援装置

Country Status (1)

Country Link
JP (1) JP4641238B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055180A (ja) * 2008-08-26 2010-03-11 Fujitsu Ltd ソフトウェアデバッグ支援プログラム、ソフトウェアデバッグ支援装置およびソフトウェアデバッグ支援方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01316842A (ja) * 1988-06-16 1989-12-21 Fujitsu Ltd バッチプログラム・デバッグツール
JPH06168111A (ja) * 1992-11-30 1994-06-14 Fuji Facom Corp デバッグ文の自動作成方式
JP2000207246A (ja) * 1999-01-13 2000-07-28 Toshiba Corp デバッグ支援装置及び方法並びにデバッグ支援用ソフトウェアを記録した記録媒体
JP2002108649A (ja) * 2000-09-29 2002-04-12 Toshiba Corp トレース解析を支援するためのプログラムを記録した記録媒体及びプログラム製品
JP2002318734A (ja) * 2001-04-18 2002-10-31 Teamgia:Kk 通信ログ処理方法及びシステム
JP2002342113A (ja) * 2001-05-15 2002-11-29 Hitachi Ltd プログラム実行状況表示方法及びその実施装置並びにその処理プログラム
JP2004227360A (ja) * 2003-01-24 2004-08-12 Hitachi Ltd 統合ログ表示方法及びシステム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01316842A (ja) * 1988-06-16 1989-12-21 Fujitsu Ltd バッチプログラム・デバッグツール
JPH06168111A (ja) * 1992-11-30 1994-06-14 Fuji Facom Corp デバッグ文の自動作成方式
JP2000207246A (ja) * 1999-01-13 2000-07-28 Toshiba Corp デバッグ支援装置及び方法並びにデバッグ支援用ソフトウェアを記録した記録媒体
JP2002108649A (ja) * 2000-09-29 2002-04-12 Toshiba Corp トレース解析を支援するためのプログラムを記録した記録媒体及びプログラム製品
JP2002318734A (ja) * 2001-04-18 2002-10-31 Teamgia:Kk 通信ログ処理方法及びシステム
JP2002342113A (ja) * 2001-05-15 2002-11-29 Hitachi Ltd プログラム実行状況表示方法及びその実施装置並びにその処理プログラム
JP2004227360A (ja) * 2003-01-24 2004-08-12 Hitachi Ltd 統合ログ表示方法及びシステム

Also Published As

Publication number Publication date
JP2007094707A (ja) 2007-04-12

Similar Documents

Publication Publication Date Title
US20210056011A1 (en) Operation verifying apparatus, operation verifying method and operation verifying system
JP4395761B2 (ja) プログラムテスト支援装置およびその方法
US20200285567A1 (en) Employing code overlays to facilitate software development
US20100146491A1 (en) System for Preparing Software Documentation in Natural Languages
EP0785510A1 (en) Program debugging system for debugging a program having a graphical user interface
US8713532B2 (en) Debugging using code analysis
JP2008293486A (ja) ソースコード解析機器、解析プログラムおよび解析方法
US20080177525A1 (en) Integrated debugger simulator
US20180074939A1 (en) Method for correcting violation of source code and computer readable recording medium having program performing the same
JP6440895B2 (ja) ソフトウェア分析装置及びソフトウェア分析方法
CA2815527A1 (en) Bidirectional text checker
JP4568262B2 (ja) データ収集システム
JP4737624B2 (ja) アプリケーションの障害原因の特定作業支援システム
JP4641238B2 (ja) アプリケーション動作追跡支援装置
JP4846030B2 (ja) 動作検証装置、動作検証方法および動作検証プログラム
US9165007B2 (en) Log message optimization to ignore or identify redundant log messages
JP6551082B2 (ja) テスト支援装置、テスト支援方法およびテスト支援プログラム
JP5702265B2 (ja) プログラム自動生成装置およびプログラム自動生成方法
JP5476867B2 (ja) マッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法
CN113934959A (zh) 一种程序预览方法、装置、计算机设备和存储介质
JP2009042951A (ja) プログラム中のデータ抽出方法及び装置
JP3544462B2 (ja) ソースプログラム解析装置およびソースプログラム解析プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4983027B2 (ja) チェックプログラム及びチェック方法
US20060130027A1 (en) Data processing system and method
WO2024127583A1 (ja) 操作支援装置、操作支援方法及び操作支援プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100610

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101126

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101126

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees