JP2002108649A - トレース解析を支援するためのプログラムを記録した記録媒体及びプログラム製品 - Google Patents

トレース解析を支援するためのプログラムを記録した記録媒体及びプログラム製品

Info

Publication number
JP2002108649A
JP2002108649A JP2000301470A JP2000301470A JP2002108649A JP 2002108649 A JP2002108649 A JP 2002108649A JP 2000301470 A JP2000301470 A JP 2000301470A JP 2000301470 A JP2000301470 A JP 2000301470A JP 2002108649 A JP2002108649 A JP 2002108649A
Authority
JP
Japan
Prior art keywords
information
trace
trace analysis
program
analysis
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.)
Pending
Application number
JP2000301470A
Other languages
English (en)
Inventor
Nobuhiro Ono
展弘 小野
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000301470A priority Critical patent/JP2002108649A/ja
Publication of JP2002108649A publication Critical patent/JP2002108649A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】プログラムの動作理解の向上および不具合原因
の特定、さらには改善点の発見を容易にするトレース解
析支援システムを提供する。 【解決手段】ユーザが求めるプログラム動作の調査範囲
について必要かつ十分なトレース情報を連続して抽出
し、記録する。プログラム実行時の動作をソースコード
レベルのトレースで仮想的に再現し、その際にトレース
情報を表示する。プログラム構造情報を基にしたトレー
ス情報のカテゴライズ及び情報の隠蔽により、注目箇所
に限った提示情報の詳細化或いは概略化といった情報量
の調節を実現する。またプログラムのシーケンシャルな
制御の流れ若しくはデータの流れをイベントトレースチ
ャートにより視覚化し、これをソースコードと連動して
表示する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラムの動作
に関する情報を整理して表示することによって、プログ
ラムの実行過程を詳細かつ直感的に把握することをが可
能なトレース解析支援に関する。
【0002】
【従来の技術】従来、プログラムの動作を把握するため
の手法として、デバッグ装置を用いてプログラムのコー
ドを1つずつステップ実行させ、プログラムソースコー
ド中の予想した箇所やプログラム要素の値を表示させ、
或いはその履歴を記録させる手法が知られている。
【0003】しかしながら、ステップ実行を繰り返し行
うことによって、プログラムの実行履歴を頭に思い描く
ことができるのは局所的な範囲に限定される。しかも、
期待する実行履歴を探し当てるのも容易ではない。した
がって、デバッグ作業者にとって多大な手間と負担が掛
かるという問題点がある。
【0004】
【発明が解決しようとする課題】本発明は上記事情を考
慮してなされたものであり、その目的は、プログラムの
動作理解の向上および不具合原因の特定、さらには改善
点の発見を容易にするトレース解析支援のためのプログ
ラムを提供することを目的とする。
【0005】特に、注目したいトレース解析箇所を容易
に絞り込むことができ、またトレース解析において提示
される情報の表示におけるカスタマイズを容易に行える
新たなトレース解析支援の仕組みを提供することを目的
とする。
【0006】
【課題を解決するための手段】本発明のトレース解析支
援では、対象プログラムを構成する各プログラム要素間
の依存関係等を予め解析しておく。ユーザが求めるプロ
グラム動作の調査範囲について、必要かつ十分なトレー
ス情報を連続して抽出、および記録する。プログラム実
行時の動作をソースコードレベルのトレースで仮想的に
再現し、その際にトレース情報を表示する。プログラム
構造情報を基にしたトレース情報のカテゴライズ及び情
報の隠蔽により、情報の注目箇所に限った詳細化或いは
概略化といった情報量調節を実現する。また、プログラ
ムのシーケンシャルな制御の流れ若しくはデータの流れ
をイベントトレースチャートにより視覚化し、これをソ
ースコードと連動して表示する。
【0007】より詳しくは、本発明は次のように構成さ
れる。 (1)本発明のトレース解析を支援するためのプログラ
ムを記録したコンピュータにより読み取り可能な記録媒
体は、トレース解析の対象となるプログラムに関する諸
情報の入力を受けるトレース解析対象プログラム情報入
力手段と、前記トレース解析の対象となるプログラムの
実行中に取得されたトレース情報から、トレース解析の
対象として注目する箇所としてのプログラム要素群に関
連するトレース情報を選別抽出するトレース情報入力解
析手段と、前記トレース解析の対象となるプログラムに
関する諸情報、前記トレース情報、及びトレース解析に
伴って生成および取得される情報をトレース解析情報と
して格納するトレース解析情報記録手段と、記録された
前記トレース解析情報の管理を行うトレース解析情報管
理手段と、前記トレース解析情報記録手段に記録されて
いる情報に基づいて、前記トレース解析の対象となるプ
ログラムを構成するプログラム要素および該プログラム
の実行中のイベントのカテゴライズ情報を管理するカテ
ゴライズ情報管理手段と、前記トレース解析情報記録手
段に記録されたトレース解析情報の少なくとも一部の情
報に基づいて、ソースコードレベルで前記トレース情報
を表示することで、前記トレース解析の対象となるプロ
グラムの実行時の振る舞いを仮想的に再現する仮想プロ
グラム実行トレース手段とを具備する。
【0008】(2)本発明のトレース解析を支援するた
めのプログラムを記録したコンピュータにより読み取り
可能な記録媒体は、トレース解析の対象となるプログラ
ムに関する諸情報の入力を受けるトレース解析対象プロ
グラム情報入力手段と、前記トレース解析の対象となる
プログラムの実行中に取得されたトレース情報から、ト
レース解析の対象として注目する箇所としてのプログラ
ム要素群に関連するトレース情報を選別抽出するトレー
ス情報入力解析手段と、前記トレース解析の対象となる
プログラムに関する諸情報、前記トレース情報、及びト
レース解析に伴って生成および取得される情報をトレー
ス解析情報として格納するトレース解析情報記録手段
と、記録された前記トレース解析情報の管理を行うトレ
ース解析情報管理手段と、前記トレース解析情報記録手
段に記録されている情報に基づいて、前記トレース解析
の対象となるプログラムを構成するプログラム要素およ
び該プログラムの実行中のイベントのカテゴライズ情報
を管理するカテゴライズ情報管理手段と、前記トレース
解析情報記録手段に記録されているトレース解析情報の
少なくとも一部に基づいて、前記トレース解析の対象と
なるプログラムの実行時の動作を視覚化するプログラム
動作視覚化手段とを具備する。
【0009】(3)本発明のトレース解析を支援するた
めのプログラムを記録したコンピュータにより読み取り
可能な記録媒体は、トレース解析の対象となるプログラ
ムに関する諸情報の入力を受けるトレース解析対象プロ
グラム情報入力手段と、前記トレース解析の対象となる
プログラムの実行中に取得されたトレース情報から、ト
レース解析の対象として注目する箇所としてのプログラ
ム要素群に関連するトレース情報を選別抽出するトレー
ス情報入力解析手段と、前記トレース解析の対象となる
プログラムに関する諸情報、前記トレース情報、及びト
レース解析に伴って生成および取得される情報をトレー
ス解析情報として格納するトレース解析情報記録手段
と、記録された前記トレース解析情報の管理を行うトレ
ース解析情報管理手段と、前記トレース解析情報記録手
段に記録されたトレース解析情報の個々の情報について
の表示/非表示、又は該トレース解析情報から二次的に
生成される情報の抽出及びその表示/非表示を管理する
表示情報管理手段と、前記トレース解析情報記録手段に
記録されたトレース解析情報の少なくとも一部の情報に
基づいて、ソースコードレベルで前記トレース情報を表
示することで、前記トレース解析の対象となるプログラ
ムの実行時の振る舞いを仮想的に再現する仮想プログラ
ム実行トレース手段とを具備する。
【0010】(4)本発明のトレース解析を支援するた
めのプログラムを記録したコンピュータにより読み取り
可能な記録媒体は、トレース解析の対象となるプログラ
ムに関する諸情報の入力を受けるトレース解析対象プロ
グラム情報入力手段と、前記トレース解析の対象となる
プログラムの実行中に取得されたトレース情報から、ト
レース解析の対象として注目する箇所としてのプログラ
ム要素群に関連するトレース情報を選別抽出するトレー
ス情報入力解析手段と、前記トレース解析の対象となる
プログラムに関する諸情報、前記トレース情報、及びト
レース解析に伴って生成および取得される情報をトレー
ス解析情報として格納するトレース解析情報記録手段
と、記録された前記トレース解析情報の管理を行うトレ
ース解析情報管理手段と、前記トレース解析情報記録手
段に記録されたトレース解析情報の個々の情報について
の表示/非表示、又は該トレース解析情報から二次的に
生成される情報の抽出及びその表示/非表示を管理する
表示情報管理手段と、前記トレース解析情報記録手段に
記録されているトレース解析情報の少なくとも一部に基
づいて、前記トレース解析の対象となるプログラムの実
行時の動作を視覚化するプログラム動作視覚化手段とを
具備する。
【0011】(5)本発明のトレース解析を支援するた
めのプログラム製品は、トレース解析の対象となるプロ
グラムに関する諸情報の入力を受けるトレース解析対象
プログラム情報入力手段と、前記トレース解析の対象と
なるプログラムの実行中に取得されたトレース情報か
ら、トレース解析の対象として注目する箇所としてのプ
ログラム要素群に関連するトレース情報を選別抽出する
トレース情報入力解析手段と、前記トレース解析の対象
となるプログラムに関する諸情報、前記トレース情報、
及びトレース解析に伴って生成および取得される情報を
トレース解析情報として格納するトレース解析情報記録
手段と、記録された前記トレース解析情報の管理を行う
トレース解析情報管理手段と、前記トレース解析情報記
録手段に記録されたトレース解析情報の個々の情報につ
いての表示/非表示、又は該トレース解析情報から二次
的に生成される情報の抽出及びその表示/非表示を管理
する表示情報管理手段と、前記トレース解析情報記録手
段に記録されたトレース解析情報の少なくとも一部の情
報に基づいて、ソースコードレベルで前記トレース情報
を表示することで、前記トレース解析の対象となるプロ
グラムの実行時の振る舞いを仮想的に再現する仮想プロ
グラム実行トレース手段とを具備する。
【0012】(6)本発明のトレース解析を支援するた
めのプログラム製品は、トレース解析の対象となるプロ
グラムに関する諸情報の入力を受けるトレース解析対象
プログラム情報入力手段と、前記トレース解析の対象と
なるプログラムの実行中に取得されたトレース情報か
ら、トレース解析の対象として注目する箇所としてのプ
ログラム要素群に関連するトレース情報を選別抽出する
トレース情報入力解析手段と、前記トレース解析の対象
となるプログラムに関する諸情報、前記トレース情報、
及びトレース解析に伴って生成および取得される情報を
トレース解析情報として格納するトレース解析情報記録
手段と、記録された前記トレース解析情報の管理を行う
トレース解析情報管理手段と、前記トレース解析情報記
録手段に記録されたトレース解析情報の個々の情報につ
いての表示/非表示、又は該トレース解析情報から二次
的に生成される情報の抽出及びその表示/非表示を管理
する表示情報管理手段と、前記トレース解析情報記録手
段に記録されたトレース解析情報の少なくとも一部の情
報に基づいて、ソースコードレベルで前記トレース情報
を表示することで、前記トレース解析の対象となるプロ
グラムの実行時の振る舞いを仮想的に再現する仮想プロ
グラム実行トレース手段とを具備する。
【0013】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施形態を説明する。
【0014】図1は、本発明の一実施形態に係るトレー
ス解析支援システムの概略構成を示すブロック図であ
る。
【0015】図1に示すように本実施形態のトレース解
析支援システムは、トレース解析対象プログラム情報入
力手段1、トレース解析情報記録手段2、トレース情報
入力解析手段3、トレース解析情報管理手段4、カテゴ
ライズ情報管理手段5、表示情報管理手段6、仮想プロ
グラム実行トレース解析手段7、プログラム動作視覚化
手段8から構成される。
【0016】トレース解析対象プログラム情報入力手段
1は、トレース解析の対処プログラムのソースファイル
群を静的に解析して得られるプログラム構造情報や、ト
レース解析対象プログラムを構成するプログラム要素群
の内、トレース解析においてユーザが注目するプログラ
ム要素に関する情報など、トレース解析の対象となるプ
ログラムに関する諸情報の入力を受け、トレース解析情
報記録手段2にそれらの情報を渡す。トレース解析情報
記録手段2は、トレース解析対象プログラム情報入力手
段1から渡された情報を、プログラム構造データおよび
トレース解析対象データとして記録する。
【0017】トレース情報入力解析手段3は、トレース
解析対象プログラムの実行中にトレース情報を出力する
ような他システムからトレース解析対象プログラムのト
レース情報を取得し、トレース解析情報記録手段2が保
持しているプログラム構造データおよびトレース解析対
象データを元にして、ユーザが注目したいトレース情報
を供給できる必要かつ十分なトレース情報を選別、抽出
し、トレース解析情報記録手段2に渡す。トレース解析
情報記録手段2は、渡された情報をトレースデータとし
て記録する。
【0018】トレース解析情報管理手段4は、トレース
解析時に、カテゴライズ情報管理手段5、表示情報管理
手段6、仮想プログラム実行トレース解析手段7、プロ
グラム動作視覚化手段8などの他の手段からの要請を受
けてトレース解析情報記録手段2にアクセスし、トレー
ス解析情報記録手段2に蓄えられているデータをもと
に、情報の検索、参照、およびトレース解析に伴う情報
の整理若しくは記録等を行い、その結果として得られた
情報を要請元の各手段に渡す。
【0019】カテゴライズ情報管理手段5は、トレース
解析情報記録手段2に格納されているトレースデータを
自動的にカテゴライズする。このカテゴライズは、トレ
ース解析情報記録手段2に格納されているプログラム構
造データを基に、解析対象プログラムを構成するプログ
ラム要素、解析対象プログラムのプログラム実行中の例
えば関数呼び出しや変数参照などのイベントに対して行
う。さらに、カテゴライズの結果として生成された各カ
テゴリにカテゴリ名称を付加する(カテゴリ設定)。
【0020】また、カテゴライズ情報編集部によって、
ユーザの指定による入れ子となるような新たなカテゴリ
設定を許容する(カテゴリの詳細化)。この際に、カテ
ゴリ整合管理部によって、カテゴリ重複度の整合がとら
れる。もちろん、カテゴライズされた情報は、そのカテ
ゴリの構成要素単位に戻すことも可能である。そして、
カテゴライズ情報管理手段5は、カテゴリ設定に伴って
生成されたカテゴライズ情報を、トレース解析情報管理
手段4を介してトレース解析情報記録手段2にカテゴラ
イズデータとして記録させる。
【0021】表示情報管理手段6は、ユーザが注目した
いトレース情報を供給できる必要かつ十分なトレース情
報として、トレース解析情報記録手段2に記録されてい
るトレースデータの中から、さらにトレース解析時にお
ける解析情報の表示を行わないプログラム要素の指定を
ユーザから受け、該指定されたプログラム要素に係る情
報をトレース解析時に隠蔽するような隠蔽表示を行う。
この処理は、情報隠蔽管理部により行われる。もちろ
ん、隠蔽された情報を再度表示するように設定すること
も可能である。
【0022】また、表示情報管理手段6は、メトリクス
情報管理部によって、トレース解析時に隠蔽されずに表
示される解析対象プログラムを構成するプログラム要素
と、それらが関わるプログラム実行中のイベントに関し
てのメトリクス情報(プログラムの特徴を示す数)を算
出する。表示情報管理手段6は、こうして生成される表
示及び非表示に関する情報と、表示される情報群から算
出される情報とを、トレース解析情報管理手段4を介し
てトレース解析情報記録手段2のトレースデータに追加
する。
【0023】仮想プログラム実行トレース解析手段7
は、トレース解析情報記録手段2に格納されているトレ
ースデータに基づいて、あたかもトレース解析対象プロ
グラムをステップ実行しているかのような仮想的なプロ
グラムの実行状態を作り出し、指定したトレース解析範
囲のトレース情報を表示させる手段である。このとき、
プログラムの仮想的な実行の流れに従って、オリジナル
のソースファイルにおいて対応するステートメントを連
動表示し、ウォッチデータ表示部にトレース解析情報を
表示する。ここでトレース解析情報とは、トレース解析
情報記録手段2に格納されているトレースデータから抽
出された情報であって、トレース情報入力解析手段3に
入力されたトレース情報に対して、他のデータからの情
報が付加された情報である。
【0024】また、仮想プログラム実行トレース解析手
段7は、イベントトレースチャート連動表示部によっ
て、ユーザ指定位置に対応する視覚化情報の連動表示を
プログラム動作視覚化手段8に要請することが可能であ
る。
【0025】プログラム動作視覚化手段8は、トレース
解析情報記録手段2に格納されているトレースデータに
基づいて、解析対象プログラムを構成するプログラム要
素のプログラム実行時のトレース情報を、シーケンシャ
ルなイベントのチャートとして視覚化(イベントトレー
スチャート化)する。トレース解析情報記録手段2にカ
テゴライズデータが存在する場合は、各カテゴリ毎に複
数のチャート構成要素をまとめて表現することで、より
概略的なチャートを表現することが可能となる。またプ
ログラム動作視覚化手段8は、チャートを表示するため
に生成した情報を、トレース解析情報管理手段4を介し
てトレース解析情報記録手段2にイベントトレースチャ
ートデータとして記録させる。またプログラム動作視覚
化手段8は、ソースコード連動表示部によって、仮想プ
ログラム実行トレース解析手段7に、ユーザ指定位置に
対応するプログラムのステートメントの連動表示、およ
びトレース解析情報の表示の要請を行うことも可能であ
る。
【0026】図2は、図1に示したトレース解析支援シ
ステムに対して結合される他システムを示すブロック図
である。同図に示される他システムは、トレース解析対
象プログラム情報とトレース情報との両者もしくはいず
れか一方をトレース解析支援システムに提供するもので
ある。この図に示される他システムはあくまで一例であ
る。
【0027】以下、このような他システムの一例につい
て説明する。他システムは、図2に示すように、ソース
ファイル群9、プログラム解析手段10、トレース解析
対象指定手段11、ログ出力命令挿入手段12、ログ出
力命令挿入済みソースファイル群13、コンパイラ1
4、ログ出力命令挿入済み実行ファイル群15、及びロ
グファイル群16から構成される。トレーサー17につ
いては後述する。
【0028】プログラム解析手段10は、解析対象プロ
グラムのソースファイル群9を読み込んでこれを解析
し、解析対象プログラムを構成するソースファイルのフ
ァイル情報(ファイル名、ディレクトリ情報など)およ
び、全プログラム要素(クラス、関数、変数など)のプ
ログラム構造情報(宣言位置、識別子名称、型名、引数
情報、依存関係情報など)を抽出する。プログラム解析
手段10はその処理結果をトレース解析対象プログラム
情報入力手段1に渡す。ここで、依存関係とは、例え
ば、変数に値が代入されている、変数の値が条件式で参
照されている、関数の戻り値が参照されている、といっ
た情報のことである。
【0029】トレース解析対象指定手段11は、解析対
象プログラムを構成するプログラム要素群の幾つかをユ
ーザがトレース解析対象として指定するための手段であ
る。なお、すでに抽出された解析対象プログラムのプロ
グラム構造情報に基づいて、指定された各プログラム要
素に依存関係を持つプログラム要素群についてもこれを
トレース解析対象として指定することも可能である。ト
レース解析対象指定手段11により得られた指定情報
は、トレース解析対象プログラム情報入力手段1に入力
される。
【0030】トレース解析対象プログラム情報入力手段
1は、他システムに属するプログラム解析手段10とト
レース解析対象指定手段11からの入力情報として、解
析対象プログラムを構成するソースファイルのファイル
情報および全プログラム要素についてのプログラム構造
情報と、トレース解析対象のプログラム要素の指定情報
とを受け取り、トレース解析情報記録手段2にそれらの
情報を記録させる。
【0031】トレース解析情報記録手段2は、解析対象
プログラムを構成するソースファイルのファイル情報お
よび全プログラム要素のプログラム構造情報と、トレー
ス解析対象のプログラム要素の指定情報とを、図3に示
すようなテーブルによって管理する。なお、本実施形態
では、解析対象のプログラムの記述言語を例えばC言語
としている。その他のプログラム言語を解析対象とする
場合には管理する情報は異なることは言うまでもない。
例えばC++言語であれば、クラスに関する情報が付加さ
れる。
【0032】図3(a)は、ファイル情報のテーブルを
示している。このテーブルはソースファイル名にファイ
ルIDを振り当て、さらにソースファイルが存在するデ
ィレクトリのパス名を格納するテーブルである。ファイ
ルIDから、ソースファイル名およびそのソースファイ
ルが存在するデイレクトリのパス名を参照できる。例え
ば、ソースファイル名「file1」にはファイルID
「A」が割り振られ、当該ファイルが存在するディレク
トリのパス名は、「directry1」である。
【0033】図3(b)は識別子情報を管理するための
テーブルを示している。このテーブルは、識別子名に識
別子IDを割り当て、その識別子の依存関係情報、さら
にその識別子の宣言に関する属性を格納するテーブルで
ある。識別子の依存関係情報には、その識別子と依存関
係を有する他の識別子の識別子IDと、それぞれの依存
関係内容とがある。識別子の宣言に関する属性として
は、その識別子を宣言しているソースファイルのファイ
ルID、行番号、関数の識別子ID(ローカル変数の場
合)、関数か否か、静的宣言されているか否か、そして
トレース解析対象として指定されているか否かがある。
これにより、識別子IDから、識別子名やその識別子の
宣言に関する属性を参照することができる。例えばこの
テーブルにおいて、識別子名「symbol1」に対し
て識別子ID「a」が振られ、その識別子が宣言されて
いるのは、ファイルIDに「fileID1」が振られ
たファイルであり、宣言行は「line1」であり、そ
の識別子が関数でなくローカル変数であれば、「fun
cID1」には、その識別子が宣言されている関数の識
別子の識別子IDが割り振られ、その識別子がグローバ
ル変数であれば、「funcID1」はどの関数中でも
宣言されていないことを示す値(例えば−1など)を有
する。なお、その識別子が関数であり、解析対象プログ
ラム内に宣言された識別子ではない場合、「funcI
D1」には識別子IDがないことを示す値(例えば−1
など)を有する。そして、その識別子が関数か否かを示
す「bFunc1」は、これを区別可能な値(例えば1
と0など)を値として持ち、その識別子が静的宣言され
ているか否かを示す「bStatic1」にもこれを区
別可能な値(例えば1と0など)を値として有する。さ
らにその識別子がトレース解析対象として指定されてい
るか否かを示す「bTrace1」についてもこれを区
別可能な値(例えば1と0など)を値として有する。
【0034】他システムは、トレース解析対象として指
定した全てのプログラム要素に対して、解析対象のプロ
グラムの実行中にトレース情報をログとして出力するた
めの仕組みとして、ソースファイル群のそれぞれにログ
出力命令を挿入するためのログ出力命令挿入手段12を
有する。
【0035】ログ出力命令挿入手段12によりログ出力
命令が挿入されたソースファイル群13は、コンパイラ
14によりコンパイルされる。ユーザは、最終的に生成
されたログ出力命令挿入済み実行ファイル群15を、ト
レース解析の目的に添うように実行させ、これによりト
レース情報としてのログファイルが得られる。
【0036】ここでトレース情報入力解析手段3は、得
られたログファイルを読み込むことによりトレース情報
を取得し、トレース解析情報記録手段2に対し選別抽出
されたトレース情報を渡す。ここでトレース情報とは、
プロセッサが処理するプログラムの命令毎の、処理が行
われた前および後に、その処理が関わる様々な情報の値
の集合を指す。処理が関わる様々な情報の例としては、
処理の内容、型名、ポインタ情報、識別子文字列、アド
レス、サイズ、スコープ情報、時間情報などが挙げられ
る。
【0037】ところで、トレース情報入力解析手段3
は、トレース情報をログファイル群16から入力するの
みならず、他の装置から直接的かつ動的に入力すること
も可能なように構成されている。
【0038】例えば、トレース解析対象プログラムの実
行中に、トレース解析対象プログラムを構成する全ての
プログラム要素についてのトレース情報(先に述べたト
レース情報と同程度である必要がある)を次々に出力す
るトレーサー17(図2参照)に対しトレース情報入力
解析手段3を結合し、同トレーサー17からトレース情
報を直接的かつ動的に取り込むようにしてもよい。この
場合、トレース情報入力解析手段3によって不必要なト
レース情報を選別して除外する必要がある。
【0039】トレース情報を選別して抽出する流れを図
4のフローチャートを参照して説明する。まず、指定さ
れたトレース解析対象に関する情報をユーザが確認し、
トレース解析情報記録手段2に格納されているトレース
解析対象データを参照する(ステップ400)。トレー
ス解析対象データとは、例えば図3のテーブルにあるよ
うな識別子IDの内、トレース解析対象として指定され
た識別子IDのみが抽出されたデータである。このよう
なトレース解析対象データは、配列もしくはリスト等の
形式で保持される。後の処理では、入力されるトレース
情報の内から不要なものを無視するように、トレース解
析対象データに基づいてフィルタリングが行われる。
【0040】プログラム命令の処理の前後それぞれに得
られるトレース情報を単位として連続して出力されるト
レース情報を、その出力順に取得する(ステップ40
1)。
【0041】そして、取得できるトレース情報があるか
を調べ(ステップ402)、なければトレース情報の入
力解析を終了し、ある場合には取得したトレース情報が
トレース解析対象であるかを調べる(ステップ40
3)。対象外であればステップ401へジャンプし、対
象に該当する場合には、これをユーザがトレース解析情
報として必要なトレース情報とし、トレース解析情報記
録手段2に渡し、トレースデータとして記憶させる(ス
テップ404)。なお、入力されるトレース情報が全て
トレース解析対象であることが明白な場合には、図4の
フローチャートの処理を行わず、入力されるトレース情
報をトレース解析情報記録手段2に直接渡し、トレース
データとしてもよい。また、トレース解析対象ではなく
ても、ライブラリ関数などのトレース情報に対しては情
報取得を行うという具合に、特定の情報については意図
的にトレース解析対象とみなすように構成してもよい。
【0042】トレース解析情報記録手段2に格納された
トレースデータは、プログラムの処理の流れに従って、
そのプログラムの処理毎のトレース情報と、プログラム
構造データ内の対応するプログラム構造データ参照用の
アクセスポインタ(ここでは識別子ID)とを組合わせ
た情報として順次スタックされる。図5はトレースデー
タのテーブルの一例を示す。
【0043】図5に示すトレースデータテーブルにおい
ては、識別子ID、処理情報、型情報、ポインタ情報、
アドレス情報、サイズ情報、値情報、時間情報などの要
素の持つトレース情報が、時系列な順序で配置されてい
る。識別子IDとは、図3で示したテーブルが保有する
情報へアクセスするためのポインタのことであり、この
ような識別子IDにより対応する情報の参照を可能にす
る。
【0044】処理情報は、例えば変数の値の参照、変数
に値を書込む直前、変数に値を書き込んだ直後、関数か
らの呼び出し、戻り値を伴う関数の復帰など、それぞれ
の処理内容について例えば数字を割り振ったものであ
る。同様に、型情報は、int型、unsigned
int型、char型、unsigned char型
などといった、各種データ型に対して、例えば数字を割
り振ったものである。またポインタ情報は、実体か、ポ
インタか、またはポインタのポインタというように複数
回のポインタ参照であるか、について例えば数字を割り
振ったものである。
【0045】また、アドレス情報は、対象識別子のアド
レス値を、サイズ情報は対象識別子のサイズを、値情報
は対象識別子の値を意味する。また時間情報とは、その
処理がなされたタイムスタンプを意味する。
【0046】トレース情報の取得が終了したら、まずカ
テゴライズ情報管理手段5によって、トレース解析情報
記録手段2に格納されているトレースデータ内の解析対
象プログラムを構成するプログラム要素や、解析対象プ
ログラムのプログラム実行中のイベントに対して自動的
にカテゴライズが行われる。
【0047】自動で行うカテゴライズの流れを図6のフ
ローチャートを参照して説明する。
【0048】まず、トレース解析情報記録手段2が保持
しているトレースデータをカテゴライズ対象として取得
し、およびカテゴライズの参照情報としてプログラム構
造データを取得しておく(ステップ600)。次にトレ
ースデータからプログラムの処理の流れに沿って、順次
にトレース情報を取得する(ステップ601)。取得で
きるトレース情報がある場合には(ステップ602)、
まずその情報の識別子が関数であるかを調べ(ステップ
603)、関数でなければその識別子は変数であるから
グローバル変数であるかを調べ(ステップ604)る。
グローバル変数であればグローバル変数のカテゴリ情報
を付加し(ステップ605)、グローバル変数でなけれ
ばローカル変数としてローカル変数カテゴリ情報を付加
する(ステップ606)。また、識別子が関数であった
場合には、関数の識別子IDの有無を調べ(ステップ6
07)、関数の識別子IDが存在しない場合には、解析
対象プログラムの外で定義された関数(例えばライブラ
リ関数)であると判断し、解析対象プログラム外定義関
数情報を付加する(ステップ608)。その後識別子が
関数であるものに対して、関数カテゴリ情報を付加する
(ステップ609)。そしてその識別子のファイル情報
を取得し(ステップ610)、そのファイル情報を元に
して出現ファイル順に各カテゴリ毎にまとめ、バッファ
にスタックする(ステップ611)。このステップ60
1からステップ611までを、取得できるトレース情報
がなくなるまで繰り返し行う。取得できるトレース情報
がなくなれば(ステップ602)、各ローカル変数を、
所属する関数ごとにソートし(ステップ612)、各カ
テゴリにそれぞれ自動的に生成されるカテゴリ名称を与
えて(ステップ613)、自動カテゴライズを終了す
る。以上の処理により得られた情報を、トレース解析情
報管理手段4を介してトレース解析情報記録手段2にカ
テゴライズデータとして記憶させる。
【0049】カテゴライズ情報管理手段5は、ユーザ指
定による入れ子となるような新たなカテゴリ設定を許容
する。よって、カテゴリ情報を例えばディレクトリ情報
のような木構造で保持する。
【0050】図7はカテゴリ情報を保持するテーブルの
一例を示している。
【0051】図7に示すカテゴリテーブルは、図6によ
り説明した自動カテゴライズ後に生成されたカテゴライ
ズデータを、関数カテゴリテーブル(a)、解析対象プ
ログラム外宣言関数カテゴリテーブル(b)、グローバ
ル変数カテゴリテーブル(c)、ローカル変数カテゴリ
テーブル(d)からなる4つのテーブルによって管理す
る。
【0052】ユーザからのカテゴライズ操作に伴って、
各テーブルにはカテゴリ設定情報が付加される。各テー
ブルでは、例えば「/」を区切りとして、一番左に位置
するカテゴリをルートとし、各識別子のカテゴリ情報が
記述されている。なお、テーブル内は、ローカル変数カ
テゴリテーブル(d)のように、各識別子のカテゴリ情
報をもとに自動的にソートが行われるものとしている。
例えば関数カテゴリテーブル(a)において、識別子I
Dが「A」と「B」の識別子については「file1」
カテゴリの入れ子のカテゴリとし、「UserDef_
Input」が新たにユーザにより設定されている。
「file1」にはその識別子が属するファイルのファ
イル情報を識別するための値が入り(例えばファイルI
D)、「UserDef_Input」には、例えばユ
ーザが設定したカテゴリ名称などが入る。図6の自動カ
テゴライズ後には、各テーブルはトレース情報に登場す
るファイル順にソートされているが、解析対象プログラ
ム外宣言関数カテゴリテーブル(b)とグローバル変数
カテゴリテーブル(c)における「UserDef_S
ysLib」や「UserDef_Importan
t」のように、ルート位置にカテゴリ情報を付加するこ
とも可能である。カテゴライズ情報管理手段5において
は、原則としてユーザが任意にカテゴライズを行うこと
が可能であるが、異なる関数内で定義されているローカ
ル変数群を同じカテゴリになるように新たに設定し直す
ことなどに関しては警告、もしくは禁止したり、同時に
複数のカテゴリに所属する設定は行えないようする。こ
れによってカテゴリの整合を図ることができる。
【0053】表示情報管理手段6は、トレース解析情報
記録手段2が保持するトレースデータを元に、トレース
データ内に出現する全ての識別子IDについての表示・
非表示に関するテーブルを生成し、ユーザの指定に応じ
て、トレース解析時に指定された識別子のトレース解析
情報を隠蔽するフラグを立て、その結果をトレース解析
情報管理手段4を介してトレース解析情報記録手段2の
表示関連データに記憶させる。また表示情報管理手段6
は、トレースデータより算出される各識別子のメトリク
ス情報(例えば、変数への参照や書込みのカウントや関
数の呼出のカウントなど)についてもトレース解析情報
管理手段4を介してトレース解析情報記録手段2の表示
関連データに記憶させる。隠蔽する識別子の増減に応じ
て、各識別子のメトリクス情報は変化する。この場合
は、その都度再計算を行って表示関連データの更新が行
われる。
【0054】図8は、トレース解析情報記録手段2の表
示関連データの一例を示すテーブルである。
【0055】仮想プログラム実行トレース解析手段7
は、トレース解析情報記録手段2に格納されているトレ
ースデータに基づいて仮想的にプログラムの実行を行
い、プログラムの対応ステートメントの表示、およびト
レース解析情報の表示を行う。
【0056】仮想プログラム実行トレース解析手段7
は、トレース解析情報記録手段2に格納されているトレ
ースデータを参照する事によって、仮想的にプログラム
実行を再現する。つまり、トレースデータが存在する範
囲においては自由にトレース解析情報を参照できる。こ
のトレース解析情報を参照するユーザの操作をトレース
解析装置と呼ぶことにする。
【0057】仮想的なプログラム実行時における画面表
示例を図9に示す。
【0058】ユーザは、フレームウィンドウ20の上部
に設置されているトレース解析操作ボタン群21をマウ
ス等の入力手段により押下操作することにより、トレー
ス解析操作を行える。トレース解析操作の例としては、
実際のプログラムの処理の流れに対して順方向へのステ
ップ実行、逆方向へのステップバック実行、さらには仮
想的なブレークポイント設定によるジャンプ実行などが
挙げられる。
【0059】フレームウィンドウ20に属するソースコ
ード表示部22には、現在のトレース解析位置を含むソ
ースコードの一定範囲がスクロール表示される。現在の
トレース解析位置に対応するステートメント23は、同
図からわかるように強調表示される。
【0060】また、フレームウィンドウ20に属するウ
ォッチデータ表示部24には、現在のトレース解析位置
に対応するトレース解析情報が表示される。
【0061】ユーザがトレース解析操作を行った際の仮
想プログラム実行トレース解析手段7の動作について図
10のフローチャートを用いて説明する。
【0062】まず、ユーザのトレース解析操作の内容を
識別する(ステップ1000)。そして、トレース解析
操作に応じて表示すべきトレース解析情報のうちの先頭
のトレース解析情報を、トレース解析情報管理手段4を
介してトレース解析情報記録手段2のトレースデータか
ら1つ取得する(ステップ1001)。取得できるトレ
ース解析情報が存在する場合には(ステップ100
2)、そのトレース解析情報をバッファにスタック格納
し(ステップ1003)、そのトレース解析情報からフ
ァイル情報およびトレース解析位置に対応するステート
メントの位置を確認する(ステップ1004)。トレー
ス解析情報が存在しなければ終了する。次にバッファに
格納されたトレース解析情報の次にスタックされている
トレース解析情報を1つ取得し(ステップ1005)、
トレース解析情報が取得できたら(ステップ100
6)、そのトレース解析情報が、先だってバッファに格
納されたトレース解析情報と同じステートメント内に属
する識別子に関するものであるかを判別し(ステップ1
007)、同じステートメント内のものであればステッ
プ1003へジャンプする。そしてステップ1003か
らステップ1007までの処理を、ステップ1006に
おいてトレース解析情報が取得できなくなるまで繰り返
す。ステップ1006においてトレース解析情報が取得
できなくなったら、バッファにスタックされているトレ
ース解析情報を全てウォッチデータ表示部24に出力す
る(ステップ1008)。なお、トレース解析開始時
は、トレース解析位置はトレースデータの先頭位置が属
するステートメントとなり、そのステートメントに含ま
れる全てのトレース解析情報がウォッチデータ表示部2
4に出力されていることとする。
【0063】また、仮想プログラム実行トレース解析手
段7は、プログラム動作視覚化手段8と連動するため
に、図10に示した処理の終了後に、現在のトレース解
析位置の情報を渡す。
【0064】なお、ブレークポイント毎のジャンプトレ
ース解析については、例えば、ユーザがブレークポイン
トを設定したいステートメントの情報を保持しておき、
そのステートメント情報を持つトレース解析情報の位置
まで走査し、見つけた位置からトレース解析情報を表示
するなどの方法により実現できる。
【0065】プログラム動作視覚化手段8は、先に述べ
たトレース解析情報記録手段2に格納されているトレー
スデータを元に、カテゴライズデータによってトレース
情報をカテゴライズした結果をシーケンシャルなイベン
トのチャートとして視覚化する。視覚化の例として、各
カテゴリを時間軸方向に延びる線で表し、各カテゴリ間
の相互のプログラムデータのやりとりをイベントと捉
え、それらをカテゴリ間を横断する矢印のような線で表
す。また、各線の隣接した位置にアイコン、文字列、も
しくは情報表示用ウィンドウなどを配置することで、各
線の付帯情報を表示することも可能である。結果的に表
示されたチャートをイベントトレースチャートと呼ぶ。
図11にイベントトレースチャートの一例を示す。
【0066】図11に示すイベントトレースチャートに
おいては、ウィンドウ30内に4つのビューが分かれて
表示される。上部2つのビューはそれぞれ、関数カテゴ
リ名称を表示するビュー31、および変数カテゴリ名称
を表示するビュー32からなる。下部2つのビューは各
カテゴリ毎のチャートおよびプログラムのイベントを表
す線で構成されたイベントトレースチャートを表示する
ビュー33,34からなる。
【0067】なお、それぞれのビューを表示するための
情報は、トレース解析情報管理手段4を介してトレース
解析情報記録手段2のイベントトレースチャートデータ
として記憶される。描画情報の更新毎にイベントトレー
スチャートデータは更新され、描画の高速化や、チャー
ト画像の保存などに利用可能となる。
【0068】カテゴリ名称を表示するビュー31,32
には、カテゴリ名称を示すシンボル(アイコンで表示し
てもよい)が表示されており、カテゴリは階層毎に整理
して表示可能である。例えば、左上のビューの「カテゴ
リA」はルートのカテゴリを示しており、その下に「m
ain0」と「Sub」が従属している。さらに「Su
b」にはより下位の階層の存在を「+」の記号により示
すアイコン35が表示される。なお、「−」で示される
アイコン36は、直下の階層が表示されている事を示
し、「+」と「−」の切替操作によって、カテゴリ内の
要素の表示の切替を容易に行うことが可能となる。
【0069】イベントトレースチャートを表示するビュ
ー33,34では、解析対象プログラムのプログラム実
行時におけるプログラムの制御のフローを太実線の折れ
線37により表示する。プログラム実行時のイベントに
あたるデータのフローは、左下のビューと右下のビュー
を横断する矢印で表示される。これらの表示に基づいて
ユーザは直感的なフローの把握が可能になる。
【0070】なお、トレース解析情報管理手段4を介し
てトレース解析情報記録手段2の表示関連データ内のメ
トリクス情報に基づき、その数値を直接表示したり、あ
るいはこれを参照可能にしたり、さらには、数値に規定
を設け、その数値に対応するチャート表示の変更(例え
ばある変数に対して、ある一定数を超えた書込みがある
場合には書き込みを示す線の色を変更するなど)を行う
ことも可能である。そして、現在のトレース解析位置に
ついては、イベントトレースチャート上の対応する領域
を強調することによって、トレース解析時の視認性を向
上させる。また、情報提示を意味する各種アイコンも適
所に配置される。例えば、アイコン38は、イベントト
レースチャート上において、データの書き込みや参照が
行われていることを示す他に、そのポイント上でデータ
の値参照が可能である。また、アイコン39は関数の戻
り値が返ったことを示す他に、そのポイント上でその戻
り値の参照が可能である。
【0071】また、プログラム動作視覚化手段8は、ユ
ーザがカテゴリの編集を行う際のインタフェースとして
用いることも可能である。一例を挙げると、図11の上
部のビューのカテゴリ名称を示すシンボルを、例えばマ
ウス操作などで移動する事によって、表示するカテゴリ
の順番を変更したり、カテゴリの階層内容を編集可能と
するなど、である。もちろん、カテゴリの追加および解
除もカテゴリ名称を示すシンボルにサブメニューを実装
することにより可能となる。同様にして情報を隠蔽した
い識別子もしくはカテゴリを指定することも可能とな
る。なお、データフローを示す線についても、例えばル
ープなどによる同じ変数への書き込みや参照などの繰り
返しをグループ化するといったカテゴライズ、若しくは
情報隠蔽なども可能である。このようなユーザによるカ
テゴリ編集や情報隠蔽識別子の指定による情報は、それ
ぞれカテゴライズ情報管理手段5と表示情報管理手段6
に渡される。そしてプログラム動作視覚化手段8は、こ
れに応じてイベントトレースチャートの更新作業を行
う。
【0072】図11の例では、ユーザは、フレームウィ
ンドウ30上部に設置されているトレース解析操作ボタ
ン群40によって、仮想プログラム実行トレース解析手
段7が提供するトレース解析操作と同等の操作が可能と
なる。たとえば、プログラム動作視覚化手段8は、ユー
ザによるトレース解析操作ボタンの押下操作の内容を仮
想プログラム実行トレース解析手段7に通知することに
よって、互いの連動が可能となる。
【0073】なお、本発明は上述した実施形態に限定さ
れず種々変形して実施可能である。
【0074】
【発明の効果】以上説明したように、本発明によれば、
膨大になりがちなプログラム実行履歴情報を、ユーザが
注目したいトレース情報を供給できる必要かつ十分なト
レース情報として確実に抽出することができる。また、
プログラムの実行時の振る舞いに関する調査、およびデ
バッグなど、トレース解析時に必要となる情報収集作業
を軽減することができる。さらに、トレース情報のカテ
ゴライズやトレース情報の視覚化を行うことが可能にな
り、抽出されたトレース情報をユーザが容易に把握可能
な表現で提供できる。したがって、トレース解析の大幅
な効率向上を図ることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るトレース解析支援シ
ステムの概略構成を示すブロック図
【図2】図1に示したトレース解析支援システムに対し
て結合される他システムを示すブロック図
【図3】解析対象プログラムを構成するソースファイル
のファイル情報および全プログラム要素のプログラム構
造情報と、トレース解析対象のプログラム要素の指定情
報とを管理するためのテーブルを示す図
【図4】トレース情報を選別して抽出する流れを示すフ
ローチャート
【図5】トレースデータのテーブルの一例を示す図
【図6】自動カテゴライズの流れを示すフローチャート
【図7】カテゴリ情報を保持するテーブルの一例を示す
【図8】表示関連データを示すテーブルの一例を示す図
【図9】仮想的なプログラム実行時における画面表示例
を示す図
【図10】ユーザがトレース解析操作を行った際の仮想
プログラム実行トレース解析手段の動作を示すフローチ
ャート
【図11】イベントトレースチャートの一例を示す図
【符号の説明】
1…トレース解析対象プログラム情報入力手段 2…トレース解析情報記録手段 3…トレース情報入力解析手段 4…トレース解析情報管理手段 5…カテゴライズ情報管理手段 6…表示情報管理手段 7…仮想プログラム実行トレース解析手段 8…プログラム動作視覚化手段

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 トレース解析の対象となるプログラムに
    関する諸情報の入力を受けるトレース解析対象プログラ
    ム情報入力手段と、 前記トレース解析の対象となるプログラムの実行中に取
    得されたトレース情報から、トレース解析の対象として
    注目する箇所としてのプログラム要素群に関連するトレ
    ース情報を選別抽出するトレース情報入力解析手段と、 前記トレース解析の対象となるプログラムに関する諸情
    報、前記トレース情報、及びトレース解析に伴って生成
    および取得される情報をトレース解析情報として格納す
    るトレース解析情報記録手段と、 記録された前記トレース解析情報の管理を行うトレース
    解析情報管理手段と、 前記トレース解析情報記録手段に記録されている情報に
    基づいて、前記トレース解析の対象となるプログラムを
    構成するプログラム要素および該プログラムの実行中の
    イベントのカテゴライズ情報を管理するカテゴライズ情
    報管理手段と、 前記トレース解析情報記録手段に記録されたトレース解
    析情報の少なくとも一部の情報に基づいて、ソースコー
    ドレベルで前記トレース情報を表示することで、前記ト
    レース解析の対象となるプログラムの実行時の振る舞い
    を仮想的に再現する仮想プログラム実行トレース手段
    と、 を具備することを特徴とするトレース解析を支援するた
    めのプログラムを記録したコンピュータにより読み取り
    可能な記録媒体。
  2. 【請求項2】 トレース解析の対象となるプログラムに
    関する諸情報の入力を受けるトレース解析対象プログラ
    ム情報入力手段と、 前記トレース解析の対象となるプログラムの実行中に取
    得されたトレース情報から、トレース解析の対象として
    注目する箇所としてのプログラム要素群に関連するトレ
    ース情報を選別抽出するトレース情報入力解析手段と、 前記トレース解析の対象となるプログラムに関する諸情
    報、前記トレース情報、及びトレース解析に伴って生成
    および取得される情報をトレース解析情報として格納す
    るトレース解析情報記録手段と、 記録された前記トレース解析情報の管理を行うトレース
    解析情報管理手段と、 前記トレース解析情報記録手段に記録されている情報に
    基づいて、前記トレース解析の対象となるプログラムを
    構成するプログラム要素および該プログラムの実行中の
    イベントのカテゴライズ情報を管理するカテゴライズ情
    報管理手段と、 前記トレース解析情報記録手段に記録されているトレー
    ス解析情報の少なくとも一部に基づいて、前記トレース
    解析の対象となるプログラムの実行時の動作を視覚化す
    るプログラム動作視覚化手段と、 を具備することを特徴とするトレース解析を支援するた
    めのプログラムを記録したコンピュータにより読み取り
    可能な記録媒体。
  3. 【請求項3】 トレース解析の対象となるプログラムに
    関する諸情報の入力を受けるトレース解析対象プログラ
    ム情報入力手段と、 前記トレース解析の対象となるプログラムの実行中に取
    得されたトレース情報から、トレース解析の対象として
    注目する箇所としてのプログラム要素群に関連するトレ
    ース情報を選別抽出するトレース情報入力解析手段と、 前記トレース解析の対象となるプログラムに関する諸情
    報、前記トレース情報、及びトレース解析に伴って生成
    および取得される情報をトレース解析情報として格納す
    るトレース解析情報記録手段と、 記録された前記トレース解析情報の管理を行うトレース
    解析情報管理手段と、 前記トレース解析情報記録手段に記録されたトレース解
    析情報の少なくとも一部の情報に基づいて、ソースコー
    ドレベルで前記トレース情報を表示することで、前記ト
    レース解析の対象となるプログラムの実行時の振る舞い
    を仮想的に再現する仮想プログラム実行トレース手段
    と、 前記トレース解析情報記録手段に記録されているトレー
    ス解析情報の少なくとも一部に基づいて、前記トレース
    解析の対象となるプログラムの実行時の動作を視覚化す
    るプログラム動作視覚化手段と、 を具備することを特徴とするトレース解析を支援するた
    めのプログラムを記録したコンピュータにより読み取り
    可能な記録媒体。
  4. 【請求項4】 トレース解析の対象となるプログラムに
    関する諸情報の入力を受けるトレース解析対象プログラ
    ム情報入力手段と、 前記トレース解析の対象となるプログラムの実行中に取
    得されたトレース情報から、トレース解析の対象として
    注目する箇所としてのプログラム要素群に関連するトレ
    ース情報を選別抽出するトレース情報入力解析手段と、 前記トレース解析の対象となるプログラムに関する諸情
    報、前記トレース情報、及びトレース解析に伴って生成
    および取得される情報をトレース解析情報として格納す
    るトレース解析情報記録手段と、 記録された前記トレース解析情報の管理を行うトレース
    解析情報管理手段と、 前記トレース解析情報記録手段に記録されたトレース解
    析情報の個々の情報についての表示/非表示、又は該ト
    レース解析情報から二次的に生成される情報の抽出及び
    その表示/非表示を管理する表示情報管理手段と、 前記トレース解析情報記録手段に記録されたトレース解
    析情報の少なくとも一部の情報に基づいて、ソースコー
    ドレベルで前記トレース情報を表示することで、前記ト
    レース解析の対象となるプログラムの実行時の振る舞い
    を仮想的に再現する仮想プログラム実行トレース手段
    と、 を具備することを特徴とするトレース解析を支援するた
    めのプログラムを記録したコンピュータにより読み取り
    可能な記録媒体。
  5. 【請求項5】 トレース解析の対象となるプログラムに
    関する諸情報の入力を受けるトレース解析対象プログラ
    ム情報入力手段と、 前記トレース解析の対象となるプログラムの実行中に取
    得されたトレース情報から、トレース解析の対象として
    注目する箇所としてのプログラム要素群に関連するトレ
    ース情報を選別抽出するトレース情報入力解析手段と、 前記トレース解析の対象となるプログラムに関する諸情
    報、前記トレース情報、及びトレース解析に伴って生成
    および取得される情報をトレース解析情報として格納す
    るトレース解析情報記録手段と、 記録された前記トレース解析情報の管理を行うトレース
    解析情報管理手段と、 前記トレース解析情報記録手段に記録されたトレース解
    析情報の個々の情報についての表示/非表示、又は該ト
    レース解析情報から二次的に生成される情報の抽出及び
    その表示/非表示を管理する表示情報管理手段と、 前記トレース解析情報記録手段に記録されているトレー
    ス解析情報の少なくとも一部に基づいて、前記トレース
    解析の対象となるプログラムの実行時の動作を視覚化す
    るプログラム動作視覚化手段と、 を具備することを特徴とするトレース解析を支援するた
    めのプログラムを記録したコンピュータにより読み取り
    可能な記録媒体。
  6. 【請求項6】 トレース解析の対象となるプログラムに
    関する諸情報の入力を受けるトレース解析対象プログラ
    ム情報入力手段と、 前記トレース解析の対象となるプログラムの実行中に取
    得されたトレース情報から、トレース解析の対象として
    注目する箇所としてのプログラム要素群に関連するトレ
    ース情報を選別抽出するトレース情報入力解析手段と、 前記トレース解析の対象となるプログラムに関する諸情
    報、前記トレース情報、及びトレース解析に伴って生成
    および取得される情報をトレース解析情報として格納す
    るトレース解析情報記録手段と、 記録された前記トレース解析情報の管理を行うトレース
    解析情報管理手段と、 前記トレース解析情報記録手段に記録されたトレース解
    析情報の個々の情報についての表示/非表示、又は該ト
    レース解析情報から二次的に生成される情報の抽出及び
    その表示/非表示を管理する表示情報管理手段と、 前記トレース解析情報記録手段に記録されたトレース解
    析情報の少なくとも一部の情報に基づいて、ソースコー
    ドレベルで前記トレース情報を表示することで、前記ト
    レース解析の対象となるプログラムの実行時の振る舞い
    を仮想的に再現する仮想プログラム実行トレース手段
    と、 前記トレース解析情報記録手段に記録されたトレース解
    析情報の少なくとも一部に基づいて、前記トレース解析
    の対象となるプログラムの実行時の動作を視覚化するプ
    ログラム動作視覚化手段と、 を具備することを特徴とするトレース解析を支援するた
    めのプログラムを記録したコンピュータにより読み取り
    可能な記録媒体。
  7. 【請求項7】 トレース解析の対象となるプログラムに
    関する諸情報の入力を受けるトレース解析対象プログラ
    ム情報入力手段と、 前記トレース解析の対象となるプログラムの実行中に取
    得されたトレース情報から、トレース解析の対象として
    注目する箇所としてのプログラム要素群に関連するトレ
    ース情報を選別抽出するトレース情報入力解析手段と、 前記トレース解析の対象となるプログラムに関する諸情
    報、前記トレース情報、及びトレース解析に伴って生成
    および取得される情報をトレース解析情報として格納す
    るトレース解析情報記録手段と、 記録された前記トレース解析情報の管理を行うトレース
    解析情報管理手段と、 前記トレース解析情報記録手段に記録されたトレース解
    析情報の個々の情報についての表示/非表示、又は該ト
    レース解析情報から二次的に生成される情報の抽出及び
    その表示/非表示を管理する表示情報管理手段と、 前記トレース解析情報記録手段に記録されたトレース解
    析情報の少なくとも一部の情報に基づいて、ソースコー
    ドレベルで前記トレース情報を表示することで、前記ト
    レース解析の対象となるプログラムの実行時の振る舞い
    を仮想的に再現する仮想プログラム実行トレース手段
    と、 を具備することを特徴とするトレース解析を支援するた
    めのプログラムを記録したコンピュータにより読み取り
    可能な記録媒体。
  8. 【請求項8】 トレース解析の対象となるプログラムに
    関する諸情報の入力を受けるトレース解析対象プログラ
    ム情報入力手段と、 前記トレース解析の対象となるプログラムの実行中に取
    得されたトレース情報から、トレース解析の対象として
    注目する箇所としてのプログラム要素群に関連するトレ
    ース情報を選別抽出するトレース情報入力解析手段と、 前記トレース解析の対象となるプログラムに関する諸情
    報、前記トレース情報、及びトレース解析に伴って生成
    および取得される情報をトレース解析情報として格納す
    るトレース解析情報記録手段と、 記録された前記トレース解析情報の管理を行うトレース
    解析情報管理手段と、 前記トレース解析情報記録手段に記録されたトレース解
    析情報の個々の情報についての表示/非表示、又は該ト
    レース解析情報から二次的に生成される情報の抽出及び
    その表示/非表示を管理する表示情報管理手段と、 前記トレース解析情報記録手段に記録されたトレース解
    析情報の少なくとも一部に基づいて、前記トレース解析
    の対象となるプログラムの実行時の動作を視覚化するプ
    ログラム動作視覚化手段と、 を具備することを特徴とするプログラムを記録したコン
    ピュータにより読み取り可能な記録媒体。
  9. 【請求項9】 トレース解析の対象となるプログラムに
    関する諸情報の入力を受けるトレース解析対象プログラ
    ム情報入力手段と、 前記トレース解析の対象となるプログラムの実行中に取
    得されたトレース情報から、トレース解析の対象として
    注目する箇所としてのプログラム要素群に関連するトレ
    ース情報を選別抽出するトレース情報入力解析手段と、 前記トレース解析の対象となるプログラムに関する諸情
    報、前記トレース情報、及びトレース解析に伴って生成
    および取得される情報をトレース解析情報として格納す
    るトレース解析情報記録手段と、 記録された前記トレース解析情報の管理を行うトレース
    解析情報管理手段と、 前記トレース解析情報記録手段に記録された情報に基づ
    いて、前記トレース解析の対象となるプログラムを構成
    するプログラム要素および該プログラムの実行中のイベ
    ントをカテゴライズするカテゴライズ情報管理手段と、 前記トレース解析情報記録手段に記録されたトレース解
    析情報の個々の情報についての表示/非表示、又は該ト
    レース解析情報から二次的に生成される情報の抽出及び
    その表示/非表示を管理する表示情報管理手段と、 前記トレース解析情報記録手段に記録されたトレース解
    析情報の少なくとも一部の情報に基づいて、ソースコー
    ドレベルで前記トレース情報を表示することで、前記ト
    レース解析の対象となるプログラムの実行時の振る舞い
    を仮想的に再現する仮想プログラム実行トレース手段
    と、 トレース解析情報記録手段に格納されているトレース解
    析情報に基づいて、前記解析対象プログラムを構成する
    プログラム要素のプログラム実行時におけるトレース情
    報を、シーケンシャルなイベントのチャートとして視覚
    化するプログラム動作視覚化手段と、 を具備することを特徴とするプログラムを記録したコン
    ピュータにより読み取り可能な記録媒体。
  10. 【請求項10】 トレース解析の対象となるプログラム
    に関する諸情報の入力を受けるトレース解析対象プログ
    ラム情報入力手段と、 前記トレース解析の対象となるプログラムの実行中に取
    得されたトレース情報から、トレース解析の対象として
    注目する箇所としてのプログラム要素群に関連するトレ
    ース情報を選別抽出するトレース情報入力解析手段と、 前記トレース解析の対象となるプログラムに関する諸情
    報、前記トレース情報、及びトレース解析に伴って生成
    および取得される情報をトレース解析情報として格納す
    るトレース解析情報記録手段と、 記録された前記トレース解析情報の管理を行うトレース
    解析情報管理手段と、 前記トレース解析情報記録手段に記録された情報に基づ
    いて、前記トレース解析の対象となるプログラムを構成
    するプログラム要素および該プログラムの実行中のイベ
    ントのカテゴライズ情報を管理するカテゴライズ情報管
    理手段と、 前記トレース解析情報記録手段に記録されたトレース解
    析情報の少なくとも一部の情報に基づいて、ソースコー
    ドレベルで前記トレース情報を表示することで、前記ト
    レース解析の対象となるプログラムの実行時の振る舞い
    を仮想的に再現する仮想プログラム実行トレース手段
    と、 を具備することを特徴とするトレース解析を支援するた
    めのプログラム製品。
  11. 【請求項11】 トレース解析の対象となるプログラム
    に関する諸情報の入力を受けるトレース解析対象プログ
    ラム情報入力手段と、 前記トレース解析の対象となるプログラムの実行中に取
    得されたトレース情報から、トレース解析の対象として
    注目する箇所としてのプログラム要素群に関連するトレ
    ース情報を選別抽出するトレース情報入力解析手段と、 前記トレース解析の対象となるプログラムに関する諸情
    報、前記トレース情報、及びトレース解析に伴って生成
    および取得される情報をトレース解析情報として格納す
    るトレース解析情報記録手段と、 記録された前記トレース解析情報の管理を行うトレース
    解析情報管理手段と、 前記トレース解析情報記録手段に記録されたトレース解
    析情報の個々の情報についての表示/非表示、又は該ト
    レース解析情報から二次的に生成される情報の抽出及び
    その表示/非表示を管理する表示情報管理手段と、 前記トレース解析情報記録手段に記録されたトレース解
    析情報の少なくとも一部の情報に基づいて、ソースコー
    ドレベルで前記トレース情報を表示することで、前記ト
    レース解析の対象となるプログラムの実行時の振る舞い
    を仮想的に再現する仮想プログラム実行トレース手段
    と、 を具備することを特徴とするトレース解析を支援するた
    めのプログラム製品。
