JP2000293410A - プロファイラ - Google Patents

プロファイラ

Info

Publication number
JP2000293410A
JP2000293410A JP11103361A JP10336199A JP2000293410A JP 2000293410 A JP2000293410 A JP 2000293410A JP 11103361 A JP11103361 A JP 11103361A JP 10336199 A JP10336199 A JP 10336199A JP 2000293410 A JP2000293410 A JP 2000293410A
Authority
JP
Japan
Prior art keywords
profiler
executable program
shared object
shared
performance
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
JP11103361A
Other languages
English (en)
Inventor
Hirotaka Muramatsu
広丘 村松
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP11103361A priority Critical patent/JP2000293410A/ja
Publication of JP2000293410A publication Critical patent/JP2000293410A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 性能測定対象のオブジェクトを選択してプロ
ファイラ用実行可能プログラムを生成し、対象オブジェ
クトのみの性能解析を可能にするプロファイラを提供す
る 。 【解決手段】 入力装置1と、データ処理装置2と、出
力装置3を備える。データ処理装置2は、実行可能プロ
グラム読み込み手段10と、性能測定対象の共有オブジ
ェクトを選択する表示を作成する参照オブジェクト表示
・指定手段11と、共有オブジェクトのファイル名テー
ブルを更新する性能測定対象共有オブジェクト処理切り
分け手段12と、プロファイラ用実行可能プログラム生
成手段13とを有する。そして、入力した実行可能プロ
グラムのオブジェクト情報に基づいて性能測定対象のオ
ブジェクトを選択し、プロファイラ用実行可能プログラ
ムとプロファイラ用共通オブジェクトを生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、実行可能プログ
ラムが実行時に参照する共有オブジェクトから性能測定
の対象となる共有オブジェクトを選択することにより対
象オブジェクトのみの性能解析を可能にするプロファイ
ラに関する。
【0002】
【従来の技術】プロファイラは、計算機システムなどで
生成した実行可能プログラムの性能を解析するために用
いられるプログラムである。従来、プロファイラとして
は、特開平5−150975号公報に開示された発明な
どがある。このプロファイラは、評価するプログラムの
ソースコードを入力し、ソースコードから構文解析処理
を用いて構文木を生成する。この構文木から繰り返し構
造抽出処理を用いてくり返し構造を抽出し、計算時間評
価処理を用いて計算時間表価値を求めている。そして、
計算時間表価値を計算時間評価値表示処理を用いて処理
して表示している。
【0003】
【発明が解決しようとする課題】ところで、上述したよ
うに、従来のプログラム評価方法では、実行可能プログ
ラムが実行時に参照する共有オブジェクトに対する評価
を考慮していないために実行可能プログラムが実行時に
共有オブジェクトを参照する場合、この共有オブジェク
トの計算時間を予測できないという問題があった。ま
た、この方法は、実行可能プログラムのソースコードが
提供されていない場合、実行可能プログラムに対する計
算時間が予測できないという問題があった。
【0004】この発明は、上記の点に鑑みてなされたも
ので、その目的は、実行可能プログラムが参照する共有
オブジェクトから性能測定対象のオブジェクトを選択
し、そして、実行可能プログラムから関数群の呼ばれ回
数を計数する情報を含めたプロファイラ用実行可能プロ
グラムを生成して対象オブジェクトのみの性能解析を可
能にするプロファイラを提供することにある。
【0005】
【課題を解決するための手段】上記の課題を解決するた
めに、請求項1に記載の発明は、実行可能プログラムを
入力して新たにプロファイラ用実行可能プログラムおよ
びプロファイラ用共有オブジェクトを作成し、実行可能
プログラムの性能を解析するプロファイラにおいて、前
記実行可能プログラムが実行時に参照する共有オブジェ
クトのファイル名テーブルを前記実行可能プログラムの
オブジェクト情報から抽出し、性能測定対象の共有オブ
ジェクトを選択する画面を作成して表示する参照オブジ
ェクト表示・指定手段と、該参照オブジェクト表示・指
定手段により選択された共有オブジェクトに基づいて前
記実行可能プログラムが持つオブジェクト情報の書き替
えを行い、プロファイラが生成するプロファイラ用実行
可能プログラムが実行時に参照する共有オブジェクトの
ファイル名テーブルを作成する性能測定対象共有オブジ
ェクト処理切り分け手段とを具備することを特徴とす
る。
【0006】
【発明の実施の形態】以下、図面を参照してこの発明の
実施の形態について説明する。図1は、この発明の一実
施形態によるプロファイラの構成を示すブロック図であ
る。図1において、1は、実行可能プログラムを入力す
る装置、例えば、キーボードなどからなる入力装置であ
る。2は、プログラム制御により動作するデータ処理装
置であり、実行可能プログラム読み込み手段10と、参
照オブジェクト表示・指定手段11と、性能測定対象共
有オブジェクト処理切り分け手段12と、プロファイラ
用実行可能プログラム生成手段13とを有する。
【0007】上記各手段を詳細に説明すると、実行可能
プログラム読み込み手段10は、入力装置1により入力
した実行可能プログラムをオープンしファイルヘッダ、
命令コードの内容を読み込む。参照オブジェクト表示・
指定手段11は、前記実行可能プログラムに含まれる実
行時に参照する共有オブジェクトのファイル名テーブル
を抽出し、性能測定の対象となる共有オブジェクトを選
択する表示を作成する。
【0008】性能測定対象共有オブジェクト処理切り分
け手段12は、参照オブジェクト表示指定手段11によ
り選択された共有オブジェクトに基づき実行可能プログ
ラムがもつオブジェクト情報の書き換えとプロファイラ
用実行可能プログラムが実行時に参照する共有オブジェ
クトのファイル名テーブルを作成する。プロファイラ用
実行可能プログラム生成手段13は、性能測定対象共有
オブジェクト処理切り分け手段12の処理により必要と
なった共有オブジェクトを解析してプロファイラ用命令
を追加したプロファイラ用共有オブジェクトを生成し、
さらに、プロファイラ用実行可能プログラムを生成す
る。3は、プロファイラ用実行可能プログラムを記憶す
る装置、例えば、ハードディスク装置などからなる出力
装置である。
【0009】図2は、この発明の実施形態によるプロフ
ァイラの処理の概要を説明するための図である。この図
において、入力装置1により入力される実行可能プログ
ラム20は、それ自身のオブジェクト情報をファイルヘ
ッダにもっている。オブジェクト情報には、その実行可
能プログラム20が実行時に参照する共有オブジェクト
のファイル名テーブル30が存在する。共有オブジェク
ト(群)21は、実行可能プログラム20が実行時に参照
するすべての共有オブジェクトである。プロファイラ用
実行可能プログラム生成手段13により出力されるプロ
ファイラ用実行可能プログラム22は、実行可能プログ
ラム20と同じファイル構造をしているが、以下の情報
を含んでいる。 (1)関数群の呼ばれ回数を計数する際に必要なメモリ
の割付を行うプロファイラ用スタートアップ命令コード (2)関数群の呼ばれ回数を計数する命令を追加した実
行可能プログラム20に同等なプロファイラ用命令コー
【0010】プロファイラ用共有オブジェクト(群)23
は、プロファイラ用実行可能プログラム22が実行時に
参照する共有オブジェクトであり、プロファイラ用実行
可能プログラム生成手段13により関数群の呼ばれ回数
を計数するプロファイラ用命令コードを必要な共有オブ
ジェクトに追加して生成される。プロファイラ用実行可
能プログラム22は、それ自身が参照するすべての共有
オブジェクトのファイル名テーブル32をもっている。
【0011】次に、上記構成によるプロファイラの動作
を説明する。先ず、入力装置1により入力された実行可
能ファイル20は実行可能プログラム読み込み手段10
に供給される。実行可能プログラム読み込み手段10は
入力したファイル名文字列をキーに実行可能ファイル2
0をオープンし、ファイルヘッダおよび命令コードの内
容を読み込む。次に、参照オブジェクト表示・指定手段
11は、実行可能プログラム読み込み手段10が読み込
んだファイルヘッダから、実行可能プログラム20が実
行時に参照する共有オブジェクトのファイル名テーブル
30を抽出し、ファイル名リストを作成して表示する。
ユーザは、表示されたファイル名リストから性能測定の
対象とするオブジェクトを指定して入力する。
【0012】図3は、性能測定対象共有オブジェクト処
理切り分け手段12の処理の流れを示すフローチャート
である。以下、この図を参照して性能測定対象共有オブ
ジェクト処理切り分け手段12の処理を詳細に説明す
る。先ず、性能測定対象共有オブジェクト処理切り分け
手段12は、最終的に生成されるプロファイラ用実行可
能プログラム22のファイルヘッダとして、実行可能プ
ログラム20がもつファイルヘッダに存在するオブジェ
クト情報をコピーし、そのオブジェクト情報からファイ
ル名テーブル32を読み込む(ステップS101)。フ
ァイル名テーブル32から実行時に参照する共有オブジ
ェクトの数をカウントし、それを変数nに代入する(ス
テップS102)。nが1以上ならば(ステップS10
3;Y)、ファイル名テーブル32の先頭から共有オブ
ジェクト名を一つ読み込み、ユーザが指定した性能測定
対象の共有オブジェクトであるかどうかを判定する(ス
テップS104)。
【0013】ステップS104の判定でYESの場合、
もとの共有オブジェクトファイル名の格納パス部分を取
り除き、後ろに .prf という拡張子を付加した新しいフ
ァイル名文字列を生成する。この新しいファイル名文字
列でファイル名テーブル32の該当箇所を上書きするこ
とにより、オブジェクト情報の更新を行なう(ステップ
S105)。続いて、ステップS104の判定でNOの
場合を含め、nを1つ減じ(ステップS106)、ステ
ップS103においてnが0になるまで、ステップS1
04〜ステップS106の処理を繰り返す。nが0にな
った時点(ステップS102;N)で処理を終了する。
【0014】次に、プロファイラ用実行可能プログラム
生成手段13は、性能測定対象共有オブジェクト処理切
り分け手段12によって作成されたファイル名テーブル
32をもとに再帰的にプロファイラを起動し、性能測定
対象共有オブジェクト処理切り分け手段12において拡
張子.prfを付加した共有オブジェクトがもつ命令を
一つずつ解析する。そして、実行可能プログラムの性能
解析に必要な、関数群の呼ばれ回数を計数可能にするプ
ロファイラ用命令の追加を行うことによりプロファイラ
用共有オブジェクト23を作成する。
【0015】また、実行可能プログラム20がもつ命令
も同様に一つずつ解析し、関数群の呼ばれ回数を計数可
能にするプロファイラ用命令の追加を行うことによりプ
ロファイラ用命令コードを作成する。そして、プロファ
イラ用スタートアップ命令コードを含んだライブラリと
総合したプロファイラ用実行可能プログラム22を生成
する。このプロファイラ用実行可能プログラム22を実
行することにより、参照される共有オブジェクトの中の
関数を含めた全ての関数群の呼ばれ回数を記録できる環
境になる。
【0016】
【発明の効果】以上説明したように、本発明によれば、
性能測定の対象となる共有オブジェクトを選択してプロ
ファイラ用実行可能プログラムを生成するため、実行可
能プログラムが実行時に参照する共通オブジェクトを全
て抽出してプロファイラ用命令を追加する必要はなく、
共通オブジェクトの性能測定が容易になり、オブジェク
ト性能解析の作業効率を高めることができるという効果
が得られる。また、特定の共有ライブラリのみプロファ
イラ用命令変換を行うために、プロファイラ用実行可能
プログラムの生成時間を短縮でき、リソースの消費を削
減できるという効果がある。
【図面の簡単な説明】
【図1】 この発明の一実施の形態の構成を示すブロッ
ク図である。
【図2】 同実施の形態の処理の概要を説明する図であ
る。
【図3】 図1に示す性能測定対象共有オブジェクト処
理切り分け手段の動作を示すフローチャートである。
【符号の説明】
1 入力装置 2 データ処理装置 3 出力装置 10 実行可能プログラム読み込み手段 11 参照オブジェクト表示・指定手段 12 性能測定対象共有オブジェクト処理切り分け手段 13 プロファイラ用実行可能プログラム生成手段

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 実行可能プログラムを入力して新たにプ
    ロファイラ用実行可能プログラムおよびプロファイラ用
    共有オブジェクトを作成し、実行可能プログラムの性能
    を解析するプロファイラにおいて、 前記実行可能プログラムが実行時に参照する共有オブジ
    ェクトのファイル名テーブルを前記実行可能プログラム
    のオブジェクト情報から抽出し、性能測定対象の共有オ
    ブジェクトを選択する画面を作成して表示する参照オブ
    ジェクト表示・指定手段と、 該参照オブジェクト表示・指定手段により選択された共
    有オブジェクトに基づいて前記実行可能プログラムが持
    つオブジェクト情報の書き替えを行い、プロファイラが
    生成するプロファイラ用実行可能プログラムが実行時に
    参照する共有オブジェクトのファイル名テーブルを作成
    する性能測定対象共有オブジェクト処理切り分け手段
    と、 を具備してなるプロファイラ。
