JP2749528B2 - エラー解析用のトレーサシステム - Google Patents
エラー解析用のトレーサシステムInfo
- Publication number
- JP2749528B2 JP2749528B2 JP6233361A JP23336194A JP2749528B2 JP 2749528 B2 JP2749528 B2 JP 2749528B2 JP 6233361 A JP6233361 A JP 6233361A JP 23336194 A JP23336194 A JP 23336194A JP 2749528 B2 JP2749528 B2 JP 2749528B2
- Authority
- JP
- Japan
- Prior art keywords
- tracer
- monitoring means
- real
- tracer system
- time
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
Description
【0001】
【産業上の利用分野】本発明は、稼働中のリアルタイム
システムにおけるプログラムのエラー解析用のトレーサ
システムに関する。
システムにおけるプログラムのエラー解析用のトレーサ
システムに関する。
【0002】
【従来の技術】絶えず複雑化されていくリアルタイムシ
ステムたとえば交換システムの開発にともない、相応に
検査ならびにエラー解析を可能にしようとする要求が生
じてきている。このためすでに多数のエラー解析システ
ムが存在しており、それらのシステムによりこの種の複
雑なシステムにおけるエラー位置標定を軽減でき、それ
らを用いて広範囲にわたるエラー解析プロセスを実施し
記録することができる。この種の検査ならびにエラー解
析システムのための実例は、いわゆるトレーサシステム
である。
ステムたとえば交換システムの開発にともない、相応に
検査ならびにエラー解析を可能にしようとする要求が生
じてきている。このためすでに多数のエラー解析システ
ムが存在しており、それらのシステムによりこの種の複
雑なシステムにおけるエラー位置標定を軽減でき、それ
らを用いて広範囲にわたるエラー解析プロセスを実施し
記録することができる。この種の検査ならびにエラー解
析システムのための実例は、いわゆるトレーサシステム
である。
【0003】この種のトレーサシステムの起動により、
リアルタイムシステム全体のリアルタイム特性に影響を
与える可能性がある。そのような影響は、トレーサシス
テムがプログラムシーケンス中で付加的な役割を果たさ
なければならないことから生じるものであって、リアル
タイム条件をもはや遵守できないような形で、ないしは
システムが過負荷状態になってしまうことで、リアルタ
イムシステムに負担をかける可能性がある。
リアルタイムシステム全体のリアルタイム特性に影響を
与える可能性がある。そのような影響は、トレーサシス
テムがプログラムシーケンス中で付加的な役割を果たさ
なければならないことから生じるものであって、リアル
タイム条件をもはや遵守できないような形で、ないしは
システムが過負荷状態になってしまうことで、リアルタ
イムシステムに負担をかける可能性がある。
【0004】いわゆる過負荷問題はこれまで、リアルタ
イムシステム内部における過負荷防御システムにより制
限され、この防御システムによって、リアルタイムシス
テムがさらに受け取ろうとする申し込みの個数が制限さ
れ、これによりシステム全体のブレークダウンが回避さ
れる。
イムシステム内部における過負荷防御システムにより制
限され、この防御システムによって、リアルタイムシス
テムがさらに受け取ろうとする申し込みの個数が制限さ
れ、これによりシステム全体のブレークダウンが回避さ
れる。
【0005】
【発明が解決しようとする課題】本発明の課題は、トレ
ーサシステムがリアルタイムシステムのリアルタイム特
性に対し悪影響を及ぼすおそれをなくすことにある。
ーサシステムがリアルタイムシステムのリアルタイム特
性に対し悪影響を及ぼすおそれをなくすことにある。
【0006】
【課題を解決するための手段および利点】本発明によれ
ばこの課題は、監視手段が設けられており、該監視手段
は当該トレーサシステムに起因するリアルタイムシステ
ムのダイナミックな負荷を検出し、このダイナミックな
負荷が少なくとも1つの所定の閾値を超える場合には、
前記監視手段は当該トレーサシステムの作動を停止する
ことにより解決される。
ばこの課題は、監視手段が設けられており、該監視手段
は当該トレーサシステムに起因するリアルタイムシステ
ムのダイナミックな負荷を検出し、このダイナミックな
負荷が少なくとも1つの所定の閾値を超える場合には、
前記監視手段は当該トレーサシステムの作動を停止する
ことにより解決される。
【0007】本発明によるトレーサシステムは、このト
レーサシステムに起因するリアルタイムシステムのダイ
ナミックな負荷を監視し、この監視に依存して自動的に
作動停止可能であることから、本発明によるトレーサシ
ステムの場合、リアルタイムシステムのリアルタイム特
性に対し悪影響を及ぼすおそれがなくなる。
レーサシステムに起因するリアルタイムシステムのダイ
ナミックな負荷を監視し、この監視に依存して自動的に
作動停止可能であることから、本発明によるトレーサシ
ステムの場合、リアルタイムシステムのリアルタイム特
性に対し悪影響を及ぼすおそれがなくなる。
【0008】請求項2〜7には、本発明の別の実施形態
が記載されている。
が記載されている。
【0009】請求項2は、このトレーサシステムによる
リアルタイムシステムのダイナミックな負荷の測定の実
施形態に関する。
リアルタイムシステムのダイナミックな負荷の測定の実
施形態に関する。
【0010】請求項3に記載の別の実施形態によって実
現されているのは、トレーサシステムに起因するダイナ
ミックな負荷が1つまたは複数の所定の閾値を超えてい
なくても、トレーサシステムは過負荷時に自動的に作動
停止可能なことである。
現されているのは、トレーサシステムに起因するダイナ
ミックな負荷が1つまたは複数の所定の閾値を超えてい
なくても、トレーサシステムは過負荷時に自動的に作動
停止可能なことである。
【0011】請求項4に記載の本発明の別の実施形態に
よって実現されているのは、過負荷段階を操作員によっ
て変更可能なことである。このことにより、いかなる過
負荷段階のもとでもトレーサシステムによりエラー解析
を行うことができる。
よって実現されているのは、過負荷段階を操作員によっ
て変更可能なことである。このことにより、いかなる過
負荷段階のもとでもトレーサシステムによりエラー解析
を行うことができる。
【0012】請求項5に記載の本発明のさらに別の実施
形態は、請求項4に記載の実施形態と類似の、しかしい
っそう強い効果を有している。それというのはこの場合
には無条件の遮断を対象としているからである。
形態は、請求項4に記載の実施形態と類似の、しかしい
っそう強い効果を有している。それというのはこの場合
には無条件の遮断を対象としているからである。
【0013】請求項6に記載の本発明の別の実施形態が
有する利点とは殊に、このトレーサシステムによっても
リアルタイムシステムに対し特別なハードウェア技術的
前提条件が課せられない点にある。トレーサシステムの
ダイナミックなセルフコントロールを行う本発明による
監視手段は殊に、ソフトウェアによるトレーサシステム
においてとりわけ重要である。その理由はこの場合、ト
レーサシステムの各アクティビティがリアルタイムシス
テムのダイナミックな負荷を表すからである。
有する利点とは殊に、このトレーサシステムによっても
リアルタイムシステムに対し特別なハードウェア技術的
前提条件が課せられない点にある。トレーサシステムの
ダイナミックなセルフコントロールを行う本発明による
監視手段は殊に、ソフトウェアによるトレーサシステム
においてとりわけ重要である。その理由はこの場合、ト
レーサシステムの各アクティビティがリアルタイムシス
テムのダイナミックな負荷を表すからである。
【0014】請求項7に記載の本発明のさらに別の実施
形態により、ソフトウェアによるトレーサシステムの作
動停止によりリアルタムシステムに過度に負荷が加わる
おそれがなくなる。
形態により、ソフトウェアによるトレーサシステムの作
動停止によりリアルタムシステムに過度に負荷が加わる
おそれがなくなる。
【0015】
【実施例の説明】本発明の基本技術思想は、監視手段に
よりトレーサシステムを次のように拡張する点にある。
すなわち、この監視手段は、トレーサシステム自体によ
るリアルタイムシステムのダイナミックな負荷を検出
し、ダイナミックな負荷が所定の閾値を超えていればト
レーサシステムの作動を停止する。
よりトレーサシステムを次のように拡張する点にある。
すなわち、この監視手段は、トレーサシステム自体によ
るリアルタイムシステムのダイナミックな負荷を検出
し、ダイナミックな負荷が所定の閾値を超えていればト
レーサシステムの作動を停止する。
【0016】この目的で、本発明による監視手段は、ト
レーサシステムがリアルタイムシステムへ割り込むたび
に2つのグローバルカウンタをカウントアップする。そ
の際、これらのカウンタの一方は、所定の測定期間中に
出合うトレースポイントの個数を測定するのに対し、他
方のカウンタは、個々のトレースポイントにおけるトレ
ーサシステムのアクティビティを評価する。この評価
は、全データの個数に左右されるようにすることもでき
るし、あるいはトレーサシステムの所定のアクティビテ
ィに対する種々異なる固定値をそのまま含むようにする
ことができる。所定の測定インターバルにおいて、両方
のカウンタが最大値に関してチェックされリセットされ
る。本発明による監視手段が、これら両方のカウンタに
基づいて、またはリアルシステムの過負荷防御システム
へのインターフェースに基づいて、トレースプロセスの
継続によりシステム動作が危険になってしまうと判定し
たならば、監視手段はトレーサシステムの作動を停止さ
せる。この停止動作によってもリアルタイムシステムの
リアルタイム特性に悪影響が及ぼされるならば、1つの
プロセス部分で過度な時間を占有することなく、徐々に
停止動作が行われる。
レーサシステムがリアルタイムシステムへ割り込むたび
に2つのグローバルカウンタをカウントアップする。そ
の際、これらのカウンタの一方は、所定の測定期間中に
出合うトレースポイントの個数を測定するのに対し、他
方のカウンタは、個々のトレースポイントにおけるトレ
ーサシステムのアクティビティを評価する。この評価
は、全データの個数に左右されるようにすることもでき
るし、あるいはトレーサシステムの所定のアクティビテ
ィに対する種々異なる固定値をそのまま含むようにする
ことができる。所定の測定インターバルにおいて、両方
のカウンタが最大値に関してチェックされリセットされ
る。本発明による監視手段が、これら両方のカウンタに
基づいて、またはリアルシステムの過負荷防御システム
へのインターフェースに基づいて、トレースプロセスの
継続によりシステム動作が危険になってしまうと判定し
たならば、監視手段はトレーサシステムの作動を停止さ
せる。この停止動作によってもリアルタイムシステムの
リアルタイム特性に悪影響が及ぼされるならば、1つの
プロセス部分で過度な時間を占有することなく、徐々に
停止動作が行われる。
【0017】過負荷条件下でのエラー解析が必要である
ならば、操作員によって本発明による監視手段を遮断す
ることができる。この遮断は、操作員によって所定の過
負荷段階に制限できる。
ならば、操作員によって本発明による監視手段を遮断す
ることができる。この遮断は、操作員によって所定の過
負荷段階に制限できる。
【0018】図1には、ソフトウェアトレーサシステム
の個々のソフトウェア手段に基づくトレースプロセスの
流れが示されている。
の個々のソフトウェア手段に基づくトレースプロセスの
流れが示されている。
【0019】第1のステップにおいて、入力手段(EI
N)は、トレーサシステムの操作員から個々のトレース
ポイントに関する定義を受け取る。この場合、トレース
ポイントとして、プログラムメモリ中のアドレスが設定
される(オリジナル命令をゾンデ(Sonde) に置き換え
る)かあるいは、トレーサシステムにより監視されるべ
きメモリ領域が専用のハードウェアレジスタの書き込み
により設定される。さらにこの場合、個々のトレースポ
イントへの到達時にいかなるデータをコピーすべきかが
設定される。さらに、1つのトレースポイントへの到達
ごとに実行すべき特別機能が設定される。上記の特別機
能とはたとえば、1つのトレースポイントへ到達したと
きに満たされていなければならない付加的な条件とする
ことができる(たとえばストップ条件または別のツール
のためのイベント、別のツールとはたとえば動作システ
ム呼び出しをいっしょに記録する動作システムトレーサ
や、交換技術的ソフトウェア内部の通信の流れをいっし
ょに記録するコールトレーサのような別のツールのため
のイベント)。
N)は、トレーサシステムの操作員から個々のトレース
ポイントに関する定義を受け取る。この場合、トレース
ポイントとして、プログラムメモリ中のアドレスが設定
される(オリジナル命令をゾンデ(Sonde) に置き換え
る)かあるいは、トレーサシステムにより監視されるべ
きメモリ領域が専用のハードウェアレジスタの書き込み
により設定される。さらにこの場合、個々のトレースポ
イントへの到達時にいかなるデータをコピーすべきかが
設定される。さらに、1つのトレースポイントへの到達
ごとに実行すべき特別機能が設定される。上記の特別機
能とはたとえば、1つのトレースポイントへ到達したと
きに満たされていなければならない付加的な条件とする
ことができる(たとえばストップ条件または別のツール
のためのイベント、別のツールとはたとえば動作システ
ム呼び出しをいっしょに記録する動作システムトレーサ
や、交換技術的ソフトウェア内部の通信の流れをいっし
ょに記録するコールトレーサのような別のツールのため
のイベント)。
【0020】次に、第1のステップで操作員により設定
された定義は名前で終わるようにしてまとめられ、この
名前のもとでトレーサシステムのデータメモリセグメン
トにおけるトレーステンポラリメモリ中に一時記憶され
る。
された定義は名前で終わるようにしてまとめられ、この
名前のもとでトレーサシステムのデータメモリセグメン
トにおけるトレーステンポラリメモリ中に一時記憶され
る。
【0021】第1のステップにおいてなされるすべての
入力はシンボリックに行うことができ、つまりソースコ
ードに類似の構文で行うことができる。
入力はシンボリックに行うことができ、つまりソースコ
ードに類似の構文で行うことができる。
【0022】第2のステップにおいて生成手段(GE
N)により、第1のステップでの定義に基づき特別なプ
ログラム部分が生成され、これはプログラムメモリに格
納され、対応するトレースポイントにおいて後で呼び出
される。このプログラム部分を以下では”トレースルー
チン”と称する。このトレースルーチンを生成するため
に、ソフトウェアトレーサシステムには小規模なコンパ
イラが含まれている。
N)により、第1のステップでの定義に基づき特別なプ
ログラム部分が生成され、これはプログラムメモリに格
納され、対応するトレースポイントにおいて後で呼び出
される。このプログラム部分を以下では”トレースルー
チン”と称する。このトレースルーチンを生成するため
に、ソフトウェアトレーサシステムには小規模なコンパ
イラが含まれている。
【0023】トレースルーチンはそれが生成された後、
トレースポイントに到達するとただちにこのルーチンを
呼び出せるようにする目的で、コンパイラを介してプロ
グラムメモリに格納される。そしてこのトレースルーチ
ン自体はあらゆるトレース機能を実行し、ないしはイベ
ントを生じさせる。その後、あとで説明するコードシミ
ュレーションを用いて被検査プログラムを続行させるこ
とができる。
トレースポイントに到達するとただちにこのルーチンを
呼び出せるようにする目的で、コンパイラを介してプロ
グラムメモリに格納される。そしてこのトレースルーチ
ン自体はあらゆるトレース機能を実行し、ないしはイベ
ントを生じさせる。その後、あとで説明するコードシミ
ュレーションを用いて被検査プログラムを続行させるこ
とができる。
【0024】第3のステップにおいて、実際のトレース
プロセスが操作員により起動手段AKTを用いて起動さ
れる。図2には、起動手段AKTの動作が示されてい
る。
プロセスが操作員により起動手段AKTを用いて起動さ
れる。図2には、起動手段AKTの動作が示されてい
る。
【0025】起動を行う目的で起動手段はまず最初に、
トレースポイントアドレスADPに存在しているオリジ
ナル命令をトレーサシステムのトレーステンポラリメモ
リに記憶させ、次に、このトレースポイントに対するゾ
ンデ(Sonde )をコード中に取り込むようにし、ないし
はマイクロプロセッサの専用のデバッグレジスタを起動
させる。このトレースプロセスを、時間発生器または別
のイベントによって起動させることもできる。1つのト
レースプロセスTVは次のように構成されている。すな
わち、検査すべきプログラムがそのつど1つのトレース
ポイントまで実行され、次にこのトレースポイントにお
いて、このトレースポイントのために生成されたトレー
スルーチンが実行され、さらにこの次に、検査すべきプ
ログラムの実行が続けられる。
トレースポイントアドレスADPに存在しているオリジ
ナル命令をトレーサシステムのトレーステンポラリメモ
リに記憶させ、次に、このトレースポイントに対するゾ
ンデ(Sonde )をコード中に取り込むようにし、ないし
はマイクロプロセッサの専用のデバッグレジスタを起動
させる。このトレースプロセスを、時間発生器または別
のイベントによって起動させることもできる。1つのト
レースプロセスTVは次のように構成されている。すな
わち、検査すべきプログラムがそのつど1つのトレース
ポイントまで実行され、次にこのトレースポイントにお
いて、このトレースポイントのために生成されたトレー
スルーチンが実行され、さらにこの次に、検査すべきプ
ログラムの実行が続けられる。
【0026】起動手段にはトレースプロセス起動用手段
のほかに、操作員によりトレースプロセスを停止する手
段も含まれている。操作員による停止と、ストップ条件
または他のツールのためのイベントによる停止(図1の
分岐ブロック”STOP”を参照)とを区別する必要が
ある。
のほかに、操作員によりトレースプロセスを停止する手
段も含まれている。操作員による停止と、ストップ条件
または他のツールのためのイベントによる停止(図1の
分岐ブロック”STOP”を参照)とを区別する必要が
ある。
【0027】第4のステップにおいて操作員はトレース
プロセスの停止後に、そのトレースプロセスにより収集
されたデータを出力手段(AUS)から別個に要求する
ことができる。この種の要求に基づいて、要求されたデ
ータはトレーステンポラリメモリから読み出され、トレ
ースポイントの定義にしたがってシンボルとして出力さ
れる。
プロセスの停止後に、そのトレースプロセスにより収集
されたデータを出力手段(AUS)から別個に要求する
ことができる。この種の要求に基づいて、要求されたデ
ータはトレーステンポラリメモリから読み出され、トレ
ースポイントの定義にしたがってシンボルとして出力さ
れる。
【0028】トレースプロセス中、システムは最小限に
しかダイナミックに影響を受けない。それというのは、
トレースルーチンの呼び出しがダイナミックに最適化さ
れるからであり、さらに、被検査プログラムをできるか
ぎり迅速に続行できるようにする目的で、トレーサシス
テムはマイクロプロセッサのすべての可能な構成を利用
しているからである。
しかダイナミックに影響を受けない。それというのは、
トレースルーチンの呼び出しがダイナミックに最適化さ
れるからであり、さらに、被検査プログラムをできるか
ぎり迅速に続行できるようにする目的で、トレーサシス
テムはマイクロプロセッサのすべての可能な構成を利用
しているからである。
【0029】入/出力手段を用いたシンボリックな入/
出力は、コンパイル時に作成されるシンボルテーブルへ
のアクセスにより実現されている。
出力は、コンパイル時に作成されるシンボルテーブルへ
のアクセスにより実現されている。
【0030】トレースポイントのためのゾンデの取り込
みに際して、起動手段AKTは被検査プログラムの機械
語を次のようにして変化させる必要がある。すなわち、
この手段があるオリジナル命令を、トラップ命令または
割り込み命令を用いて個々のトレースポイントの相応の
ゾンデに書き換えるようにする。そして被検査プログラ
ムのシーケンス中、あるトレースポイントに到達する
と、プロセッサはまず最初にトレーサシステムへの分岐
を行う。次に、トレーサシステムは所属のトレースルー
チンをサーチし、それを実行する。その後、コードシミ
ュレーション用の小規模なプログラムを用いることで、
被検査プログラムがただちに続行されしかもこれは書き
換えられたオリジナル命令で続行されるようにされる。
みに際して、起動手段AKTは被検査プログラムの機械
語を次のようにして変化させる必要がある。すなわち、
この手段があるオリジナル命令を、トラップ命令または
割り込み命令を用いて個々のトレースポイントの相応の
ゾンデに書き換えるようにする。そして被検査プログラ
ムのシーケンス中、あるトレースポイントに到達する
と、プロセッサはまず最初にトレーサシステムへの分岐
を行う。次に、トレーサシステムは所属のトレースルー
チンをサーチし、それを実行する。その後、コードシミ
ュレーション用の小規模なプログラムを用いることで、
被検査プログラムがただちに続行されしかもこれは書き
換えられたオリジナル命令で続行されるようにされる。
【0031】被検査プログラムの従来どおりの続行を実
現するためには、従来のトレーサシステムであったなら
ば−従来のいずれのデバッガでも行っていたように−ま
ずはじめに、トレースポイントゾンデにより変えられた
オリジナルコードを再生し、書き換えられたオリジナル
命令を実行し、さらにゾンデを再び取り込むためにはト
レーサシステムの起動手段へ新たに分岐させなければな
らない。そしてその後はじめて、ゾンデ以降の被検査プ
ログラムを続行させることができる。
現するためには、従来のトレーサシステムであったなら
ば−従来のいずれのデバッガでも行っていたように−ま
ずはじめに、トレースポイントゾンデにより変えられた
オリジナルコードを再生し、書き換えられたオリジナル
命令を実行し、さらにゾンデを再び取り込むためにはト
レーサシステムの起動手段へ新たに分岐させなければな
らない。そしてその後はじめて、ゾンデ以降の被検査プ
ログラムを続行させることができる。
【0032】本発明によるトレーサシステムの実施例を
適用した実現手法−以下ではコードシミュレーションと
称する−の場合、所属の書き込み保護処理とキャッシュ
処理を伴うプログラムメモリへの両方の書き込みプロセ
ス(オリジナルコードの再生、ゾンデの新たな取り込
み)ならびに2回目のプログラム中断(起動手段への新
たな分岐)が回避され、このことにより時間が著しく節
約される。
適用した実現手法−以下ではコードシミュレーションと
称する−の場合、所属の書き込み保護処理とキャッシュ
処理を伴うプログラムメモリへの両方の書き込みプロセ
ス(オリジナルコードの再生、ゾンデの新たな取り込
み)ならびに2回目のプログラム中断(起動手段への新
たな分岐)が回避され、このことにより時間が著しく節
約される。
【0033】コードシミュレーションは次のように構成
されている。すなわち、オリジナル命令の記憶後すでに
起動手段により(この起動手段中に含まれている)継続
手段を用いて小規模なプログラム(付加コード)が生成
される。(図2参照)。このプログラムは上記のオリジ
ナル命令をシミュレートするために用いられ、さらにこ
のプログラムは被検査プログラムへのリターンアドレス
をいっしょに含んでおり、トレースルーチンの経過後、
新たにスタートされる(図4)。
されている。すなわち、オリジナル命令の記憶後すでに
起動手段により(この起動手段中に含まれている)継続
手段を用いて小規模なプログラム(付加コード)が生成
される。(図2参照)。このプログラムは上記のオリジ
ナル命令をシミュレートするために用いられ、さらにこ
のプログラムは被検査プログラムへのリターンアドレス
をいっしょに含んでおり、トレースルーチンの経過後、
新たにスタートされる(図4)。
【0034】コードシミュレーションはたとえば、ワー
クメモリ中のアドレスないしはプログラムカウンタの実
際の値に依存する僅かな命令(たとえば命令”20by
teリターンジャンプ”)だけを識別するようなプロセ
ッサの場合にとりわけ有利である。これにはたとえばR
ISCプロセッサが該当する。
クメモリ中のアドレスないしはプログラムカウンタの実
際の値に依存する僅かな命令(たとえば命令”20by
teリターンジャンプ”)だけを識別するようなプロセ
ッサの場合にとりわけ有利である。これにはたとえばR
ISCプロセッサが該当する。
【0035】さらに、たいていのRISCプロセッサの
場合には、トレースポイントゾンデのために用いられる
トラップ命令中にすでにトレースポイント番号を埋め込
みコーディングすることで時間を節約できる。このトレ
ースポイント番号により、トレースルーチンのサーチな
いしはトレースプロセスに必要とされるトレーサシステ
ムの管理データのサーチが軽減される。
場合には、トレースポイントゾンデのために用いられる
トラップ命令中にすでにトレースポイント番号を埋め込
みコーディングすることで時間を節約できる。このトレ
ースポイント番号により、トレースルーチンのサーチな
いしはトレースプロセスに必要とされるトレーサシステ
ムの管理データのサーチが軽減される。
【0036】図3には、本発明による監視手段SFGの
動作が示されている。
動作が示されている。
【0037】トレースプロセス中、トレーサシステム自
体は次のようにして監視される。すなわち、稼働中のリ
アルシステムに対しトレーサシステムがどの程度強く負
荷を加えているかが、つまりどれくらいのリアルタイム
を占有しているかが、監視手段SFGにより求められ
る。その際に所定の負荷閾値を超えていれば、本発明に
よるトレーサシステムは監視手段により自動的に停止さ
れる。
体は次のようにして監視される。すなわち、稼働中のリ
アルシステムに対しトレーサシステムがどの程度強く負
荷を加えているかが、つまりどれくらいのリアルタイム
を占有しているかが、監視手段SFGにより求められ
る。その際に所定の負荷閾値を超えていれば、本発明に
よるトレーサシステムは監視手段により自動的に停止さ
れる。
【0038】監視手段SFGは各トレースポイントにお
いて、トレースプロセスの流れを制御するシーケンス手
段ABLにより呼び出され、その際に2つのグローバル
カウンタが常にカウントアップされる。この場合、これ
らのカウンタのうちの一方は、いくつのトレースポイン
トが生じたかを計数するのに対し、他方のカウンタは全
データの個数を計数する。所定の時間インターバルで、
これら両方のカウンタは最大値に関してチェックされて
リセットされる。監視手段がこれら両方のカウンタに基
づき、またはリアルタイムシステムの過負荷防御システ
ムUELへのインターフェースを介した過負荷情報に基
づき、トレースプロセスの継続によりシステム動作が危
険になってしまうと判定すると、監視手段は起動手段を
介して自動的に、すべてのトレースポイントを徐々に作
動停止させるようにし、このことはこの停止動作が1つ
のプロセス部分において過度に長い時間を占有すること
なく行われる。
いて、トレースプロセスの流れを制御するシーケンス手
段ABLにより呼び出され、その際に2つのグローバル
カウンタが常にカウントアップされる。この場合、これ
らのカウンタのうちの一方は、いくつのトレースポイン
トが生じたかを計数するのに対し、他方のカウンタは全
データの個数を計数する。所定の時間インターバルで、
これら両方のカウンタは最大値に関してチェックされて
リセットされる。監視手段がこれら両方のカウンタに基
づき、またはリアルタイムシステムの過負荷防御システ
ムUELへのインターフェースを介した過負荷情報に基
づき、トレースプロセスの継続によりシステム動作が危
険になってしまうと判定すると、監視手段は起動手段を
介して自動的に、すべてのトレースポイントを徐々に作
動停止させるようにし、このことはこの停止動作が1つ
のプロセス部分において過度に長い時間を占有すること
なく行われる。
【0039】ダイナミックなセルフコントロールのため
の監視手段SFGは、過負荷条件下でエラー解析が必要
である場合、操作員によって遮断できる。この遮断は、
所定の過負荷段階に制限できる。
の監視手段SFGは、過負荷条件下でエラー解析が必要
である場合、操作員によって遮断できる。この遮断は、
所定の過負荷段階に制限できる。
【0040】図4には、トレースプロセスの流れを制御
する既述のシーケンス手段ABLの動作が示されてい
る。このシーケンス手段は各トレースポイントにおいて
呼び出され、そのあとで種々異なる処理動作が行われ
る。この手段はまずはじめに、本発明による監視手段S
GFを呼び出す。次にこの手段は、あるトレースポイン
トにとって別のシーケンスの制御に必要な管理データを
サーチする。その後、トレースルーチンの呼び出しが行
われ、このルーチンによりあるトレースポイントで所望
されるデータが収集され、続いてトレーステンポラリメ
モリZSPに記憶される。次に、シーケンス手段はコー
ドシミュレーション用のプログラムを呼び出し、このプ
ログラムはその終了後、被検査プログラムの当該トレー
スポイント以降にある次の命令へ自動的にジャンプす
る。
する既述のシーケンス手段ABLの動作が示されてい
る。このシーケンス手段は各トレースポイントにおいて
呼び出され、そのあとで種々異なる処理動作が行われ
る。この手段はまずはじめに、本発明による監視手段S
GFを呼び出す。次にこの手段は、あるトレースポイン
トにとって別のシーケンスの制御に必要な管理データを
サーチする。その後、トレースルーチンの呼び出しが行
われ、このルーチンによりあるトレースポイントで所望
されるデータが収集され、続いてトレーステンポラリメ
モリZSPに記憶される。次に、シーケンス手段はコー
ドシミュレーション用のプログラムを呼び出し、このプ
ログラムはその終了後、被検査プログラムの当該トレー
スポイント以降にある次の命令へ自動的にジャンプす
る。
【0041】
【発明の効果】本発明によれば、トレーサシステムがリ
アルタイムシステムのリアルタイム特性に対し悪影響を
及ぼすおそれがなくなる。
アルタイムシステムのリアルタイム特性に対し悪影響を
及ぼすおそれがなくなる。
【図1】ソフトウェアトレーサシステムの個々のソフト
ウェア手段に基づくトレースプロセスのフローチャート
である。
ウェア手段に基づくトレースプロセスのフローチャート
である。
【図2】トレーサシステムの起動手段の動作を示す図で
ある。
ある。
【図3】本発明によるトレーサシステムの監視手段の動
作を示す図である。
作を示す図である。
【図4】トレースプロセスの流れを制御するシーケンス
手段の動作を示す図である。
手段の動作を示す図である。
EIN 入力手段 GEN 生成手段 AKT 起動手段 TV トレースプロセス AUS 出力手段 ADP トレースポイントアドレス ABL シーケンス手段 SFG 監視手段 UEL 過負荷防御システム ZSP トレーステンポラリメモリ
フロントページの続き (56)参考文献 特開 平4−291430(JP,A) 特開 平2−43636(JP,A)
Claims (7)
- 【請求項1】 稼働中のリアルタイムシステムにおける
プログラムのエラー解析用のトレーサシステムにおい
て、 監視手段(SFG)が設けられており、該監視手段は当
該トレーサシステムに起因するリアルタイムシステムの
ダイナミックな負荷を検出し、このダイナミックな負荷
が少なくとも1つの所定の閾値を超える場合には、前記
監視手段は当該トレーサシステムの作動を停止すること
を特徴とする、エラー解析用のトレーサシステム。 - 【請求項2】 前記監視手段(SFG)は当該トレーサ
システムに起因するリアルタイムシステムのダイナミッ
クな負荷を、出合ったトレースポイントの頻度ならびに
トレースポイントごとの平均アクティビティまたは所定
の(測定)期間内のアクティビティを測定することによ
って求める、請求項1記載のトレーサシステム。 - 【請求項3】 前記監視手段(SFG)は、リアルタイ
ムシステムのシステムコンポーネントたとえば過負荷防
御システム(UEL)へのインターフェースを有してお
り、前記監視手段は過負荷時に該インターフェースを介
して、生じた過負荷段階に関する情報を受け取り、所定
の過負荷段階に達していれば前記監視手段は当該トレー
サシステムの作動を停止する、請求項1または2記載の
トレーサシステム。 - 【請求項4】 操作員またはシステムの他の部分によっ
て前記の所定の過負荷段階を変更可能である、請求項3
記載のトレーサシステム。 - 【請求項5】 操作員またはシステムの他の部分によっ
て前記監視手段を無条件に遮断可能である、請求項1〜4
のいずれか1項記載のトレーサシステム。 - 【請求項6】 当該トレーサシステムはリアルタイムシ
ステム中のソフトウェアシステムとして実現されている
かまたは、部分的に外部のシステムコンポーネントにて
形成されている、請求項1〜5のいずれか1項記載のト
レーサシステム。 - 【請求項7】 当該トレーサシステムはリアルタイムシ
ステム中のソフトウェアシステムとして実現されている
かまたは、部分的に外部のシステムコンポーネントにて
実行されており、前記監視手段は過負荷の際に当該トレ
ーサシステムの停止動作を徐々に行う、請求項3または
4記載のトレーサシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4332993A DE4332993C1 (de) | 1993-09-28 | 1993-09-28 | Tracer-System zur Fehleranalyse in laufenden Realzeitsystemen |
DE4332993.4 | 1993-09-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07152611A JPH07152611A (ja) | 1995-06-16 |
JP2749528B2 true JP2749528B2 (ja) | 1998-05-13 |
Family
ID=6498839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6233361A Expired - Fee Related JP2749528B2 (ja) | 1993-09-28 | 1994-09-28 | エラー解析用のトレーサシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US5689636A (ja) |
EP (1) | EP0645704B1 (ja) |
JP (1) | JP2749528B2 (ja) |
CA (1) | CA2132904C (ja) |
DE (1) | DE4332993C1 (ja) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10240568A (ja) * | 1997-02-27 | 1998-09-11 | Mitsubishi Electric Corp | エミュレータ装置およびエミュレーション方法 |
DE19835258B4 (de) * | 1998-08-04 | 2006-07-27 | Infineon Technologies Ag | Integrierte dynamische Speicherschaltung mit einer Selbsttesteinrichtung |
US6754891B1 (en) | 1998-08-31 | 2004-06-22 | Red Hat, Inc. | Debugger system using tracepoints for computer software |
US6457144B1 (en) * | 1998-12-08 | 2002-09-24 | International Business Machines Corporation | System and method for collecting trace data in main storage |
US7237090B1 (en) | 2000-12-29 | 2007-06-26 | Mips Technologies, Inc. | Configurable out-of-order data transfer in a coprocessor interface |
US7287147B1 (en) * | 2000-12-29 | 2007-10-23 | Mips Technologies, Inc. | Configurable co-processor interface |
US7134116B1 (en) | 2001-04-30 | 2006-11-07 | Mips Technologies, Inc. | External trace synchronization via periodic sampling |
US7168066B1 (en) | 2001-04-30 | 2007-01-23 | Mips Technologies, Inc. | Tracing out-of order load data |
US7181728B1 (en) | 2001-04-30 | 2007-02-20 | Mips Technologies, Inc. | User controlled trace records |
US7124072B1 (en) | 2001-04-30 | 2006-10-17 | Mips Technologies, Inc. | Program counter and data tracing from a multi-issue processor |
US7185234B1 (en) | 2001-04-30 | 2007-02-27 | Mips Technologies, Inc. | Trace control from hardware and software |
US7178133B1 (en) | 2001-04-30 | 2007-02-13 | Mips Technologies, Inc. | Trace control based on a characteristic of a processor's operating state |
US7069544B1 (en) | 2001-04-30 | 2006-06-27 | Mips Technologies, Inc. | Dynamic selection of a compression algorithm for trace data |
US7065675B1 (en) | 2001-05-08 | 2006-06-20 | Mips Technologies, Inc. | System and method for speeding up EJTAG block data transfers |
US7380239B1 (en) | 2001-05-31 | 2008-05-27 | Oracle International Corporation | Method and mechanism for diagnosing computer applications using traces |
US7376937B1 (en) | 2001-05-31 | 2008-05-20 | Oracle International Corporation | Method and mechanism for using a meta-language to define and analyze traces |
US7043668B1 (en) | 2001-06-29 | 2006-05-09 | Mips Technologies, Inc. | Optimized external trace formats |
US7231551B1 (en) | 2001-06-29 | 2007-06-12 | Mips Technologies, Inc. | Distributed tap controller |
US7200588B1 (en) | 2002-07-29 | 2007-04-03 | Oracle International Corporation | Method and mechanism for analyzing trace data using a database management system |
US7512954B2 (en) * | 2002-07-29 | 2009-03-31 | Oracle International Corporation | Method and mechanism for debugging a series of related events within a computer system |
US7165190B1 (en) * | 2002-07-29 | 2007-01-16 | Oracle International Corporation | Method and mechanism for managing traces within a computer system |
US7159101B1 (en) | 2003-05-28 | 2007-01-02 | Mips Technologies, Inc. | System and method to trace high performance multi-issue processors |
US20060048011A1 (en) * | 2004-08-26 | 2006-03-02 | International Business Machines Corporation | Performance profiling of microprocessor systems using debug hardware and performance monitor |
EP2291566B1 (en) | 2008-06-06 | 2017-03-15 | Avery Dennison Corporation | Temporary outdoor graphic film |
KR20100084036A (ko) * | 2009-01-15 | 2010-07-23 | 삼성전자주식회사 | 소프트웨어의 에러 검출 장치 및 방법 |
WO2010133507A1 (en) * | 2009-05-22 | 2010-11-25 | International Business Machines Corporation | Apparatus and method for monitoring a computer system |
US8364813B2 (en) * | 2010-11-02 | 2013-01-29 | International Business Machines Corporation | Administering incident pools for event and alert analysis |
US8386602B2 (en) | 2010-11-02 | 2013-02-26 | International Business Machines Corporation | Relevant alert delivery in a distributed processing system |
US8805999B2 (en) | 2010-12-07 | 2014-08-12 | International Business Machines Corporation | Administering event reporting rules in a distributed processing system |
US8868984B2 (en) | 2010-12-07 | 2014-10-21 | International Business Machines Corporation | Relevant alert delivery in a distributed processing system with event listeners and alert listeners |
US9213621B2 (en) | 2011-05-27 | 2015-12-15 | International Business Machines Corporation | Administering event pools for relevant event analysis in a distributed processing system |
US8676883B2 (en) | 2011-05-27 | 2014-03-18 | International Business Machines Corporation | Event management in a distributed processing system |
US9419650B2 (en) | 2011-06-22 | 2016-08-16 | International Business Machines Corporation | Flexible event data content management for relevant event and alert analysis within a distributed processing system |
US8880943B2 (en) | 2011-06-22 | 2014-11-04 | International Business Machines Corporation | Restarting event and alert analysis after a shutdown in a distributed processing system |
US8887175B2 (en) | 2011-10-18 | 2014-11-11 | International Business Machines Corporation | Administering incident pools for event and alert analysis |
US20130097272A1 (en) | 2011-10-18 | 2013-04-18 | International Business Machines Corporation | Prioritized Alert Delivery In A Distributed Processing System |
US9178936B2 (en) | 2011-10-18 | 2015-11-03 | International Business Machines Corporation | Selected alert delivery in a distributed processing system |
US8954811B2 (en) | 2012-08-06 | 2015-02-10 | International Business Machines Corporation | Administering incident pools for incident analysis |
US8943366B2 (en) | 2012-08-09 | 2015-01-27 | International Business Machines Corporation | Administering checkpoints for incident analysis |
US8954546B2 (en) * | 2013-01-25 | 2015-02-10 | Concurix Corporation | Tracing with a workload distributor |
US20130283281A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deploying Trace Objectives using Cost Analyses |
US8997063B2 (en) | 2013-02-12 | 2015-03-31 | Concurix Corporation | Periodicity optimization in an automated tracing system |
US9575874B2 (en) | 2013-04-20 | 2017-02-21 | Microsoft Technology Licensing, Llc | Error list and bug report analysis for configuring an application tracer |
US9361184B2 (en) | 2013-05-09 | 2016-06-07 | International Business Machines Corporation | Selecting during a system shutdown procedure, a restart incident checkpoint of an incident analyzer in a distributed processing system |
US9170860B2 (en) | 2013-07-26 | 2015-10-27 | International Business Machines Corporation | Parallel incident processing |
US20150033209A1 (en) * | 2013-07-26 | 2015-01-29 | Netapp, Inc. | Dynamic Cluster Wide Subsystem Engagement Using a Tracing Schema |
US9658902B2 (en) | 2013-08-22 | 2017-05-23 | Globalfoundries Inc. | Adaptive clock throttling for event processing |
US9256482B2 (en) | 2013-08-23 | 2016-02-09 | International Business Machines Corporation | Determining whether to send an alert in a distributed processing system |
US9086968B2 (en) | 2013-09-11 | 2015-07-21 | International Business Machines Corporation | Checkpointing for delayed alert creation |
US9602337B2 (en) | 2013-09-11 | 2017-03-21 | International Business Machines Corporation | Event and alert analysis in a distributed processing system |
US9389943B2 (en) | 2014-01-07 | 2016-07-12 | International Business Machines Corporation | Determining a number of unique incidents in a plurality of incidents for incident processing in a distributed processing system |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4126895A (en) * | 1975-12-29 | 1978-11-21 | International Standard Electric Corporation | Data processing system with monitoring and regulation of processor free time |
US4382179A (en) * | 1980-07-21 | 1983-05-03 | Ncr Corporation | Address range timer/counter |
US4403286A (en) * | 1981-03-06 | 1983-09-06 | International Business Machines Corporation | Balancing data-processing work loads |
US4511961A (en) * | 1982-04-16 | 1985-04-16 | Ncr Corporation | Apparatus for measuring program execution |
US4462077A (en) * | 1982-06-24 | 1984-07-24 | Bell Telephone Laboratories, Incorporated | Trace facility for use in multiprocessing environment |
US4845615A (en) * | 1984-04-30 | 1989-07-04 | Hewlett-Packard Company | Software performance analyzer |
US5103394A (en) * | 1984-04-30 | 1992-04-07 | Hewlett-Packard Company | Software performance analyzer |
US5047919A (en) * | 1986-04-03 | 1991-09-10 | Harris Corporation | Method and apparatus for monitoring software execution in a parallel multiprocessor computer system |
US5127103A (en) * | 1987-10-14 | 1992-06-30 | North American Philips Corporation | Real-time tracing of dynamic local data in high level languages in the presence of process context switches |
JPH0243636A (ja) * | 1988-08-04 | 1990-02-14 | Kyushu Nippon Denki Software Kk | トレース情報記録方式 |
JPH02271435A (ja) * | 1989-04-13 | 1990-11-06 | Mitsubishi Electric Corp | タスクトレース装置 |
EP0396833A1 (en) * | 1989-05-12 | 1990-11-14 | International Business Machines Corporation | Trace facility for use in a multiprocessing environment |
US5303369A (en) * | 1990-08-31 | 1994-04-12 | Texas Instruments Incorporated | Scheduling system for multiprocessor operating system |
JPH04148242A (ja) * | 1990-10-08 | 1992-05-21 | Fujitsu Ltd | ロード・モジュール実行時トレース処理方法 |
JP2777496B2 (ja) * | 1991-02-28 | 1998-07-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータシステムにおいてマルチプロセスをプロファイリングする際の使用方法 |
JPH04291430A (ja) * | 1991-03-20 | 1992-10-15 | Nec Corp | プログラムトレース方式 |
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 |
US5295260A (en) * | 1991-05-31 | 1994-03-15 | Cray Research Systems, Inc. | Memory range monitoring apparatus for a multiprocessor computer system |
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 |
JPH0750452B2 (ja) * | 1992-12-18 | 1995-05-31 | 日本電気株式会社 | バストレース機構 |
-
1993
- 1993-09-28 DE DE4332993A patent/DE4332993C1/de not_active Expired - Fee Related
-
1994
- 1994-09-20 EP EP94114830A patent/EP0645704B1/de not_active Expired - Lifetime
- 1994-09-26 CA CA002132904A patent/CA2132904C/en not_active Expired - Fee Related
- 1994-09-28 US US08/313,883 patent/US5689636A/en not_active Expired - Lifetime
- 1994-09-28 JP JP6233361A patent/JP2749528B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CA2132904A1 (en) | 1995-03-29 |
EP0645704A3 (de) | 1995-10-11 |
US5689636A (en) | 1997-11-18 |
EP0645704A2 (de) | 1995-03-29 |
CA2132904C (en) | 2004-11-16 |
DE4332993C1 (de) | 1994-11-24 |
EP0645704B1 (de) | 1997-11-26 |
JPH07152611A (ja) | 1995-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2749528B2 (ja) | エラー解析用のトレーサシステム | |
US6708326B1 (en) | Method, system and program product comprising breakpoint handling mechanism for debugging and/or monitoring a computer instruction sequence | |
US7185320B2 (en) | System and method for processing breakpoint events in a child process generated by a parent process | |
US7415699B2 (en) | Method and apparatus for controlling execution of a child process generated by a modified parent process | |
US5987250A (en) | Transparent instrumentation for computer program behavior analysis | |
US5870607A (en) | Method and apparatus for selective replay of computer programs | |
US6634020B1 (en) | Uninitialized memory watch | |
US8561033B2 (en) | Selective branch-triggered trace generation apparatus and method | |
US6263489B1 (en) | Method and apparatus for debugging of optimized code | |
US8336032B2 (en) | Implementing enhanced template debug | |
US20070168998A1 (en) | System and method for dynamic instrumentation | |
US20060059486A1 (en) | Call stack capture in an interrupt driven architecture | |
US9003367B2 (en) | Specific debug trace collecting | |
US20090320001A1 (en) | System, method and program product for monitoring changes to data within a critical section of a threaded program | |
US20050251794A1 (en) | Method of debugging code and software debugging tool | |
JP2000132424A (ja) | ソフトウェアインスツルメンテ―ション方法 | |
US7178135B2 (en) | Scope-based breakpoint selection and operation | |
US20040006760A1 (en) | Generating and using profile information automatically in an integrated development environment | |
JP2009529742A (ja) | リアルタイム性能プロファイリングのための計測 | |
JP2004164554A (ja) | プログラム実行監視装置および方法 | |
US20040230956A1 (en) | Simple method optimization | |
US20080127119A1 (en) | Method and system for dynamic debugging of software | |
US20080127118A1 (en) | Method and system for dynamic patching of software | |
US5737521A (en) | Tracer system for analyzing errors in running real-time systems | |
US11113182B2 (en) | Reversible debugging in a runtime environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19980113 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |