JPH02148231A - プログラム性能解析装置 - Google Patents

プログラム性能解析装置

Info

Publication number
JPH02148231A
JPH02148231A JP63302686A JP30268688A JPH02148231A JP H02148231 A JPH02148231 A JP H02148231A JP 63302686 A JP63302686 A JP 63302686A JP 30268688 A JP30268688 A JP 30268688A JP H02148231 A JPH02148231 A JP H02148231A
Authority
JP
Japan
Prior art keywords
program
routine
analyzed
registered
performance 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
JP63302686A
Other languages
English (en)
Inventor
Hikari Ishida
光 石田
Shigeharu Hirao
平尾 繁晴
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 JP63302686A priority Critical patent/JPH02148231A/ja
Publication of JPH02148231A publication Critical patent/JPH02148231A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、被解析プログラムにおけるルーチン実行の履
歴を知ることにより、該プログラムの性能解析を行うプ
ログラム性能解析装置に関する。
(従来の技術) 近年、プログラム開発の分野においては、新規に作成さ
れたプログラムの完成度や品質を確認するため、解析の
対象であるプログラム(以下、被解析プログラムと称す
)を模擬実行させて、各ルーチン毎のコール回数や命令
実行回数等を求めることにより、被解析プログラムの性
能を解析することが行われている。
従来からこのようなプログラム解析を行う装置としては
例えば次のようなものがある。
第3図はそのプログラム性能解析装置の主要部を示した
図である。
同図に示すように、この装置には、被解析プログラム中
における全てのルーチン名が登録されるルーチン名テー
ブル1と、被解析プログラムが記憶された所定領域上に
おける各ルーチンの先頭アドレスと最終アドレスが登録
されたルーチン区分テーブル2と、性能解析の単位とな
る各ルーチンの実行状況に関する情報、例えば被解析プ
ログラムにおける各ルーチン毎のコール回数や命令実行
回数等が登録される実行情報テーブル3とが備えられて
いる。
この装置における解析処理を実行する場合、第4図に示
すように、まずオペレータ自らの入力操作により、ルー
チン名テーブル1およびルーチン区分テーブル2に、そ
れぞれ被解析プログラムにおける全てのルーチン名と、
これらのルーチンの先頭アドレスと最終アドレスとを登
録しくステップa)、併せて実行情報テーブル3の内容
をクリアする(ステップb)。
次に被解析プログラムの実行に移るが、この装置では、
まずプログラム実行開始前においてこれから実行される
命令がどのルーチンに属するものかをルーチン区分テー
ブル2を参照して判断する(ステップC)。
この後、命令が実行されると(ステップd)、その命令
が属するものとして判断されたルーチン名に対応する実
行情報テーブル3の位置に命令の実行情報が登録される
(ステップe)。
こうして以上の動作を被解析プログラムの全ての命令の
実行が終了するまで行うことにより、実行情報テーブル
3に、被解析プログラムにおける各ルーチン毎のコール
回数、命令実行回数等が登録される。そしてこの実行情
報テーブル3の内容は必要に応じて読出され、表示装置
、プリンタ等を介して出力される。
(発明が解決しようとする課題) しかしながら、上述したようにこのプログラム性能解析
装置では、予めオペレータ自らの人力操作により、ルー
チン名テーブルとルーチン区分テーブルとのそれぞれに
プログラム性能解析の111位となる各ルーチンに関す
る情報を登録しておく必要があるため、オペレータに非
常に負担がかかり、しかも非能率的であるという問題が
あった。
本発明は従来のプログラム性能解析装置における課題を
解決するためのもので、被解析プログラムを単に実行さ
せるだけで自動的にそのプログラム性能解析の単位とな
る各ルーチンに関する情報を得ることができ、これによ
り極めて能率良くしかもオペレータに負担をかけずにプ
ログラムの性能解析を行うことのできるプログラム性能
解析装置の提供を目的としている。
[発明の構成コ (課題を解決するための手段) 本発明のプログラム性能解析装置は上記した1]的を達
成するために、被解析プログラムを模擬実行するプログ
ラム実行手段と、被解析プログラムにおける現在実行中
のルーチン名が登録されるスタックと、実行済みのルー
チン名が登録されるルーチン名テーブルと、このルーチ
ン名テーブルに登録された各ルーチン毎の実行状況に関
する情報が被解析プログラムの性能解析結果として登録
される実行情報テーブルと、被解析プログラムの実行に
伴ってスタック、ルーチン名テーブルおよび実行情報テ
ーブルを管理するスタック・テーブル管理手段とを具備
したものである。
(作 用) 本発明のプログラム性能解析装置では、プログラム実行
手段における被解析プログラムの実行に伴って、スタッ
ク・テーブル管理手段が、被解析プログラムにおける現
在実行中のルーチン名が登録されるスタック、実行済み
のルーチン名が登録されるルーチン名テーブル、および
ルーチン名テーブルに登録された各ルーチン毎の実行状
況に関する情報が被解析プログラムの性能解析結果とし
て登録される実行情報テーブルをそれぞれ管理するよう
にしたので、被解析プログラムを単に実行させるだけで
自動的に被解析プログラムの解析単位となる各ルーチン
に関する情報を得ることができ、これにより極めて能率
良くしかもオペレータに負担をかけずにプログラムの性
能解析を行うことができる。
(実施例) 以下本発明の実施例を図面を用いて説明する。
第1図は本発明の一実施例のプログラム性能解析装置の
構成を示すブロック図である。
同図に示すように、このプログラム性能解析装置は、被
解析プログラムが記憶されるプログラム記憶部11と、
このプログラム記憶部11に記憶された被解析プログラ
ムを模擬実行するプログラム実行部12と、被解析プロ
グラムにおける現在実行中のルーチン名が登録されるス
タック13と、実行経歴のあるルーチン名が登録される
ルーチン名テーブル14と、被解析プログラムにおける
各ルーチン毎の実行状況に関する情報、例えば被解析プ
ログラムにおける各ルーチン毎のコール回数や命令実行
回数等が登録される実行情報テーブル15と、被解析プ
ログラムの実行に伴ってスタック13、ルーチン名テー
ブル14、および実行情報テーブル15を管理するスタ
ック・テーブル管理部16とを備えて構成されている。
次にこの実施例装置における処理の流れを第2図のフロ
ーチャートを用いて説明するが、ここでスタック13と
ルーチン名テーブル14には、それぞれ各ルーチンの先
頭アドレスそのものが予めルーチン名として格納されて
いる。
まずプログラム実行部12において、被解析プログラム
におけるメインルーチンの先頭アドレスの命令を実行す
るにあたり、スタック・テーブル管理部16は、これか
ら実行される命令が属するルーチン名をスタック13に
格納するとともに、ルーチン名テーブル14にも同様に
そのルーチン名を登録しくステップA)、併せて実行情
報テブル15の内容をクリアする(ステップB)。
次に当該メインルーチンの先頭アドレスの命令が実行さ
れる(ステップC)。
この命令が実行されると、スタック・テーブル管理部1
6は、スタック13の最上位にセットされた情報から現
在実行されている命令がどのルーチンに属するものかを
判断し、そのルーチン名に対応する実行情報テーブル1
5に、当該ルーチンの実行情報を登録する(ステップD
)。
そしてこのメインルーチンに属する命令実行時の動作は
、ルーチンコール命令またはリターン命令の発生により
実行ルーチンが他のものと切換られるまで繰返し行われ
、その都度実行情報テーブル15における命令実行回数
の値が更新される。
この後、命令の杆類を判断するステップEにおいて、サ
ブルーチンのコール命令が判断されると、スタック・テ
ーブル管理部16は、そのサブルーチン名をスタック1
3の最上位にブツシュするとともに、ルーチン名テーブ
ル14にそのサブルーチン名を新規登録する(ステップ
F)。
なおこのルーチン名テーブル14へのルーチン名の登録
は、そのルーチンがこれまでにおいて未登録であった場
合に限られる。
この後、サブルーチンに属する命令が実行されると、ス
タック・テーブル管理部16は、上述した動作と同様に
スタック13の最上位にセットされているルーチン名を
調べ、そのルーチン名に対応する実行情報テーブル15
に当該ルーチンコール発生を示す情報を登録する。また
以降においてこのサブルーチンに属する命令が実行され
れば、その都度当該ルーチンの命令実行回数の値を1つ
ずつカウントアツプする(ステップD)。
その後、ステップEにおいて、ルーチンリターン命令が
判断されると、再びメインルーチンの実行に切換えられ
ることになるが、ルーチン名テーブル14には既にこの
メインルーチン名が登録されていることから、ルーチン
名テーブル14に対しては手を加えず、スタック13の
最上位のルーチン名をポツプすることで、その最上位の
ルーチン名をサブルーチンからメインルーチンに変更す
る(ステップG)。
そして再びメインルーチンに属する命令が実行されると
(ステップC)、そのメインルーチンに対応する実行情
報テーブル15に、2回目のルーチンコールの発生を示
す情報が登録されるとともに、命令実行回数を示す値が
更新される(ステップD)。
こうして実行情報テーブル15に蓄えられた各ルーチン
毎の実行情報は、被解析プログラムの性能解析結果とし
て読出され、例えば表示装置やプリンタ等を介して出力
される。
かくしてこの実施例のプログラム性能解析装置によれば
、被解析プログラムを単に実行させるだけで、自動的に
被解析プログラムの解析単位となる各ルーチンに関する
情報を得ることができる。
したがって、従来のように、予め各ルーチン毎のアドレ
ス情報z9を装置内部において構築する必要が無くなり
、オペレータの負担を大幅に低減化することができる。
なお、本発明は上述した実施例に限定されるものではな
く、本発明の要旨を変更しない範囲において種々の変形
例が考えられることは勿論である。
[発明の効果コ 以上説明したように本発明のプログラム性能解析装置に
よれば、被解析プログラムを単に実行させるだけで自動
的に被解析プログラムの解析単位となる各ルーチンに関
する情報を得ることができ、これにより極めて能率良く
しかもオペレータに負担をかけずにプログラムの性能解
析を行うことができる。
【図面の簡単な説明】
第1図は本発明の一実施例のプログラム性能解析装置の
構成を説明するためのブロック図、第2図は第1図のプ
ログラム性能解析装置における処理の流れを示すフロー
チャート、第3図は従来からのプログラム性能解析装置
において主要とする部分の構成を示す図、第4図は第3
図のプログラム性能解析装置における処理の流れを示す
フローチャートである。 12・・・プログラム実行部、13・・・スタック、1
4・・・ルーチン名テーブル、15・・・実行情報テー
ブル、16・・・スタック・テーブル管理部。 出願人     株式会社 東芝

Claims (1)

    【特許請求の範囲】
  1. (1)被解析プログラムを模擬実行するプログラム実行
    手段と、前記被解析プログラムにおける現在実行中のル
    ーチン名が登録されるスタックと、実行済みのルーチン
    名が登録されるルーチン名テーブルと、このルーチン名
    テーブルに登録された各ルーチン毎の実行状況に関する
    情報が前記被解析プログラムの性能解析結果として登録
    される実行情報テーブルと、前記被解析プログラムの実
    行に伴って前記スタック、ルーチン名テーブルおよび実
    行情報テーブルを管理するスタック・テーブル管理手段
    とを具備したことを特徴とするプログラム性能解析装置
JP63302686A 1988-11-30 1988-11-30 プログラム性能解析装置 Pending JPH02148231A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63302686A JPH02148231A (ja) 1988-11-30 1988-11-30 プログラム性能解析装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63302686A JPH02148231A (ja) 1988-11-30 1988-11-30 プログラム性能解析装置

Publications (1)

Publication Number Publication Date
JPH02148231A true JPH02148231A (ja) 1990-06-07

Family

ID=17911972

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63302686A Pending JPH02148231A (ja) 1988-11-30 1988-11-30 プログラム性能解析装置

Country Status (1)

Country Link
JP (1) JPH02148231A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200368A (ja) * 1993-12-29 1995-08-04 Nec Corp モジュール単位の性能情報管理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200368A (ja) * 1993-12-29 1995-08-04 Nec Corp モジュール単位の性能情報管理システム

Similar Documents

Publication Publication Date Title
KR930703642A (ko) 순서를 벗어난 작업 처리방법 및 장치
US5819024A (en) Fault analysis system
JPH02148231A (ja) プログラム性能解析装置
JPH02275539A (ja) デバッグ処理方式
JPH05113818A (ja) 多重プログラム機能を有する数値制御装置
JPH036704A (ja) 分散型制御システム
JPH11143743A (ja) メッセージ分類方法および装置
JPS62196742A (ja) メモリ常駐モジユ−ルのデ−タ収集方式
JPH064477A (ja) 副ロードモジュール置換方式
JPH0581221A (ja) 並列プログラム開発支援装置
JPH0468446A (ja) デバッグ支援装置
JPH0695910A (ja) 異常処理のための対話型デバッグ制御方式
JPH06250889A (ja) データ処理システムにおける障害処理方式
JPH03138726A (ja) ジョブ制御言語解析装置
JPH0362238A (ja) ファイル容量決定支援方式
JPH0520051A (ja) ソフトウエアコンバージヨン作業管理装置
JPH09223039A (ja) オンラインシステムのデバッグ装置
JPH02100146A (ja) トレース決定方式
JPH0243638A (ja) プログラムテスト用ドライバ
JPS6327774A (ja) アナログlsiテスト装置
JPH04344527A (ja) 入力コマンドパラメータ解析装置
JP2000196747A (ja) 交換機設備保守運用装置におけるコマンド実行方法及び交換機設備保守運用装置
JPH09107340A (ja) デフォルト接点制御方法
JPH064348A (ja) プログラムデバッグ方式
JPH01188957A (ja) プログラム例外処理方式