JP11103361A 1999-04-09 1999-04-09 プロファイラ Pending JP2000293410A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11103361A JP2000293410A (ja) 1999-04-09 1999-04-09 プロファイラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11103361A JP2000293410A (ja) 1999-04-09 1999-04-09 プロファイラ

Publications (1)

Publication Number Publication Date
JP2000293410A true JP2000293410A (ja) 2000-10-20

Family

ID=14352000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11103361A Pending JP2000293410A (ja) 1999-04-09 1999-04-09 プロファイラ

Country Status (1)

Country Link
JP (1) JP2000293410A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8326965B2 (en) 2001-05-03 2012-12-04 Hewlett-Packard Development Company, L.P. Method and apparatus to extract the health of a service from a host machine
JP2016085537A (ja) * 2014-10-23 2016-05-19 キヤノン株式会社 情報処理装置およびその制御方法、並びにプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8326965B2 (en) 2001-05-03 2012-12-04 Hewlett-Packard Development Company, L.P. Method and apparatus to extract the health of a service from a host machine
JP2016085537A (ja) * 2014-10-23 2016-05-19 キヤノン株式会社 情報処理装置およびその制御方法、並びにプログラム

Similar Documents

Publication Publication Date Title
JP2009129179A (ja) プログラム並列化支援装置およびプログラム並列化支援方法
JP2624753B2 (ja) 上位仕様書作成方法
US20060004528A1 (en) Apparatus and method for extracting similar source code
JPH08227349A (ja) 表示装置
JPH0683598A (ja) ジョブフロー仕様書自動作成方法
JP2000347894A (ja) ソースプログラムチェック装置およびそのプログラム記録媒体
JP3205406B2 (ja) 参照対象変数決定処理方法および翻訳処理システム
JP3828379B2 (ja) テスト仕様生成支援装置、方法、プログラム及び記録媒体
JPH09160949A (ja) ハードウエアとソフトウエアの混在システムの設計支援方法
JP2000293410A (ja) プロファイラ
JP5702265B2 (ja) プログラム自動生成装置およびプログラム自動生成方法
US7936356B2 (en) Information processing method for information registration, and information processing method for information retrieval
JP4996262B2 (ja) プログラム部品化支援装置
EP2587380A1 (en) Runtime environment and method for non-invasive monitoring of software applications
JPH0887417A (ja) コンパイラ装置
JPH1040112A (ja) 動的情報利用型プログラム最適化装置
JP3887550B2 (ja) クロスリファレンス構築装置、クロスリファレンス構築方法及びクロスリファレンス構築用プログラム
JP7513116B2 (ja) コールグラフ作成装置、コールグラフ作成方法及びプログラム
JPH10289102A (ja) プログラムのデータフロー解析装置
JPH1091651A (ja) 論理合成方法および論理合成装置
JPH09160743A (ja) 階層型メニューの自動作成方法
WO2021024791A1 (ja) 設計支援システム及び設計支援方法
JP3137071B2 (ja) プロファイラ用プログラム生成装置
JP2003036186A (ja) 別名検索装置、別名検索方法及び別名検索用プログラム
JP2003150215A (ja) 測定機器の制御用プログラム、測定機器および測定機器の制御用プログラムを記憶したコンピュータ読取可能な記憶媒体

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20021217