JPH05127945A - プログラム実行状況解析方式 - Google Patents

プログラム実行状況解析方式

Info

Publication number
JPH05127945A
JPH05127945A JP3314048A JP31404891A JPH05127945A JP H05127945 A JPH05127945 A JP H05127945A JP 3314048 A JP3314048 A JP 3314048A JP 31404891 A JP31404891 A JP 31404891A JP H05127945 A JPH05127945 A JP H05127945A
Authority
JP
Japan
Prior art keywords
program
analysis
user
line number
user program
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
JP3314048A
Other languages
English (en)
Inventor
Tsugiichi Shibata
次一 柴田
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 JP3314048A priority Critical patent/JPH05127945A/ja
Publication of JPH05127945A publication Critical patent/JPH05127945A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 同一プログラムを何回も解析する場合でもコ
ンパイル,リンクを繰り返すことを不要にすると共に、
マルチタスクプログラムの並列性を保障しつつ、解析の
ための情報を任意の箇所でオーバーヘッド少なく採取す
る。 【構成】 解析サブルーチン7をリンクした利用者プロ
グラム5および行番号−アドレス変換表8を含むプロセ
ス10と解析プログラム3のプロセス2とを生成する。端
末装置11から行番号を入力すると、解析プログラム3は
カーネル4を通じてプロセス10の空間をアクセスして行
番号に対応する利用者プログラム5の箇所を変換表8で
求めると共にその箇所のオブジェクトコードを解析サブ
ルーチン7の呼び出し命令に変更し、その後利用者プロ
グラム5の動作を開始させる。利用者プログラム5にお
いて上記埋め込まれた呼び出し命令が実行されると、解
析サブルーチン7が呼び出され、プログラム実行状況の
解析に必要なデータが採取される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は情報処理装置におけるプ
ログラム実行状況解析方式に関し、特にマルチタスクプ
ログラムの実行状況を解析するのに適した方式に関す
る。
【0002】
【従来の技術】従来、この種のプログラム実行状況解析
方式として、以下のような2通りの方式が知られてい
る。
【0003】(1)解析対象とするプログラムのソース
プログラムを解析プログラムに入力し、この解析プログ
ラムにより解析サブルーチンの呼び出し命令を自動的に
ソースプログラム中に埋め込み、このソースプログラム
をコンパイル,リンクした後実行させることにより、呼
び出された解析サブルーチンによりプログラム実行状況
の解析に必要なデータを採取する方式。
【0004】(2)利用者がシンボリックデバッガに対
しソースプログラム中における解析したい行番号を指示
し、シンボリックデバッガにより、指示された行番号に
対応する、上記ソースプログラムをコンパイル,リンク
して生成されたプログラムのオブジェクトコードにブレ
ークポイントを設定し、このプログラムを実行させたと
きにブレークポイントに到達した際にカーネルを通して
デバッガに制御を移し、このデバッガにおいてプログラ
ム実行状況の解析に必要なデータを採取する方式。
【0005】
【発明が解決しようとする課題】従来は上述したような
方式によってプログラムの実行状況の解析を進めていた
が、以下のような問題点があった。
【0006】解析プログラムによりソースプログラム中
に解析サブルーチンの呼び出し命令を埋め込み、それを
コンパイル,リンクして実行する従来方式(1)では、
解析の仕方を変えて何度も解析を行う場合、その度にコ
ンパイル,リンクを繰り返す必要がある。また、解析プ
ログラムがソースプログラム中に自動的に解析サブルー
チンの呼び出し命令を埋め込むため、解析サブルーチン
の呼び出し命令を埋め込む箇所が固定化されてしまい、
特定のパターンでしか解析することができない。
【0007】シンボリックデバッガを利用し、利用者が
入力したソースプログラムの行番号に対応するオブジェ
クトコードにブレークポイントを設定し、ブレークポイ
ントに到達した時にカーネルを通してデバッガに制御を
移す従来方式(2)では、カーネルがオーバーヘッドと
なり、性能解析を行う際には誤差が大きくなってしま
う。
【0008】また、利用者プログラムのスループットを
向上させるために利用者プログラムの内で並列に動作可
能な部分をスレッドに分割して同時に1個以上のプロセ
ッサを割り当てて動作させる所謂マルチタスクプログラ
ムを解析対象とする場合、カーネルの処理は通常同時に
並列に動作することは少ないので、従来方式(2)で
は、複数のスレッドで動作したタスクがブレークポイン
トに到達すると、どちらか一方がカーネルに入り、他方
は先にカーネルに入った方の処理が終了するまで待たさ
れることになり、マルチタスクプログラムの並列性の解
析に支障が生じる。
【0009】本発明はこのような従来の問題点を解決し
たもので、その目的は、同一プログラムを何回も解析す
る場合でもコンパイル,リンクを繰り返すことが不要で
あり、然もマルチタスクプログラムの並列性を保障しつ
つ、解析のための情報を任意の箇所でオーバーヘッド少
なく採取することができるプログラム実行状況解析方式
を提供することにある。
【0010】
【課題を解決するための手段】本発明は上記の目的を達
成するために、利用者プログラムのプロセス空間を解析
プログラムのプロセスからアクセス可能とするシステム
コールを持つカーネルを備えた情報処理装置上で、解析
サブルーチンをリンクした利用者プログラム及びこの利
用者プログラムにかかる行番号−アドレス変換表を含む
プロセスと解析プログラムのプロセスとを各々生成し、
入力装置から前記解析プログラムに行番号を通知し、こ
の行番号を通知された前記解析プログラムにおいて、前
記行番号に対応する前記利用者プログラムの箇所を前記
行番号−アドレス変換表で求めさせてその箇所のオブジ
ェクトコードを前記解析サブルーチンの呼び出し命令に
変更させた後、前記利用者プログラムの動作を開始さ
せ、前記利用者プログラムに埋め込まれた前記呼び出し
命令によって呼び出される前記解析サブルーチンにおい
て、プログラム実行状況の解析に必要なデータを採取す
るようにしている。
【0011】本発明の好ましい実施例においては、前記
利用者プログラムは、並列に動作可能な部分がスレッド
に分割されて同時に1個以上のプロセッサに割り当てら
れて動作するマルチタスクプログラムである。
【0012】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
【0013】図1は本発明を適用した情報処理装置の構
成例を示すブロック図であり,1は情報処理装置、11
はこれに接続された端末装置である。また、2,10は
情報処理装置1上に生成された各々独立したプロセスで
あり、プロセス2は解析プログラム3の動作用のプロセ
ス、プロセス10は利用者プログラム5の動作用のプロ
セスである。また、4は利用者プログラム5のプロセス
10のプロセス空間を解析プログラム3のプロセス2か
らアクセス可能とするシステムコールを持つカーネルで
ある。
【0014】利用者プログラムのプロセス10には、利
用者プログラム5及びこの利用者プログラム5のメモリ
アドレスとソースプログラムの対応関係を示す行番号−
アドレス変換表8が含まれる。また、利用者プログラム
5は、利用者プログラム本体6とこれにリンクされたリ
エントラント構造の解析サブルーチン7とで構成され
る。なお、9は利用者プログラム5のスレッド群であ
る。
【0015】図2は解析プログラム3の処理の一例を示
すフローチャートであり、以下各図を参照して本実施例
の動作を説明する。
【0016】図1において、利用者によって端末装置1
1からマルチタスクプログラムである利用者プログラム
5の同時実行状況解析が指示されると、情報処理装置1
は、解析プログラムのプロセス2を生成する。これによ
り解析プログラム3が動作を開始する。
【0017】解析プログラム3は、まず利用者プログラ
ムのプロセス10を生成し、解析対象となる利用者プロ
グラム5および行番号−アドレス変換表8をこの中に読
み込む(S1)。その後、解析プログラム3は端末装置
11へ解析箇所の指示を促進するメッセージを出力し、
利用者からの応答を待つ(S2)。
【0018】利用者が解析箇所を指示する行番号を端末
装置11から入力すると(S3)、解析プログラム3は
カーネル4の機能を利用して、行番号−アドレス変換表
8をプロセス10から読み込み(S4)、この変換表に
基づき端末装置11から入力された行番号をメモリアド
レスに変換する(S5)。
【0019】その後、変換したメモリアドレスのオブジ
ェクトコードを解析サブルーチン7への呼び出し命令に
変更する(S6)。なお、このとき変更前のオブジェク
トコードの内容はそのアドレスと共に解析サブルーチン
7内のオリジナルコードの格納テーブル(図示せず)へ
保存する。
【0020】解析プログラム3は上記処理を完了すると
利用者プログラム5の動作を開始する指示をカーネル4
へ出す(S7)。
【0021】カーネル4はこの指示によって利用者プロ
グラム5の中の利用者プログラム本体6の実行を開始さ
せる。
【0022】利用者プログラム本体6の動作が開始する
と、自身が並列に動作するために、複数のスレッド空間
を生成し、利用者プログラム5のスレッド群9の中で利
用者プログラム本体6が並列に実行される。
【0023】利用者プログラム本体6のオブジェクトコ
ードは事前に必要な箇所を解析サブルーチン7への呼び
出し命令に書き換えられているため、その箇所に実行が
移ると、解析サブルーチン7が呼び出されることにな
る。
【0024】解析サブルーチン7は、リエントラント構
造であり、並列に動作する利用者プログラム本体6から
呼び出され、解析情報を採集する。
【0025】この解析処理については、並列に動作する
ことを妨げないものならば何でもよく、単に呼び出され
た回数をカウントすること、システムクロック値を順次
セーブしておき、実行終了後、この内容から並列性を調
査すること、マルチウィンドウシステムを呼び出して実
行中の行を並列に動作しながら表示すること等が実現可
能である。
【0026】その後、解析サブルーチン7内の格納テー
ブルに保存されたオリジナルコードおよびそのアドレス
に基づき利用者プログラム5の動作が再開される。
【0027】
【発明の効果】以上説明した本発明のプログラム実行状
況解析方式によれば、以下のような効果を得ることがで
きる。
【0028】コンパイル,リンク後の利用者プログラム
を扱うので、同一プログラムを何回も解析する場合でも
コンパイル,リンクを繰り返す必要がない。
【0029】解析対象とするプログラムのソースプログ
ラムの任意の行番号を指定すれば、解析プログラムが行
番号−アドレス変換表を参照して該当するオブジェクト
コードを解析サブルーチンの呼び出し命令に変更するの
で、解析のための情報を任意の箇所で採取することがで
きる。
【0030】解析サブルーチンは利用者プログラムにリ
ンクされており、解析箇所に埋め込んだ呼び出し命令に
よってこの解析サブルーチンを呼び出すので、カーネル
によるオーバーヘッドがなくなり、また、並列に動作可
能な部分がスレッドに分割されて同時に1個以上のプロ
セッサに割り当てられて動作するマルチタスクプログラ
ムを解析対象プログラムとする場合、並列性を保障で
き、マルチタスクプログラムの並列性の解析が可能にな
る。
【図面の簡単な説明】
【図1】本発明を適用した情報処理装置の構成例を示す
ブロック図である。
【図2】解析プログラムの処理の一例を示すフローチャ
ートである。
【符号の説明】 1…情報処理装置 2…解析プログラムの動作用のプロセス 3…解析プログラム 4…カーネル 5…利用者プログラム 6…利用者プログラム本体 7…解析サブルーチン 8…行番号−アドレス変換表 9…スレッド群 10…利用者プログラムの動作用のプロセス 11…端末装置

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 利用者プログラムのプロセス空間を解析
    プログラムのプロセスからアクセス可能とするシステム
    コールを持つカーネルを備えた情報処理装置上で、解析
    サブルーチンをリンクした利用者プログラムおよび該利
    用者プログラムにかかる行番号−アドレス変換表を含む
    プロセスと解析プログラムのプロセスとを各々生成し、 入力装置から前記解析プログラムに行番号を通知し、 該行番号を通知された前記解析プログラムにおいて、前
    記行番号に対応する前記利用者プログラムの箇所を前記
    行番号−アドレス変換表で求めさせてその箇所のオブジ
    ェクトコードを前記解析サブルーチンの呼び出し命令に
    変更させた後、前記利用者プログラムの動作を開始さ
    せ、 前記利用者プログラムに埋め込まれた前記呼び出し命令
    によって呼び出される前記解析サブルーチンにおいて、
    プログラム実行状況の解析に必要なデータを採取するよ
    うにしたプログラム実行状況解析方式。
  2. 【請求項2】 前記利用者プログラムは、並列に動作可
    能な部分がスレッドに分割されて同時に1個以上のプロ
    セッサに割り当てられて動作するマルチタスクプログラ
    ムである請求項1記載のプログラム実行状況解析方式。
