JPH03202927A - 選択されたソフトウエアの監視方法および装置 - Google Patents

選択されたソフトウエアの監視方法および装置

Info

Publication number
JPH03202927A
JPH03202927A JP2330987A JP33098790A JPH03202927A JP H03202927 A JPH03202927 A JP H03202927A JP 2330987 A JP2330987 A JP 2330987A JP 33098790 A JP33098790 A JP 33098790A JP H03202927 A JPH03202927 A JP H03202927A
Authority
JP
Japan
Prior art keywords
processor
data
identification
software
output bus
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.)
Granted
Application number
JP2330987A
Other languages
English (en)
Other versions
JPH0467219B2 (ja
Inventor
Raymond S Baumgartner
レイモンド・スコツト・バーガートナー
David A Bishop
デービツド・アビー・ビシヨツプ
John R Dyar
ジヨン・リチヤード・ダイア
Jr James D Henson
ジエームス・ダツト・ヘンソン、ジユニア
Kenneth M Herrington
ケニス・ミルトン・ヘリントン
Charles Lincoln Raby
チヤールス・リンカーン・ラビイ
Hadley Skelton Michael
マイケル・ハドレイ・スケルトン
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH03202927A publication Critical patent/JPH03202927A/ja
Publication of JPH0467219B2 publication Critical patent/JPH0467219B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware

Abstract

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

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、一般にソフトウェアの監視および開発に関す
るものであり、具体的にはソフトウェアの流れの詳細な
追跡を可能にするソフトウェアの監視および開発に関す
るものである。さらに具体的には、本発明は、長時間に
わたって大量のパフォーマンス追跡データを連続して記
録することのできるソフトウェアの監視および開発に関
するものである。
B、従来の技術 ソフトウェア・アプリケージロンの監視および開発は常
に、困難な技術的課題であった。既知のソフトウェアに
基づく「追跡」技法には通常、プロセッサ使用期間と出
力バス空間に関し多額の経費が必然的に伴っている。そ
の結果、実際のところ、開発中のソフトウェア・アプリ
ケーションのパフォーマンスを動作環境で監視すると、
ソフトウェアに基づく追跡プログラムの処理要件のため
に、性能の重大な低下を伴わざるを得ない。
また、第1世代のプロセッサを監視装置として利用して
、第2世代のプロセッサ用のソフトウェア・アプリケー
ションの開発を監視するのは、特に困難である。ハード
ウェアに基づく既存のソフトウェアの監視および開発の
技法に伴う既知の問題は、ハードウェアに基づく既存の
監視システムが、大量のパフォーマンス追跡データを数
秒以上にわたって連続して記録できないことである。そ
の後は、このような装置の記憶バッファが満杯になり、
監視システムは、重ね書きするか、ラップ・アラウンド
するか、記録を停止するかしなければならない。
したがって、開発中のソフトウェア・アプリケーション
の性能に悪影響を与えずに、大量のパフォーマンス追跡
データを連続して記録できる、ソフトウェア・アプリケ
ージ日ンの監視および開発のシステムが明らかに求めら
れている。
C0発明が解決しようとする課題 本発明の1つの目的は、ソフトウェアの監視および開発
のための改良された方法および装置を提供することであ
る。
本発明のもう1つの目的は、ソフトウェアの流れの詳細
な追跡が可能な、ソフトウェアの監視および開発のため
の改良された方法および装置を提供することである。
本発明のもう1つの目的は、長時間にわたって大量ノパ
フォーマンス追跡データを連続して記録でき、ソフトウ
ェアの流れの詳細な追跡が可能な、ソフトウェアの監視
および開発のための改良された方法および装置を提供す
ることである。
00課題を解決するための手段 前述の目的は、以下に述べる方法で達成される。
本発明の方法および装置は、開発中のソフトウェア・ア
プリケーションに挿入される、限られた個数の一義的に
識別可能な要素または「フック」を利用するものである
。アプリケーションの処理中にこのような要素に出会う
たびに、その要素の識別及び選択されたデータ・フレー
ムが、開発中のアプリケーションを実行しているプロセ
ッサの出力バスに供給される。出力バスに結合されたデ
ータ出力カードを利用して、専用ケーブルを介して、デ
ータ収集カードにその情報を供給する。収集カードを利
用して、「ヘッダ」または識別データ・バイトを生成し
、出会った各要素の識別とそれに関連するデータ・フレ
ーム及び時刻の値を第2のプロセッサに転送し、第2の
プロセッサを利用してそのデータを記録する。本発明の
1実施例では、収集カード内でバンク切替式メモリ・シ
ステムを用いて、高速のデータ記憶を可能にする。開発
中のソフトウェア・アプリケーションが、収集カード内
で正確に受は入れできるよりも高い速度で監視出力を生
成する場合、オーバーランの指示が記憶されるので、後
続のテストは、開発中のアプリケ−シロン内の「フック
」を減らして実行できる。
E、実施例 図面、特に第1図を参照すると、本発明の方法を実施す
るために利用できるシステムが示されている。図のよう
に、このシステムは、開発中のソフトウェア・アプリケ
ーションを動作させるために用いる第1プロセッサ10
を含む。通常、新しいソフトウェア・アプリケーション
の場合、新規アプリケーションの開発の大部分は、新世
代のブロセ、すのために行なわれる。たとえば、第1プ
ロセッサ10は、インターナシミナル・ビジネス・マシ
ーンズ・フーポレーシ8ン製のPS/2パーソナル・コ
ンピュータなどの新しいパーソナル・コンピュータでよ
い。第1プロセッサ10には、従来技術で周知の方式で
デイスプレィ12およびキーボード14が付随している
。第1プロセッサ10に付随して出力バス16が概略的
に示されている。当業者なら認めるように、PS72パ
ーソナル・コンピュータの場合、出力バス16 i;!
 16ビツトのデータ・バスからなる。
本発明の重要な1様態によれば、データ出力カード18
は、パーソナル・コンピュータ技術で一般に提供される
拡張スロットまたはその他のコネクタ手段を介して、出
力バス16に結合されている。
本発明の方法では、データ出力カード18を利用して、
第1プロセッサ10内の開発中のソフトウェア・アプリ
ケーションの監視に関する選択された情報を、専用ケー
ブル20を介してデータ収集カード22に供給する。
次に、本発明の重要な特徴によれば、データ収集カード
22を利用して、データのヘッダまたは識別フレームを
開発中のソフトウェア・アプリケーションの監視に関す
る情報の各フレームならびに時間タグと関連付けて、開
発中のソフトウェア・アプリケーションの時間順の分析
を可能にする。
次に、第1プロセッサ10内の開発中のソフトウェア・
アプリケーションを監視するために利用される各データ
・フレームが、入出力バス24を介して第2プロセッサ
26に供給される。第2プロセッサ26は、パーンナル
・コンピュータであることが好ましく、通常は、そのた
めの新しいソフトウェア・アプリケージ廖ンが一般に開
発される第2世代のマシンよりも旧式のコンピュータで
ある。たとえば、第1プロセッサ10のためのソフトウ
ェア・アプリケーシヨンを開発中で、第1プロセッサ1
0がPS/2パーソナル・コンピュータからなる場合、
第2プロセッサ26は通常、インターナシ−ナル・ビジ
ネス・マシーンズ・コーポレーシ曹ン製のPC−ATシ
コンュータなどのパーソナル・コンピュータを用いて実
施される。
また、第2プロセッサ26は一般に、従来技術で周知の
方式でデイスプレィ28およびキーボード30を含む。
また、本発明の1様態によれば、第2プロセッサ26に
は、第1プロセッサ10内のソフトウェア・アプリケー
ジ1ンの開発に関する複数のデータ・フレームを記憶す
るために利用できる、磁気ディスク装置32が付随して
いる。
第2図を参照すると、本発明のソフトウェア監視方法の
概略図が示されている。第2図のいくつかの要素は、わ
かりやすいように概略的に示しであるが、第1図の要素
に対応する参照番号を付けである。図かられかるように
、第2図には第1プロセッサ10内に常駐する開発ソフ
トウェア100が含まれている。本発明のこの図の実施
例では、開発ソフトウェア100は、アプリケーション
・ソフトウェア102およびシステム・ソフトウェア1
04の双方を含む。図のように、アプリケ−シーン・ソ
フトウェア102を実行する際、このソフトウェアの処
理で結局はステップrCALLAAJに出会う。その後
、矢印106で示すように、このシステム・ソフトウェ
アの一部分を参照すると、プログラム・モジュールAA
が開始する。
本発明の方法によれば、この時点で、一義的に識別可能
な要素または「フック」がソフトウェア内で位置決めさ
れる。この特定のフックを、rAASTARTJと呼ぶ
。本発明の方法では、その後、この特定のフックと共に
出力されるように事前選択されたデータ・フレーム(H
OOK  DATA)と共に、そのフックの識別(HO
OK  I D)が出力バスに書き込まれる。次にこの
データは、矢印108で示すように、出力バス16を介
してデータ出力カード18に書き込まれる。
次に、モジュールAA内に含まれるソフトウェア・アプ
リケーションが、このモジュールの終りに出会うまで実
行を継続する。本発明のこの図の実施例によれば、その
後、第2のフックrAAENDJに出会う。この第2の
フックに出会うと、矢印110で示すように、フック識
別とそれに関連するデータが、出力バスエ6を介してデ
ータ出力カード18に書き込まれる。その後、矢印11
2で示すように、ソフトウェア・モジュールAAは終了
し、アプリケージ1ン・ソフトウェア102に戻る。
図の例によれば、アプリケ−シロン・ソフトウェア10
2の処理を継続すると、結局は第3のフック「BB 5
TART」に出会う。その後、上記の例と同じく、矢印
114で示すように、このフックに出会った結果、フッ
ク識別と当該のデータ・フレームが、出力バス16を介
してデータ出力カードI8に書き込まれる。最後に、ア
プリケーション・ソフトウェア102のこの部分の末尾
に加えられたフックrBB  ENDJに出会い、矢印
116で示すように、これも同様に出力バス18を介し
てデータ出力カード18に書き込まれる。
さらに第2図を参照すると、データ出力カード18の内
容が、概略図の形で示されている。図のように、ID/
データ・フレーム118.1201122および124
が、データ出力カード18内に示されている。これらの
ID/データ・フレームは、出力バス16からデータ出
力カード18を経て、専用ケーブル20を介してデータ
収集カード22に供給することが好ましい。したがって
、本発明の方法を利用することによって、それぞれが開
発中のソフトウェア・アプリケーション内のフック要素
の識別と、その時点でのソフトウェア・アプリケーショ
ンのパフォーマンスの具体的な詳細を識別する所定のデ
ータ・フレームとを含む、複数のデータ・フレームの生
成が可能なことは明白である。
その後、これらのデータ・フレームはそれぞれ、データ
収集カード22に供給され、そこでデータ出力カード1
8から出力された各データ・フレームに対するタグ付き
データ・フレーム126が生成される。図のように、タ
グ付きデータ・フレーム126は、当該の特定のフレー
ムを識別するヘッダまたはフマンド・バイトを含むこと
が好ましい。
次に、ID/データ・フレーム118.1201122
および124に関して論じたように、タグ付きデータ・
フレーム126は、当該の特定のフックの識別と、それ
に関連するデータ・フレームを含んでいる。最後に、本
発明の重要な様態によれば、各タグ付きデータ・フレー
ム126は、時間タグを含むことが好ましい。この時間
タグは、開発中のアプリケージaン・プログラム内のそ
のプロセスに出会った時間的順序を確認するために利用
できる。
最後に、入出力バス24を利用して、データ収集カード
22からの複数のタグ付きデータ・フレームを第2プロ
セッサ26に供給する。この時点で、様々なデータ収集
およびレポート生成のソフトウェア・パッケージを利用
して、記憶済みの多くのタグ付きデータ・フレームから
生成されるレポートを構成して出力することができ、そ
れによって開発中のソフトウェア・アプリケージ日ンの
正確な監視が可能になる。
次に第3図を参照すると、本発明の方法で利用できるデ
ータ出力カード18の、−膜化されたブロック図が示さ
れている。第3図は、本発明の方法を実施するために利
用できる回路の一例を一般的に表現することを意図した
ものである。
図かられかるように、データ出力カード18は、出力バ
ス16と専用ケーブル20の間に結合されている。第1
プロセッサ10がPS/2パーソナル・コンピュータか
らなる場合、出力バス16は、第1プロセッサ10内の
プロセッサによって書き込まれる16本のデータ線を含
む。図のように、本発明のこの実施例では、データ線D
o−D7は、ラッチ34および36に結合されており、
データ線D8−D15は、ラッチ38および40に結合
されている。これらのラッチを選択的にエネーブルする
ことによって、出力バス16から供給されたデータを一
時的に記憶し、その後そのデータをデータ・ドライバ4
2を介して、出力線に供給することが可能になる。この
出力線は、後でより詳細に説明するようにして、専用ケ
ーブル20を介してデータ収集カード22に結合される
また、出力バス16には、プログラマブル・オプシFン
選択ID回路(PO5ID)46およびプログラマブル
・オブシaン選択回路(POSオプション選択回路)4
8も結合されている。これらの回路は、PS/2パーソ
ナル・コンピュータに関連する当技術分野で周知の方式
で、出力バス16に結合されている各周辺回路カードま
たはデバイスのアドレスおよび識別の指示をプロセッサ
に自動的に与えるために用いられる。アドレス・デコー
ド回路50を利用して、データ出力カードエ8に供給さ
れたアドレス・バイトをデコードすることが好ましい。
制御論理回路/状態シーケンサ54は、プログラマブル
・アレイ論理機構を利用して実施することが好ましく、
これを利用して、ラッチ34.36.38.40の動作
を制御するLATO,LAT  1、LAT  2、L
AT  3などの制御信号を発生する。さらに、図3に
示す実施例では、制御論理回路/状態シーケンサ54を
利用して、長さフラグ回路56を介してフック長フラグ
をセットする。フック長フラグは、第1プロセッサ10
から出力されているデータが、2バイトのデータまたは
4バイトのデータからなっているのか否かを示すために
利用される。
上述した本発明の重要な様態によれば、いくつかの一義
的に識別可能な要素または「フック」をソフトウェア・
アプリケージ画ン内に押入し、これを用いて、開発中の
ソフトウェア・アプリケージ「ンのパフォーマンスを追
跡する。本発明のこの図の実施例では、この情報は2バ
イトまたは4バイトのデータからなり、この情報は、長
さフラグ回路56から専用ケーブル20を介してデータ
収集カード22に供給される。
図4に関して後で説明するようにして、データ収集カー
ド22がこれらの信号を利用して、制御信号LSOおよ
びLSIを発生する。これらの信号は、ラッチ34.3
B、38および40の出力を順次エネーブルするためデ
マルチプレクサ44に供給される。最後に、FIR8T
フラグ回路58を利用して、各フック内の最初のデータ
・フレームを識別するための信号を発生する。この信号
は、専用ケーブル20を介してデータ収集カード22に
供給される。ソフトウェア・アプリケージ1ン監視デー
タの転送中に割込みその他の中断が発生した場合に起こ
り得る混乱を防ぐため、これを利用することが好ましい
次に第4図を参照すると、本発明の方法で利用できるデ
ータ収集カード22の一般化されたブロック図が示され
ている。図のように、データ出力カード18から専用ケ
ーブル20を介して供給されたデータが、8ビツト・デ
ータ・ラッチ60を介してデータ(DATA)線98に
供給される。本発明の方法によれば、このデータは、こ
の図に開示されている回路に類似の回路を利用して処理
することができる。
制御回路62は、標準TTL論理回路を用いて実施する
ことが好ましく、本発明の方法によるソフトウェア・ア
プリケーションの監視および開発技法を実施しようと試
みる者が所望する手法に適応するように、変更すること
ができる。図のように、制御回路62を利用して、制御
信号LSOおよびLSIを発生する。これらの信号は、
データ出力カードの制御論理回路/状態シーケンサ54
の生成するHALF  HOOK信号またはFULL 
 HOOK信号に応答して、デマルチプレクサ44(図
3参照)を動作させる。
また、制御回路62は、データ収集カード22内のメモ
リ・デバイスがデータ出力カード18から生成されたデ
ータを速やかに記憶できるのに十分な周波数で動作する
、発振器64の出力をエネーブルすることが好ましい。
図の実施例では、8メガヘルツの発振器64を用いてい
る。次に、発振器64の出力が、クロック回路66に供
給される。
クロック回路66は、発振器64から出力されたパルス
を同期させる、システム・クロック信号を供給する働き
をする。次にこのクロック信号が、状態シーケンサ68
およびアドレス・カウンタ78に供給され、データ収集
カード22内の動作が正確に順序付けできるようになる
状態シーケンサ68と共に、16ビツト・タイマ70お
よびコマンド・バイト回路72を利用して、時間タグお
よびコマンド・ヘッダ・データ・フレームを生成する。
これらは、後でデータ線98に供給されてタグ付きデー
タ・フレーム126(図2参照)を形成する。
次に、本発明の重要な1特徴によれば、データ収集カー
ド22は、バンク切替式メモリ・システムを利用して、
データ出力カード18から出力されたデータを高速で記
憶できるようにすることが好ましい。新世代プロセッサ
用のソフトウェア・アプリケ−ジーンの開発および監視
が、しばしば旧世代マシンを用いて行なわれ、使用する
プロセッサ同士の速度が異なるため、この監視プロセス
中に収集されたデータをできる限り速く記憶することが
是非とも必要であるという事実を考慮すれば、このこと
は特に重要である。
第4図のデータ収集カード22内に示された実施例によ
れば、本発明では、別々の2つのメモリ、すなわちバッ
ファ74とバッファ76を利用している。7既知のバン
ク切替式メモリ技法と同様に、データ線98からのデー
タ入力は、Aデータ・ドライバ90を介してバッファ7
4に、またはBデータ・ドライバ94を介してバッファ
76に供給することが好ましい。それと同時に、第2プ
ロセッサ26からの13ビツト・アドレス信号が、入出
力バス24を経てアドレス(ADDRESS)線80を
介してデータ収集カード22に供給される。
このアドレス情報は次に、Bアドレス・ドライバ88に
よってバッファ74に、またはAアドレス・ドライバ8
4によってバッファ76に供給される。
アドレス・カウンタ78を利用して、当技術分野で周知
の方式で、これらのアドレスを増分し、増分されたアド
レスを、Aアドレス・ドライバ82を介してバッファ7
4に、またはBアドレス・ドライバ86を介してバッフ
ァ76に供給する。
本発明のデータ収集カード22は、バンク切替式メモリ
・ストレージ技法でバッファ74およびバッファ76を
利用する。すなわち、Bデータ・ドライバ94がエネー
ブルされていない間に、データがデータ線98およびA
データ・ドライバ90を介してバッファ74に供給され
る。データがバッファ74に入力されている間、以前に
バッファ76に入力されたデータは、Bデータ・ドライ
バ96が非動作状態である間に入出力バス24を介して
Aデータ・ドライバ92を用いて第2プロセッサ26に
供給される。
逆に、バッファ74が満杯になった後、データはBデー
タ・ドライバ94を介してバッファ76に供給され、そ
の間に以前に記憶されたデータは、Bデータ・ドライバ
96を介してバッファ74から外へ出される。こうして
、一方のバッファが必ず満たされていき、それと同時に
、もう一方のバッファが空になっていく。この特定の技
法により、現在の最新のプロセッサが通常の約2倍の速
度でデータを受は取ることが可能になり、したがって、
本発明のソフトウェアの監視および開発システムで、長
時間にわたって非常に詳細な追跡情報を連続して記録で
きるようになる。
最後に、図5を参照すると、本発明の方法による監視デ
ータの収集を示す論理流れ図が示されている。図のよう
に、処理は、ブロック130から始まり、その後ブロッ
ク132に進んで、データ収集カード22(第4図参照
)内のバッファにデータを記憶する。次に、ブロック1
34で、現在使用されているバッファが満杯であるか否
か判定し、満杯でなければ、ブロック132に戻って、
追加のデータをそのバッファに記憶する。
ブロック134で現在使用しているバッファが満杯であ
ると判定された場合は、ブロック138で、データ収集
カード22のバンク切替式メモリ・システム内の第2バ
ツフアに切り替える。次に、満杯のバッファ内に保持さ
れているデータが、第4図に関して上述した方法で、第
2プロセッサ26内のメモリに出力される。その後、ブ
ロック140で、追加のデータを受は取っているか否か
を判定し、そうである場合は、ブロック132に戻って
、バッファ内に追加のデータを記憶する。追加のデータ
を受は取っていない場合は、ブロック142で、処理が
終了する。
以上の記述を参照すれば、本発明者が、既知の以前のソ
フトウェアの監視および開発の技法のあらゆる欠点を伴
わないソフトウェアの監視および開発システムを創作し
たことを当業者なら了解されよう。開発中のソフトウェ
アを最小限の数の一義的に識別可能な要素または「フッ
クjと共にロードし、それらのフックに出会うと、各フ
ックに関連する所定のデータ・フレームを出力すること
により、既知のソフトウェアに基づく監視および開発シ
ステムに必要であったプロセッサ・オーバヘッドおよび
出力バス空間が不要になる。
次に、これらのデータ゛・フレームを第2プロセッサに
高速転送することにより、既知のハードウェアに基づく
ソフトウェアの監視および開発技法に付随する問題が回
避される。そうすると、第2プロセッサによって、特定
のフックに関連する各データ・フレームの分析およびタ
グ付けを、「オフライン」で行なうことができ、第1世
代プロセッサと第2世代プロセッサの速度が異なっても
、開発中のソフトウェア・アプリケーションから集めら
れたデータに大きなギャップを発生することはない。
F9発明の効果 使用中のプロセッサに過度の負荷を与えることなく、ま
たハードウェア監視アプリケージeン用の高度に洗練さ
れた高速プロセッサを必要とすることもなしに、開発中
のソフトウェア・アプリケーションの長時間にわたる非
常に詳細な追跡が可能になる。
【図面の簡単な説明】
第1図は、本発明の一方法を実施するために利用できる
システムの図である。 第2図は、本発明のソフトウェア監視方法の概略図であ
る。 第3図は、本発明の方法と共に利用できるデータ出力カ
ードの一般化されたブロック図である。 第4図は、本発明の方法と共に利用できるデータ収集カ
ードの一般化されたブロック図である。 第5図は、本発明の方法による監視データ収集を示す、
論理の流れ図である。 10・・・・第1プロセッサ、16・・・・出力バス、
18・・・・データ出力カード、20・・・・専用ケー
ブル、22・・・・データ収集カード、24・・・・入
出力バス、26・・・・第2プロセッサ、54・・・・
制御論理回路/状態シーケンサ、74・・・・バッファ
1.78・・・・バッファ2.82.84.90.92
・・・・Aアドレス・ドライバ、86.88.94.9
S・・・・Bアドレス・ドライバ、100・・・・開発
ソフトウェア、126・・・・タグ付きデータ・フレー
ム。

Claims (13)

    【特許請求の範囲】
  1. (1)出力バスを有する第1プロセッサ内で選択された
    ソフトウェア・アプリケーションのパフォーマンスを監
    視する方法であって、 一義的に識別可能な限られた数の要素を、前記の選択さ
    れたソフトウェア・アプリケーション内の選択された位
    置に関連付けるステップと、前記第1プロセッサ内の前
    記ソフトウェア・アプリケーションを処理するステップ
    と、 前記の選択されたソフトウェア・アプリケーションの処
    理中に一義的に識別可能な前記の要素と出会ったことに
    応答して、一義的に識別可能な前記の各要素の識別を、
    選択されたデータ・フレームと共に、自動的に前記出力
    バスに供給するステップと を含むことを特徴とする選択されたソフトウェアの監視
    方法。
  2. (2)さらに、メモリ手段を伴う第2プロセッサを前記
    の出力バスに結合し、前記識別および前記の選択された
    データ・フレームのそれぞれを、前記第2プロセッサに
    付随する前記メモリ手段に記憶するステップを含むこと
    を特徴とする、請求項1に記載の、選択されたソフトウ
    ェアの監視方法。
  3. (3)さらに、前記識別および前記の選択されたデータ
    ・フレームのそれぞれを記憶する前に、それらに時間値
    を関連付けるステップを含むことを特徴とする、請求項
    2に記載の、選択されたソフトウェアの監視方法。
  4. (4)さらに、前記識別および前記の選択されたデータ
    ・フレームのそれぞれを記憶する前に、それらに識別用
    ヘッダ・フレームを関連付けるステップを含むことを特
    徴とする、請求項3に記載の、選択されたソフトウェア
    の監視方法。
  5. (5)さらに、前記識別および前記の選択されたデータ
    ・フレームが、前記識別および前記の選択されたデータ
    ・フレームを記憶できる速度を越える速度で前記出力バ
    スに供給される場合に、前記第2プロセッサに付随する
    前記メモリ手段にオーバーラン指示を記憶するステップ
    を含むことを特徴とする、請求項2に記載の、選択され
    たソフトウェアの監視方法。
  6. (6)出力バスを有する第1プロセッサ内での選択され
    たソフトウェア・アプリケーションのパフォーマンスを
    監視するシステムであって、 一義的に識別可能な限られた数の要素を、前記の選択さ
    れたソフトウェア・アプリケーション内の選択された位
    置に関連付ける手段と、 前記の選択されたソフトウェア・アプリケーションの処
    理中に一義的に識別可能な前記の要素と出会ったことに
    応答して、一義的に識別可能な前記の各要素の識別を、
    選択されたデータ・フレームと共に自動的に前記出力バ
    スに供給する手段と、メモリ手段を伴う第2プロセッサ
    と、 前記識別および前記の選択されたデータ・フレームを、
    前記第2プロセッサに付随する前記メモリ手段に記憶す
    るために、前記第2プロセッサに供給する手段と を含むことを特徴とする選択されたソフトウェアの監視
    システム。
  7. (7)さらに、前記識別および前記の選択されたデータ
    ・フレームのそれぞれを記憶する前に、それらに時間値
    を関連付ける手段を含むことを特徴とする、請求項6に
    記載の、選択されたソフトウェアの監視システム。
  8. (8)さらに、前記識別および前記の選択されたデータ
    ・フレームが、前記識別および前記の選択されたデータ
    ・フレームを記憶できる速度を越える速度で前記メモリ
    手段に供給される場合に、前記第2プロセッサに付随す
    る前記メモリ手段にオーバーラン指示を記憶する手段を
    含むことを特徴とする、請求項7に記載の、選択された
    ソフトウェアの監視システム。
  9. (9)前記第2プロセッサに付随する前記メモリ手段が
    、バンク切替式メモリ装置を含むことを特徴とする、請
    求項7に記載の、選択されたソフトウェアの監視システ
    ム。
  10. (10)さらに、前記第2プロセッサに結合された磁気
    ディスク装置手段を含むことを特徴とする、請求項9に
    記載の、選択されたソフトウェアの監視システム。
  11. (11)前記識別および前記の選択されたデータ・フレ
    ームを前記第2プロセッサに供給する前記手段が、前記
    第1プロセッサの前記出力バスに結合されたデータ出力
    カードを含むことを特徴とする、請求項6に記載の、選
    択されたソフトウェアの監視システム。
  12. (12)前記識別および前記の選択されたデータ・フレ
    ームを前記第2プロセッサに供給する前記手段が、専用
    ケーブルを用いて前記データ出力カードに結合されたデ
    ータ収集カードを含むことを特徴とする、請求項11に
    記載の、選択されたソフトウェアの監視システム。
  13. (13)前記第2プロセッサが入出力バスを含み、前記
    データ収集カードが前記入出力バスに結合されているこ
    とを特徴とする、請求項11に記載の、選択されたソフ
    トウェアの監視システム。
JP2330987A 1989-12-27 1990-11-30 選択されたソフトウエアの監視方法および装置 Granted JPH03202927A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/458,045 US5121501A (en) 1989-12-27 1989-12-27 First processor inserting hooks into software and sending unique identifications to output bus and second processor associating data frames and time with these unique identifications
US458045 1989-12-27

Publications (2)

Publication Number Publication Date
JPH03202927A true JPH03202927A (ja) 1991-09-04
JPH0467219B2 JPH0467219B2 (ja) 1992-10-27

Family

ID=23819136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2330987A Granted JPH03202927A (ja) 1989-12-27 1990-11-30 選択されたソフトウエアの監視方法および装置

Country Status (4)

Country Link
US (1) US5121501A (ja)
EP (1) EP0435499B1 (ja)
JP (1) JPH03202927A (ja)
DE (1) DE69028190T2 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297274A (en) * 1991-04-15 1994-03-22 International Business Machines Corporation Performance analysis of program in multithread OS by creating concurrently running thread generating breakpoint interrupts to active tracing monitor
US5333304A (en) * 1991-05-03 1994-07-26 International Business Machines Corporation Method and apparatus for software application evaluation utilizing compiler applications
US5265254A (en) * 1991-08-14 1993-11-23 Hewlett-Packard Company System of debugging software through use of code markers inserted into spaces in the source code during and after compilation
US5450586A (en) * 1991-08-14 1995-09-12 Hewlett-Packard Company System for analyzing and debugging embedded software through dynamic and interactive use of code markers
US5369770A (en) * 1992-11-02 1994-11-29 Microsoft Corporation Standardized protected-mode interrupt manager
US5452457A (en) * 1993-01-29 1995-09-19 International Business Machines Corporation Program construct and methods/systems for optimizing assembled code for execution
US5442740A (en) * 1993-07-13 1995-08-15 International Business Machines Corporation Method and apparatus for visual display of program performance trace data
GB9320052D0 (en) * 1993-09-29 1993-11-17 Philips Electronics Uk Ltd Testing and monitoring of programmed devices
DE69518996T2 (de) * 1994-04-26 2001-03-29 Sun Microsystems Inc Verfahren und Vorrichtung zur selbstbeschreibenden Datenkodierung
US5642478A (en) * 1994-12-29 1997-06-24 International Business Machines Corporation Distributed trace data acquisition system
US5872909A (en) * 1995-01-24 1999-02-16 Wind River Systems, Inc. Logic analyzer for software
EP0830611A4 (en) * 1995-06-02 2007-05-09 Cisco Systems Inc TELECONTROL OF COMPUTER PROGRAMS
US5778169A (en) * 1995-08-07 1998-07-07 Synopsys, Inc. Computer system having improved regression testing
US5748878A (en) * 1995-09-11 1998-05-05 Applied Microsystems, Inc. Method and apparatus for analyzing software executed in embedded systems
US5949972A (en) * 1996-08-23 1999-09-07 Compuware Corporation System for memory error checking in an executable
US6106571A (en) * 1998-01-29 2000-08-22 Applied Microsystems Corporation Relocatable instrumentation tags for testing and debugging a computer program
US6708180B1 (en) 1998-08-14 2004-03-16 International Business Machines Corporation Method and apparatus for runtime remediation of object-code instructions in a computer program
US6336184B1 (en) 1998-08-14 2002-01-01 International Business Machines Corporation Method and apparatus for performing a trap operation in an information handling system
US6973417B1 (en) 1999-11-05 2005-12-06 Metrowerks Corporation Method and system for simulating execution of a target program in a simulated target system
US7093234B2 (en) * 2001-08-24 2006-08-15 International Business Machines Corporation Dynamic CPU usage profiling and function call tracing
US6983453B2 (en) * 2001-08-30 2006-01-03 International Business Machines Corporation Method and system for obtaining performance data from software compiled with or without trace hooks
US8271955B1 (en) 2004-07-23 2012-09-18 Green Hille Software, Inc. Forward post-execution software debugger
US7653899B1 (en) 2004-07-23 2010-01-26 Green Hills Software, Inc. Post-execution software debugger with performance display
US8015552B1 (en) 2004-07-23 2011-09-06 Green Hills Software, Inc. Post-execution software debugger with coverage display
US8132159B1 (en) 2004-07-23 2012-03-06 Green Hills Software, Inc. Post-execution software debugger with event display
US8136096B1 (en) 2004-07-23 2012-03-13 Green Hills Software, Inc. Backward post-execution software debugger
US9122473B2 (en) * 2010-11-26 2015-09-01 Mitsubishi Electric Corporation Program generating device, program generating program, and program generating method
US10365995B2 (en) * 2015-08-04 2019-07-30 Entit Software Llc Composing future application tests including test action data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57157362A (en) * 1981-03-25 1982-09-28 Hitachi Ltd Method and apparatus of execution path career data pickup for architecture program
JPS5816356A (ja) * 1981-07-20 1983-01-31 Nec Corp コンピユ−タインストラクシヨン実行時間測定装置
JPS63282539A (ja) * 1987-05-13 1988-11-18 Nec Corp プログラム任意区間のcpu時間測定方式

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4445192A (en) * 1980-11-25 1984-04-24 Hewlett-Packard Company Logic state analyzer with time and event count measurement between states
US4435759A (en) * 1981-06-15 1984-03-06 International Business Machines Corporation Hardware monitor for obtaining processor software/hardware interrelationships
US4442491A (en) * 1981-06-23 1984-04-10 General Dynamics Corporation Training evaluation process
US4574351A (en) * 1983-03-03 1986-03-04 International Business Machines Corporation Apparatus for compressing and buffering data
US4636940A (en) * 1983-03-31 1987-01-13 Hewlett-Packard Company Logic analyzer using source program or other user defined symbols in the trace specification and the trace listing
US4660145A (en) * 1984-02-03 1987-04-21 Sundstrad Data Control, Inc. System for compressing aircraft flight data utilizing a multilevel time format
US4651298A (en) * 1984-05-30 1987-03-17 The United States Of America As Represented By The Secretary Of The Air Force Selection of data from busses for test
US4937740A (en) * 1985-09-18 1990-06-26 Cadre Technologies, Inc. Real time software analyzing system for storing selective m-bit addresses based upon correspondingly generated n-bit tags
US4807282A (en) * 1985-12-30 1989-02-21 International Business Machines Corp. Programmable P/C compatible communications card
US5051944A (en) * 1986-04-17 1991-09-24 Ncr Corporation Computer address analyzer having a counter and memory locations each storing count value indicating occurrence of corresponding memory address
US4821178A (en) * 1986-08-15 1989-04-11 International Business Machines Corporation Internal performance monitoring by event sampling
US4797881A (en) * 1987-03-12 1989-01-10 Sytek, Inc. Bridge system for connecting networks
US4827411A (en) * 1987-06-15 1989-05-02 International Business Machines Corporation Method of maintaining a topology database

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57157362A (en) * 1981-03-25 1982-09-28 Hitachi Ltd Method and apparatus of execution path career data pickup for architecture program
JPS5816356A (ja) * 1981-07-20 1983-01-31 Nec Corp コンピユ−タインストラクシヨン実行時間測定装置
JPS63282539A (ja) * 1987-05-13 1988-11-18 Nec Corp プログラム任意区間のcpu時間測定方式

Also Published As

Publication number Publication date
EP0435499A2 (en) 1991-07-03
EP0435499A3 (en) 1992-06-17
DE69028190D1 (de) 1996-09-26
JPH0467219B2 (ja) 1992-10-27
US5121501A (en) 1992-06-09
DE69028190T2 (de) 1997-02-06
EP0435499B1 (en) 1996-08-21

Similar Documents

Publication Publication Date Title
JPH03202927A (ja) 選択されたソフトウエアの監視方法および装置
EP0528585B1 (en) Data processing system with internal instruction cache
US4276595A (en) Microinstruction storage units employing partial address generators
US6173353B1 (en) Method and apparatus for dual bus memory transactions
EP1196842B1 (en) Method and apparatus for combining a plurality of memory access transactions
US7085900B2 (en) Backup technique for data stored on multiple storage devices
JP2776602B2 (ja) 試験システムおよび命令実行シーケンス判定方法
US6047353A (en) Method and apparatus for monitoring of host activities relating to an attached storage device
EP0165517A2 (en) Emulator for non-fixed instruction set VLSI devices
CA1080365A (en) Data security system employing automatic time stamping mechanism
JPH055136B2 (ja)
US5537582A (en) Bus interface circuitry for synchronizing central processors running at multiple clock frequencies to other computer system circuitry
US4348721A (en) System for selectively addressing nested link return addresses in a microcontroller
KR940011594B1 (ko) 공유 제어 기억부를 가진 멀티프로세서 제어기 및 그 동기화 방법
US4339795A (en) Microcontroller for controlling byte transfers between two external interfaces
US4339796A (en) System for generating a plurality of different addresses for a working memory of a microcontroller during execution of certain instructions
US4339797A (en) Microcontroller with auxiliary register for duplicating storage of data in one memory location
GB2325764A (en) Layering cache and architectural-specific functions to permit generic interface definition
EP0301707A2 (en) Apparatus and method for providing an extended processing environment on nonmicrocoded data processing system
JP4865213B2 (ja) 割込みコントローラ
KR100252503B1 (ko) 중형 컴퓨터의 pci 버스 신호선 검색장치 및 방법
JPH06202715A (ja) 状態変化検知記録回路
GB2254455A (en) Dedicated "time bus" for real time clock.
JPS63193260A (ja) 疎結合マルチプロセツサシステムのホストプロセツサ監視方式
HAMLIN High-speed data bus processing node