JP2000301470A 2000-09-29 2000-09-29 トレース解析を支援するためのプログラムを記録した記録媒体及びプログラム製品 Pending JP2002108649A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000301470A JP2002108649A (ja) 2000-09-29 2000-09-29 トレース解析を支援するためのプログラムを記録した記録媒体及びプログラム製品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000301470A JP2002108649A (ja) 2000-09-29 2000-09-29 トレース解析を支援するためのプログラムを記録した記録媒体及びプログラム製品

Publications (1)

Publication Number Publication Date
JP2002108649A true JP2002108649A (ja) 2002-04-12

Family

ID=18783006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000301470A Pending JP2002108649A (ja) 2000-09-29 2000-09-29 トレース解析を支援するためのプログラムを記録した記録媒体及びプログラム製品

Country Status (1)

Country Link
JP (1) JP2002108649A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006323480A (ja) * 2005-05-17 2006-11-30 Mitsubishi Electric Corp 解析支援装置
JP2007094707A (ja) * 2005-09-28 2007-04-12 Hitachi Software Eng Co Ltd アプリケーション動作追跡支援装置
JP2008536236A (ja) * 2005-04-13 2008-09-04 テレフオンアクチーボラゲット エル エム エリクソン(パブル) コンピュータシステムにおけるデータ値の整合性(コヒーレンス:coherence)
JP2009295021A (ja) * 2008-06-06 2009-12-17 Internatl Business Mach Corp <Ibm> シーケンス図作成装置、シーケンス図作成方法及びコンピュータプログラム
JP2010009279A (ja) * 2008-06-26 2010-01-14 Fujitsu Ltd デバッグ方法およびデバッグプログラム
JP2011165039A (ja) * 2010-02-12 2011-08-25 Hitachi Ltd モデルデバッグ装置およびモデルデバッグ方法
WO2011151931A1 (ja) * 2010-06-02 2011-12-08 株式会社日立製作所 アプリケーションの解析方法、解析システム及び記録媒体

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008536236A (ja) * 2005-04-13 2008-09-04 テレフオンアクチーボラゲット エル エム エリクソン(パブル) コンピュータシステムにおけるデータ値の整合性(コヒーレンス:coherence)
JP2006323480A (ja) * 2005-05-17 2006-11-30 Mitsubishi Electric Corp 解析支援装置
JP4667954B2 (ja) * 2005-05-17 2011-04-13 三菱電機株式会社 解析支援装置
JP2007094707A (ja) * 2005-09-28 2007-04-12 Hitachi Software Eng Co Ltd アプリケーション動作追跡支援装置
JP4641238B2 (ja) * 2005-09-28 2011-03-02 株式会社日立ソリューションズ アプリケーション動作追跡支援装置
JP2009295021A (ja) * 2008-06-06 2009-12-17 Internatl Business Mach Corp <Ibm> シーケンス図作成装置、シーケンス図作成方法及びコンピュータプログラム
JP2010009279A (ja) * 2008-06-26 2010-01-14 Fujitsu Ltd デバッグ方法およびデバッグプログラム
JP2011165039A (ja) * 2010-02-12 2011-08-25 Hitachi Ltd モデルデバッグ装置およびモデルデバッグ方法
WO2011151931A1 (ja) * 2010-06-02 2011-12-08 株式会社日立製作所 アプリケーションの解析方法、解析システム及び記録媒体
US8898649B2 (en) 2010-06-02 2014-11-25 Hitachi, Ltd. Application program analysis method, analysis system and recording medium for identifying a contributing factor for an invalid operation of an application program

Similar Documents

Publication Publication Date Title
Heer et al. Graphical histories for visualization: Supporting analysis, communication, and evaluation
US5668966A (en) System and method for direct manipulation of search predicates using a graphical user interface
US20070185876A1 (en) Data handling system
US9348581B2 (en) Systems, method and computer program products for tracking and viewing changes to information stored in a data structure
US8386919B2 (en) System for displaying an annotated programming file
US8868524B2 (en) Floating merge selection viewer
US20090031239A1 (en) Asset browser for computing environment
JPH08328921A (ja) 階層ファイル構造の構成要素の選択システムおよび方法
US20080177525A1 (en) Integrated debugger simulator
US7062751B2 (en) Sequence analysis method and apparatus
US11514237B2 (en) Spreadsheet and method for updating same
JPH0683598A (ja) ジョブフロー仕様書自動作成方法
CN102067117B (zh) 显示和操作表的方法
KR20030075501A (ko) 특허 데이터베이스로 부터 대상 특허의 가계 경로를 빠른시간내에 분석하여 제공하는 방법
CN115576974A (zh) 数据处理方法、装置、设备和介质
JP2004072093A (ja) 半導体試験データ解析システム
Hindle et al. Yarn: Animating software evolution
JP2002108649A (ja) トレース解析を支援するためのプログラムを記録した記録媒体及びプログラム製品
JP4404172B2 (ja) メディアシーン情報表示編集装置、方法、および該方法に係るプログラムを記憶した記憶媒体
JP3478331B2 (ja) 構造表示方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US20090228678A1 (en) Mapping definition creation system and mapping definition creation program
US20050022170A1 (en) Visual debugging interface
EP3786810A1 (en) Automatic generation of computing artifacts for data analysis
JPH0713727A (ja) 情報表示装置
JP4660824B2 (ja) メディアシーンの属性情報を格納する情報格納装置、情報表示装置、および情報格納方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050418

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050920