JP3314048A 1991-10-31 1991-10-31 プログラム実行状況解析方式 Pending JPH05127945A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3314048A JPH05127945A (ja) 1991-10-31 1991-10-31 プログラム実行状況解析方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3314048A JPH05127945A (ja) 1991-10-31 1991-10-31 プログラム実行状況解析方式

Publications (1)

Publication Number Publication Date
JPH05127945A true JPH05127945A (ja) 1993-05-25

Family

ID=18048592

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3314048A Pending JPH05127945A (ja) 1991-10-31 1991-10-31 プログラム実行状況解析方式

Country Status (1)

Country Link
JP (1) JPH05127945A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215420A (ja) * 2000-10-10 2002-08-02 Ricoh Co Ltd 画像形成装置、プロセス監視方法、デバッグ方法およびこれらの方法をコンピュータに実行させるプログラム
WO2012049750A1 (ja) * 2010-10-14 2012-04-19 トヨタ自動車 株式会社 車両データ取得システム及び車両データ取得方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215420A (ja) * 2000-10-10 2002-08-02 Ricoh Co Ltd 画像形成装置、プロセス監視方法、デバッグ方法およびこれらの方法をコンピュータに実行させるプログラム
WO2012049750A1 (ja) * 2010-10-14 2012-04-19 トヨタ自動車 株式会社 車両データ取得システム及び車両データ取得方法
CN103154903A (zh) * 2010-10-14 2013-06-12 丰田自动车株式会社 车辆数据获取系统及车辆数据获取方法
CN103154903B (zh) * 2010-10-14 2015-07-22 丰田自动车株式会社 车辆数据获取系统及车辆数据获取方法

