JPH02234237A - トレースプログラムのトレース開始方式 - Google Patents

トレースプログラムのトレース開始方式

Info

Publication number
JPH02234237A
JPH02234237A JP1055809A JP5580989A JPH02234237A JP H02234237 A JPH02234237 A JP H02234237A JP 1055809 A JP1055809 A JP 1055809A JP 5580989 A JP5580989 A JP 5580989A JP H02234237 A JPH02234237 A JP H02234237A
Authority
JP
Japan
Prior art keywords
trace
program
subroutine
count value
traced
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
JP1055809A
Other languages
English (en)
Inventor
Yotaro Kitadate
北館 陽太郎
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1055809A priority Critical patent/JPH02234237A/ja
Publication of JPH02234237A publication Critical patent/JPH02234237A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 コンピュータにおけるシステムやアプリケーションプロ
グラムの分析のためにプログラムの実行軌跡のデータを
収集するトレースプログラムのトレース開始方式に関し
, トレースデータの採取を開始するサブルーチン呼び出し
回数値を簡昌に求め5指定できる手段を提供することを
目的とし トレースプログラムのトレース開始方式において,被ト
レースプログラムが実行中に予め指定されたサブルーチ
ンを呼び出す回数をカウントするカウント領域を設け5
第1の段階として,被トレースプログラムの指定したサ
ブルーチンの入口にブレークポイントを設定し,また上
記カウント領域をクリアして,被トレースプログラムを
起動し上記サブルーチンが呼び出される度にカウンBJ
域のカウント値を+1するとともに2そのカウント値を
表示装置に表示して被トレースプログラムにトレース処
理を開始させるのに適した時点のカウント値を識別させ
た後1一旦トレースプログラムを終了し,第2の段階と
して.第1の段階で識別したカウント値を指定して再度
被トレースプログラムを起動し,トレースプログラムは
.上記サブルーチンが上記指定されたカウント値の回数
だけ呼び出されたところからトレースデータの採取を開
始する様構成した。
〔産業上の利用分野〕
本発明は,コンビュークにおけるシステムやアブリケー
ソヨンプログラムの分析のためにプログラムの実行軌跡
のデータを収集するトレースプログラムのトレース開始
方式に関する。
〔従来の技術〕
被トレースプログラムの実行の最初からトレースデータ
をとる場合、トレース処理の実行時間にほぼ比例してト
レースデータが増大し..そのためのファイル領域が不
足したりする。またトレース処理の開始時には出力デー
タ量が予測できないことが多いため,処理の途中で領域
が不足してトレースを打ち切らなければならないことも
ある。
さらに,トレース処理の内部方式や,どの程度に詳しく
トレースデータを採取するかによっても異なるが,一触
には,被トレースプログラム単独の実行(トレースなし
の実行)に比べて,数十倍から,数百倍になることが多
《.所望する時間内にトレースが完了しないことがある
. そのための解決手段の1つは,プログラムの始めからト
レースをとるのではなく,プログラムの途中の適当な時
点からトレースをとることである.第4図に2その1つ
の従来例として.サブルーチンの1つを指定し,それが
指定した回数呼び出された時点でプログラムのトレース
データ採取を開始する方式を示す. 第4図において.lは主記憶装置.2はOS3はトレー
スプログラム,3aはサブルーチン呼び出し回数のカウ
ント領域.4は被トレースプログラム,4aはサブルー
チン、5は表示装置,6はキーボード.7は外部記憶装
置である。
従来のトレース開始方式では.トレースプログラム3の
実行開始時に5被トレースプログラム4の実行中に呼び
出されるサブルーチン4aのサブルーチン名と,トレー
スデータ採取を開始するそのサブルーチン4aの呼び出
し回数を示すカウント値とを指定し.カウント値はカウ
ント領域3aに設定し,被トレースプログラム4の実行
開始後サブルーチン4aが呼び出されるごとにカウント
値を−1し.そのサブルーチン4aが指定されたカウン
HMの回数だけ呼び出されて、カウント値がOになった
時点よりトレースデータの採取を開始するようにしてい
た. さらに詳しく説明するとプログラム実行開始に際し1ま
ず使用者は.キーボード6よりトレースプログラムの開
始を指示し.パラメータとして被トレースプログラム名
.サブルーチン名.カウント値を指定する。
一方.被トレースプログラム4のサブルーチン4aの入
口には.ブレークポイントが設定される.トレースプロ
グラム3は,被トレースブログラム4のサブルーチン4
aの呼び出し回数を指定されたカウント値だけカウント
するため,カウント領域3aに,指定されたカウント値
をブリセットする. 被トレースプログラム4が実行されると.サブルーチン
4aが呼び出される度にブレークポイントが検出される
ので.OS2に割り込みが上げられ.OS2が介入して
制御がトレースプログラム3に渡され,トレースプログ
ラム3はカウント頷域3aの値を−1更新する.ここで
カウント領域3aの値がOになると,トレースプログラ
ム3はトレース採取を開始し,採取したトレースデータ
を外部記憶W ?IE 7に格納する.〔発明が解決し
ようとする課題〕 第4図で説明した従来例のトレース開始方式では,トレ
ースの開始をサブルーチンの呼び出しのの何回目に指定
してよいかわからない場合が多くこれを求め.指定する
には始めからトレースを行わなければならないという矛
盾があった.本発明はトレースデータの採取を開始する
サブルーチン呼び出し回数値を簡易に求め,指定できる
手段を提供することを目的とする. (課題を解決するための手段〕 本発明は,被トレースプログラム中の指定されたサブル
ーチンの呼び出し回数をカウントして表示する手段を設
け,被トレースプログラムがトレースを開始したい時点
に達したことを使用者が確認して,そのときのカウント
値をトレース開始カウント債として決定する前段階を置
き,ここでプログラムを一旦終了してから,次の段階で
先に識別したカウント値をセントして.再度被トレース
プログラムを実行し1サブルーチンがカウント値だけ実
行されたところよりトレースデークの採取を開始するよ
うにしている. 第1図により.本発明の原理を説明する。
第1図のfa)は初期状態.山)はトレースを開始する
サブルーチン呼び出し回数の決定処理を行う第1段階の
状B. (C)は決定されたサブルーチン呼び出し回数
によりトレース採取を開始する第2段階の状態を示して
いる. 第1図(altいしtc+の各々において、12はOs
(オペレーティングシステム),13はトレースプログ
ラム.13aはサブルーチン呼び出し回数をカウントす
るカウント領域.14は被トレースプログラム,14a
は指定されたサブルーチンを呼び出すサブルーチン入口
.14bは指定されたサブルーチン.17は表示装置.
18はキーボードである。
第1図(blの第1の段階では,トレースプログラム1
3が起動される.トレースプログラム13はカウント頷
域13aを0にクリアし,被トレースプログラム14の
サブルーチン入口にあるCPU命令をブレークポイント
に変更す冬.ブレークポイントは.OS12において定
義されている特殊なCPU命令である. 次にトレースプログラム13は.被トレースプログラム
14を開始する.プログラム実行がブレークポイントに
達すると,OS12に割り込みが上り,OSl2からの
通知を受けたトレースプログラム13は.カウント領域
13aにあるサブルーチン呼び出し回数を+1カウント
する.この処理が終わるとトレースプログラム13は,
被トレースプログラム14のサブルーチン入口14aの
ブレークポイントを本来のCPU命令に戻してlステッ
プ実行させ,その後再びブレークポイントを設定する. このようにして被トレースプログラム14がサブルーチ
ン入口14aを通過するごとにカウント領域13aに1
を加算し,そのたびにその結果のカウント値を表示装l
m!17に表示する.使用者は被トレースプログラム1
4の処理状態を監視してトレース開始に適当と判断した
時点でカウント値を読み取り.被トレースプログラム1
4を終了させる.このときのカウント値がトレース開始
カウント値(Nで表す)である. 続いて第l図telに示す第2の段階に移る。ここでカ
ウント{INを.被トレースプログラム名,サブルーチ
ン名とともにキーボード18から入力し,トレースプロ
グラム13に与える. トレースプログラム13は.人力されたカウント値Nを
カウント領域13aに設定し.被トレースプログラム1
4を第1の段階と同様に起動し,今度はサブルーチン入
口を通遇するごとにカウント領域13aから1を減算す
る. トレースプログラム13は.カウント領域13aのカウ
ント値が0になったとき,トレース採取処理を開始する
. 〔作用〕 本発明によれば,第1の段階で被トレースプログラムの
実行状態を見てトレース開始に通当な時点にいたった時
.表示装置に表示されたサブルーチン呼び出し回数のカ
ウント値によって指定し第2の段階でそのカウント値だ
けサブルーチン呼び出しが実行されたところからトレー
スデータの採取を開始するため,トレース処理時間を削
減できるとともに,トレースデータ量を抑制することが
できる. (実施例〕 第2図は本発明の1実施例システムの構成図である.ま
た第3図(alおよび第3図山》は,第2図の実施例シ
ステムにおけるトレース開始処理のフロー図である. 第2図において.10はCPU,11は主記憶装置.1
2はOS,13はトレースプログラム.13aはカウン
ト領域.13bはトレースデータ領域,14は被トレー
スプログラム,14aはサブルーチン入口,14bはサ
ブルーチン,15はロードモジュール情報,16はマル
チウィンドウ制御プログラム.17は表示装置.17a
は被トレースプログラム14の会話処理画面,17bは
トレースプログラム13のカウント頭域13aの内容を
示すカウント表示画面、17cはトレース開始カウント
入力画面.l8はキーボード,19は外部記憶装置,2
0は被トレースプログラムのロードモジュールを示す. マルチウィンドウ制御プログラムl6はOS12の一部
として構成されてもよく,表示装宜17の会話処理画面
17a,カウント表示西面17b.トレース開始カウン
ト入力画面17eの切り換えを制御する. 第2図の実施例システムの動作を,第3図ialおよび
第3図山》のフローにしたがって説明する.第3図(a
lは.トレース開始カウント値を決定する第1の段階の
処理のフローである. ■ トレースプログラム13の実行開始を指示する.こ
のとき被トレースプログラム名と.被トレースプログラ
ムの実行中に呼び出すサブルーチン名を指定する. ■ トレースプログラム13は,OS12に対して被ト
レースプログラムのローディング依韻とローディングア
ドレスの通知依鯨とを行う.OS12は.外部記憶装置
19から被トレースプログラムのロードモジュール20
を被トレースプログラム14およびロードモジュール情
報l5で示すようにローディングし,その開始アドレス
をトレースプログラム13に通知する. ■ トレースプログラム13は.上記ローデイング開始
アドレスと被トレースプログラム14のロードモジュー
ル情報l5より指定されたサブルーチン14bのサブル
ーチン入口14aのアドレスを求める. ■ トレースプログラム13は,指定されたサブルーチ
ン入口14aのアドレスにあるCPU命令の代わりに,
ブレークポイント(ブレークポイント命令)を設定する
.またカウント領域13aを0にクリアする. ■ 被トレースプログラム14の実行を開始する.被ト
レース・プログラム14の処理状態は,表示装置l7の
会話処理画面1?aに反映されている.またトレースプ
ログラム13はWAIT状態にある. ■ 被トレースプログラム14は,ブレークポイントで
停止し,OS12に割り込みを上げる.この結果,OS
12は,トレースプログラム13のWAIT状態を解除
し.トレースプログラム13はカウント領域13aのカ
ウント値を+1し.カウント表示画面17bに表示する
. ■ トレースプログラム13は,サブルーチン入口14
aに設定されているブレークポイントを,元のCPU命
令に復旧し,OS12を介して被トレースプログラム1
4に制御を戻して1ステップ実行させる. ■ ブレークポイント上の命令をブレークポイント用命
令に戻す. プログラム処理が進行すると,プレークポイント用命令
で被トレースプログラム14は再度停止し.カウント領
域13aのカウント値が+1され,表示装置【7のカウ
ント表示西面17bのカウント値が更新される. 以上の処理を繰り返して実行し1使用者は,被トレース
プログラム14の処理の進行を会話処理画面17a”r
碓認する. 被トレースプログラム14がトレースを開始したい時点
に達したところで.使用者はカウント表示画面17bの
カウント値すなわちトレース開始からカウント値(Nで
表す)を読み取り,一旦被トレースプログラム14を終
了する.続いて第2段階の処理に移る. 第3図tb+は,トレース開始からカウント値Nを用い
てトレースを実行する第2の段階の処理のフローである
. ■ トレースプログラム13を再度実行する.@ 被ト
レースプログラム14をロードし.またロード開始アド
レスを求める. ■ 被トレースプログラム14のロードモジュール情報
15より.指定されたサブルーチン入口14aのアドレ
スを求める. O トレースプログラム13は.サブルーチン入口14
aにあるサブルーチンを呼び出すCPU命令に代えて,
ブレークポイントを設定する.またトレース開始カウン
ト入力画面17Cによりカウント値Nを入力させ,カウ
ント領域13aにNを設定する. 0,@l 被トレースプログラム14を実行し,ブレー
クポイントで停止したならカウント領域13aのカウン
トイ直を−1する. ■.@ もしカウント{直がOでないなら.フ゛レ−ク
ポイントを元のCPU命令に復旧し,lステップ実行す
る. ■ 入口アドレスのCPU命令をブレークポイントに戻
し,処理を繰り返す. [相] もしカウント値が0であったなら,トレース処
理を開始する. トレースプログラム13は,トレースデータの採取を開
始すると,トレース情報の種類を指定して,OS12よ
り被トレースプログラム14に関するトレースデータを
得る.トレースデータは.トレースデータ領域13bに
格納される.以上述べた実施例の場合.トレース開始カ
ウント値は,使用者が第1段階で読み取り9第2段階の
始めに入力設定していたが,第1段階の終わりに適当な
指示を与えて.トレースプログラム13にカウント領域
13aの最後のカウント値を第2段階でそのままトレー
ス開始カウント値Nとして使用させることも可能である
. 〔発明の効果〕 本発明によれば,トレース開始時点を被トレースプログ
ラムの実行状態に即して適切に設定することができるた
め,トレースデータの採取に要する処理時間が短縮され
,また採取されるトレースデータに無駄が少なくなるた
め,メモリ資源の有効利用が図れるとともに,トレース
データの解析作業も容易になる利点が得られる.
【図面の簡単な説明】
第1図は本発明の原理説明図,第2図は本発明の1実施
例システムの構成図.第3図(alおよび第3図中》は
第2図に示されている実施例システムによるトレース開
始処理の第1の段階と第2の段階のフロー図,第4図は
従来例のトレース開始方式の説明図である. 第1図中 12:Os 13:トレースプログラム 13a:カウント領域 14;被トレースプログラム 14a:サブルーチン入口 14tzサブルーチン l7:表示装置 18:キーボード

Claims (1)

  1. 【特許請求の範囲】 1)トレースプログラムのトレース開始方式において、 被トレースプログラム(14)が実行中に予め指定され
    たサブルーチン(14b)を呼び出す回数をカウントす
    るカウント領域(13a)を設け、第1の段階として、
    被トレースプログラム (14)の指定したサブルーチン(14b)の入口にブ
    レークポイントを設定し、また上記カウント領域(13
    a)をクリアして、被トレースプログラム(14)を起
    動し、上記サブルーチン(14b)が呼び出される度に
    カウント領域のカウント値を+1するとともに、そのカ
    ウント値を表示装置(17)に表示して被トレースプロ
    グラムにトレース処理を開始させるのに適した時点のカ
    ウント値を識別させた後、一旦トレースプログラム(1
    3)を終了し、 第2の段階として、第1の段階で識別したカウント値を
    指定して再度被トレースプログラム(14)を起動し、
    トレースプログラム(13)は、上記サブルーチン(1
    4b)が上記指定されたカウント値の回数だけ呼び出さ
    れたところからトレースデータの採取を開始することを
    特徴とするトレースプログラムのトレース開始方式。 2)請求項第1項に記載のトレース開始方式において、
    トレースプログラム(13)は、第1の段階で最後に表
    示したカウント値を保存し、つづいて第2の段階で被ト
    レースプログラム(14)を再起動し、その後、指定さ
    れたサブルーチン (14b)が上記保存したカウント値の回数だけ呼び出
    されたところから、トレースデータの採取を開始するト
    レースプログラムのトレース開始方式。
JP1055809A 1989-03-08 1989-03-08 トレースプログラムのトレース開始方式 Pending JPH02234237A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1055809A JPH02234237A (ja) 1989-03-08 1989-03-08 トレースプログラムのトレース開始方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1055809A JPH02234237A (ja) 1989-03-08 1989-03-08 トレースプログラムのトレース開始方式

Publications (1)

Publication Number Publication Date
JPH02234237A true JPH02234237A (ja) 1990-09-17

Family

ID=13009254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1055809A Pending JPH02234237A (ja) 1989-03-08 1989-03-08 トレースプログラムのトレース開始方式

Country Status (1)

Country Link
JP (1) JPH02234237A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103399813A (zh) * 2013-06-30 2013-11-20 惠州市德赛西威汽车电子有限公司 一种基于Trace信息的嵌入式系统离线跟踪分析方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103399813A (zh) * 2013-06-30 2013-11-20 惠州市德赛西威汽车电子有限公司 一种基于Trace信息的嵌入式系统离线跟踪分析方法
CN103399813B (zh) * 2013-06-30 2016-05-11 惠州市德赛西威汽车电子股份有限公司 一种基于Trace信息的嵌入式系统离线跟踪分析方法

Similar Documents

Publication Publication Date Title
US7559060B2 (en) Time-bounded program execution
US20080005438A1 (en) Methods and Apparatuses to Maintain Multiple Execution Contexts
JPH01200480A (ja) コンピユータ・グラフイック・システムの制御方法
US20030023655A1 (en) Method and apparatus to facilitate suspending threads in a platform-independent virtual machine
CN115048145B (zh) 一种信息采集方法、装置及相关设备
JPH10177425A (ja) 計算機システム
JPH02234237A (ja) トレースプログラムのトレース開始方式
JP3538292B2 (ja) 実行時プログラム翻訳方法
JP2864979B2 (ja) ソフトウェアデバッガ
KR940007827B1 (ko) 실시간 운영체계에서의 운영체계와 사용자 프로그램의 정합방법
CN111078449A (zh) 信息处理方法、信息处理装置及终端设备
JP2683274B2 (ja) 関数トレース出力方式
JPH04153742A (ja) プログラム性能測定方式
JPS58192152A (ja) プロセスの終了監視方式
Magnusson et al. Garbage collection for control systems
JP2621651B2 (ja) 仮想記憶使用量測定処理装置
JPS58223855A (ja) マイクロプログラムによる記憶アドレス管理装置
JPS59189452A (ja) デ−タ処理装置用キユ−構造
JPH0348984A (ja) データフロー型計算機のセルフクリーニング方式
JPH0683652A (ja) マイクロコンピュ−タシステム
JP3116819B2 (ja) マイクロプログラムのリトライ制御方式
CN118113316A (zh) 一种界面更新方法和装置
CN118689678A (zh) 操作系统的异常分析方法、装置、计算机设备以及芯片
JPS638946A (ja) プログラムデバツグサポ−ト方式
JPH01187647A (ja) トランザクショントレース情報採取方式