Similar Documents

Publication Publication Date Title
JPH05127945A (ja) プログラム実行状況解析方式
JPH0766342B2 (ja) プログラムテスト装置
US20020152256A1 (en) Method and device for reconstructing the process sequence of a control program
JPH0283749A (ja) マイクロプロセッサの内部割込み制御方式
JP2785606B2 (ja) パイプライン処理方式コンピュータ用プログラムのデバッガ
JPS60262251A (ja) マイクロプロセツサ開発支援装置
JPH0262639A (ja) 言語デバッガの中断方式
JPS6143347A (ja) ベクトル命令シミユレ−シヨン方法
JPH01188956A (ja) プログラム例外処理方式
JPH064348A (ja) プログラムデバッグ方式
JPS62290939A (ja) 実行命令の動的置換方式
JPH0695910A (ja) 異常処理のための対話型デバッグ制御方式
JPS63289654A (ja) プログラム分岐命令モニタ方式
JPS61206050A (ja) プログラムの動作解析方式
JPS61241843A (ja) 情報処理装置
JPH0468446A (ja) デバッグ支援装置
JPH09167104A (ja) メモリ非共有型システムのデバッグ装置
JPH04217034A (ja) プログラムトレースの表示方式
JPH05224711A (ja) プログラマブルコントローラの制御方法
JPH05204698A (ja) デバッガ処理方式
JPS63639A (ja) プログラムデバツグ方式
JPH0675789A (ja) 情報処理装置
JPH05224908A (ja) プログラム生産システム
JPH02207343A (ja) デバッグ装置
JPH04128936A (ja) プログラム実行環境切換え方式