JP3120434B2 - Program operation analysis method - Google Patents
Program operation analysis methodInfo
- Publication number
- JP3120434B2 JP3120434B2 JP02071175A JP7117590A JP3120434B2 JP 3120434 B2 JP3120434 B2 JP 3120434B2 JP 02071175 A JP02071175 A JP 02071175A JP 7117590 A JP7117590 A JP 7117590A JP 3120434 B2 JP3120434 B2 JP 3120434B2
- Authority
- JP
- Japan
- Prior art keywords
- analysis
- instruction
- program
- information
- operated
- 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 - Lifetime
Links
Landscapes
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、プログラム動作解析方法に係り、詳しく
は、プログラム開発における製品の性能動作解析に関す
る実行命令数、命令ミックス値等の提供、および、障害
発生時の原因追求に関する動的命令のトレース情報の提
供に好適なプログラム動作解析方法に関するものであ
る。Description: BACKGROUND OF THE INVENTION The present invention relates to a program operation analysis method, and more particularly, to the provision of the number of execution instructions, instruction mix values, and the like relating to product performance operation analysis in program development. The present invention relates to a program operation analysis method suitable for providing trace information of a dynamic instruction regarding pursuit of a cause when a failure occurs.
従来、プログラムの性能動作解析は次のような方法に
よっていた。第1の机上で解析する方法であり、被動作
解析プログラムについて、机上で動的に命令をトレース
し、実行命令数および命令ミックス値を人間が求めると
いうものである。第2の計算機システムにおいて、中央
処理装置の1命令実行するごとに処理を中断し、解析デ
ータ取得プログラムに制御を渡すデバック割込機能を用
い、被動作解析プログラムおよびオペレーティングシス
テムを含む全動作プログラムの命令トレースデータを取
得し、その後、被動作解析プログラム部分をメモリ上に
ローディングされたアドレスの範囲で認知し、選択編集
出力することで、同様に実行命令数、および命令ミック
ス値を求めるというものである。なお、この種のプログ
ラムの実行状態をトレースするのに関連のある公知文献
としては、例えば特開昭60−3746号公報が挙げられる。Conventionally, performance operation analysis of a program has been performed by the following method. This is a method of performing analysis on a first desk, in which, for an operated analysis program, instructions are dynamically traced on a desk, and the number of executed instructions and an instruction mix value are obtained by a human. In the second computer system, the processing is interrupted each time one instruction of the central processing unit is executed, and a debug interrupt function for transferring control to an analysis data acquisition program is used. By acquiring instruction trace data, and then recognizing the operated analysis program part within the address range loaded on the memory, and selectively editing and outputting, the number of executed instructions and the instruction mix value are similarly obtained. is there. As a known document related to tracing the execution state of this type of program, for example, JP-A-60-3746 is cited.
上記従来技術において、第1の方法は人手を要し、ま
た、人間による解析であるため精度としても良くない。
第2の方法は、オペレーティングシステム自体もトレー
ス対象となり、その情報も取得するため、実行時間が長
時間必要とし、また、トレース情報も膨大なものとな
り、編集処理も繁雑で工数を要する。また、測定時、デ
バッグ割込やタイマ処理など、測定外のプログラム動作
を開始停止させる等、中央処理装置の特殊機能を使用す
ることにより該中央処理装置を占有する点、および、ト
レース情報取得のため準備、操作が複雑である点などの
問題があった。In the above-mentioned conventional technology, the first method requires human labor, and the accuracy is not good because the analysis is performed by a human.
In the second method, the operating system itself is also a trace target, and the information is also acquired. Therefore, a long execution time is required, the trace information is enormous, the editing process is complicated, and the man-hour is required. In addition, at the time of measurement, the use of special functions of the central processing unit, such as starting and stopping a program operation other than measurement, such as debug interrupt and timer processing, occupies the central processing unit, and the trace information acquisition. Therefore, there were problems such as complicated preparation and operation.
本発明の目的は、上記従来技術の問題点を解決したプ
ログラム動作解析方法を提供することにある。An object of the present invention is to provide a program operation analysis method that solves the above-mentioned problems of the conventional technology.
上記目的を達成するために、本発明は、解析対象の識
別コード、解析開始を指定する解析開始命令、及び、解
析終了を指定する解析終了命令が組み込まれた被動作解
析プログラムの動作解析を行うプログラム動作解析方法
であって、解析対象の識別コード及び解析指示パラメー
タを操作端末より受付けるステップ、前記被動作解析プ
ログラムの解析開始命令の実行で起動され、該解析開始
命令で連絡される識別コードと前記受付けた識別コード
をチエックし、一致がとれると、当該被動作解析プログ
ラムの解析開始を有効とし、解析情報スタックエリアを
確保するステップ、前記被動作解析プログラムの解析開
始命令の次命令から命令を順次取込み、前記受付けた解
析指示パラメータに応じて、該取込んだ命令を分類し、
解釈し、実行し、当該命令に関する情報を前記解析情報
スタックエリアにスタックする処理を、解析終了命令を
実行するまで繰返すステップ、前記解析情報スタックエ
リアにスタックされた情報を編集出力するステップ、 を有することを特徴とする。In order to achieve the above object, the present invention performs operation analysis of a driven analysis program incorporating an analysis target identification code, an analysis start instruction for designating an analysis start, and an analysis end instruction for designating the end of analysis. A program operation analysis method, comprising the steps of: receiving an analysis target identification code and an analysis instruction parameter from an operation terminal; starting by executing an analysis start instruction of the operated analysis program; The received identification code is checked, and when a match is obtained, the analysis start of the operated analysis program is enabled, and an analysis information stack area is secured. Sequentially fetching, classifying the fetched instruction according to the received analysis instruction parameter,
Interpreting, executing, and repeating a process of stacking information relating to the instruction in the analysis information stack area until an analysis end instruction is executed, and editing and outputting information stacked in the analysis information stack area. It is characterized by the following.
また、本発明は、解析対象の識別コード、解析開始を
指定する解析開始命令が組み込まれた被動作解析プログ
ラムの動作解析を行うプログラム動作解析方法であっ
て、解析対象の識別コード及び解析指示パラメータを操
作端末より受付けるステップ、前記被動作解析プログラ
ムの解析開始命令の実行で起動され、該解析開始命令で
連絡される識別コードと前記受付けた識別コードをチエ
ックし、一致がとれると、当該被動作解析プログラムの
解析開始を有効とし、解析情報スタックエリアを確保す
るステップ、前記被動作解析プログラムの解析開始命令
の次命令から命令を順次取込み、前記受付けた解析指示
パラメータに応じて、該取込んだ命令を分類し、解釈
し、実行し、当該命令に関する情報を前記解析情報スタ
ックエリアにスタックする処理を、当該被動作解析プロ
グラムの全命令を実行するまで繰返すステップ、前記解
析情報スタックエリアにスタックされた情報を編集出力
するステップ、を有することを特徴とする。The present invention also provides a program operation analysis method for analyzing the operation of an operation analysis program incorporating an analysis target identification code and an analysis start instruction for designating the start of analysis, comprising: an analysis target identification code and an analysis instruction parameter. Is received from the operation terminal, and is started by execution of an analysis start instruction of the operated analysis program. The identification code communicated by the analysis start instruction is checked with the received identification code. Validating the start of analysis of the analysis program, securing an analysis information stack area, sequentially fetching instructions from the next instruction following the analysis start instruction of the operated analysis program, and fetching the instructions in accordance with the received analysis instruction parameters. Classify, interpret, and execute instructions and stack information about the instructions in the analysis information stack area. Processing, characterized by having a step, which step is output edit information stacked in said analysis information stack area repeating until executes all instructions of the target motion analysis program.
動作解析プログラムは、被動作解析プログラムから起
動を受けて、該被動作解析プログラムの解析開始の有効
性をチエックし、主記憶上に解析情報スタックエリアを
自律的に確保し、以降、該被動作解析プログラムの命令
を、1命令ずつ取込み、解析指示パラメータに応じて、
命令を分類し、解釈・実行し、該実行した命令の解析情
報をスタックしていく。これにより、中央処理装置(ハ
ードウエア)に依存する特殊機能の利用によらないで、
プログラム自体により、容易にオペレータの指示に応じ
たきめ細かな動作命令トレースが可能になる。The operation analysis program receives the activation from the operated analysis program, checks the validity of the analysis start of the operated analysis program, autonomously secures an analysis information stack area in the main memory, and thereafter, The instructions of the analysis program are fetched one by one, and according to the analysis instruction parameter,
Instructions are classified, interpreted and executed, and analysis information of the executed instructions is stacked. As a result, instead of using special functions that depend on the central processing unit (hardware),
The program itself makes it possible to easily trace a detailed operation instruction according to an instruction from an operator.
以下、本発明の一実施例について図面により説明す
る。Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
第1図は本発明のプログラム動作解析方法を実現する
計算機システムの構成例を示したものである。第1図に
おいて、中央処理装置(CPU)1は主記憶装置2を含
み、該主記憶装置2上に、オペレーティングシステム
(OS)11、被動作解析プログラム12および動作解析プロ
グラム13が置かれる。動作解析プログラム13は、被動作
解析プログラム12の命令解析等を行う解析実行部14と被
動作解析プログラム12の解析範囲等を操作者より受付け
る解析指示部15に大別され、解析実行部14で命令トレー
スにより得た各種情報は解析情報スタックエリア16に格
納される。FIG. 1 shows a configuration example of a computer system for realizing the program operation analysis method of the present invention. In FIG. 1, a central processing unit (CPU) 1 includes a main storage device 2, on which an operating system (OS) 11, an operation analysis program 12, and an operation analysis program 13 are placed. The operation analysis program 13 is roughly divided into an analysis execution unit 14 that performs an instruction analysis and the like of the operation analysis program 12 and an analysis instruction unit 15 that receives an analysis range and the like of the operation analysis program 12 from an operator. Various information obtained by the instruction trace is stored in the analysis information stack area 16.
端末5とプリンタ6は、入出力制御装置(IOC)3を
通して中央処理装置1と接続される。端末5は、操作者
が被動作解析プログラム12と動作解析プログラム13の起
動コマンド入力、および解析指示パラメータの入力等を
行うのに用いられる。プリンタ6は解析情報等を出力す
るのに用いられる。The terminal 5 and the printer 6 are connected to the central processing unit 1 through an input / output control device (IOC) 3. The terminal 5 is used by the operator to input a start command of the operated analysis program 12 and the operation analysis program 13 and to input analysis instruction parameters. The printer 6 is used to output analysis information and the like.
情報出力ファイル7とプログラムライブラリ8は、入
出力制御装置(IOC)4を通して同じく中央処理装置1
と接続される。プログラムライブラリ8は多数のプログ
ラムを格納しており、オペレーティングシステム11の制
御下で、その所望プログラムが主記憶装置2にロードさ
れる。なお、オペレーティングシステム11は、該プログ
ラムのローディング機能の他に、プログラム実行に関
し、スーパバイザコール(以降SVCと略称する)に基づ
く各種機能の提供および実行中にプログラムが使用する
主記憶等のリソース管理等の機能を持っている。情報出
力ファイル7は、解析スタックエリア16の満杯時あるい
は動作の終了時等に、解析情報等を出力するのに使用さ
れる。The information output file 7 and the program library 8 are connected to the central processing unit 1 through an input / output control unit (IOC) 4.
Connected to The program library 8 stores a large number of programs, and the desired programs are loaded into the main storage device 2 under the control of the operating system 11. In addition to the loading function of the program, the operating system 11 provides various functions based on a supervisor call (hereinafter abbreviated as SVC) in connection with program execution, and manages resources such as a main memory used by the program during execution. Has the function of The information output file 7 is used to output analysis information and the like when the analysis stack area 16 is full or when the operation is completed.
第2図は、オペレーティングシステム(OS)11と、被
動作解析プログラム12と、動作解析プログラム13を構成
する解析実行部14、解析指示部15および解析情報スタッ
クエリア16の間の制御と情報の流れを、端末5を含めて
示したものである。動作解析プログラム13の解析実行部
14は開始チエック部21、命令解釈実行部22および解析情
報編集出力部23より構成され、解析指示部15は開始宣言
部41および終了チエック部42より構成される。被動作解
析プログラム12のソースプログラム中には、解析開始マ
クロ命令31と解析終了マクロ命令33が組み込まれ、これ
により解析対象命令範囲である被解析部32が指定され
る。FIG. 2 shows a control and information flow among an operating system (OS) 11, an operation analysis program 12, an analysis execution unit 14, an analysis instruction unit 15, and an analysis information stack area 16 which constitute the operation analysis program 13. Is shown including the terminal 5. Analysis execution part of motion analysis program 13
14 includes a start check unit 21, an instruction interpretation execution unit 22, and an analysis information edit output unit 23, and the analysis instruction unit 15 includes a start declaration unit 41 and an end check unit 42. An analysis start macro instruction 31 and an analysis end macro instruction 33 are incorporated in the source program of the operation analysis program 12, and thereby the analysis target section 32 which is an analysis target instruction range is specified.
解析開始マクロ命令31および解析終了マクロ命令33
は、動作解析プログラム13の解析実行部14に対する開始
及び終了の指示を行う役割のもので、各々、第4図、第
5図に示すコールインタフェースを設定している。Analysis start macro instruction 31 and analysis end macro instruction 33
Has a role of instructing the analysis executing section 14 of the operation analysis program 13 to start and end the operation, and sets the call interfaces shown in FIGS. 4 and 5, respectively.
実施例では、被解析部32に対する解析情報として、第
6図に示す4種類の情報の取得を可能とするが、端末5
の操作者からの解析指示パラメータ43により、該取得情
報の選択が可能である。第7図に解析指示パラメータ43
の内容を示す。In the embodiment, the four types of information shown in FIG. 6 can be obtained as the analysis information for the analyzed section 32.
The obtained information can be selected by the analysis instruction parameter 43 from the operator. FIG. 7 shows the analysis instruction parameter 43.
Indicates the contents of
次に、動作解析の手順を第2図により説明する。操作
者は端末5から、開始パラメータとして、被動作解析プ
ログラム12が解析開始マクロ命令31のコーリングシーケ
ンスで宣言している識別コードと同一のコードと、解析
指示パラメータを入力する。解析指示部15の開始宣言部
41では、入力された識別コードを資源名として、プログ
ラム間の連絡情報設定マクロ命令を用い、解析指示パラ
メータ43をOS11に設定する。Next, the procedure of the motion analysis will be described with reference to FIG. The operator inputs the same code as the identification code declared in the calling sequence of the analysis start macro instruction 31 by the operated analysis program 12 and the analysis instruction parameter from the terminal 5 as the start parameter. Start declaration section of analysis instruction section 15
At 41, the analysis instruction parameter 43 is set in the OS 11 by using the input identification code as a resource name and using a macro command for setting communication information between programs.
その後、OS11の制御下で被動作解析プログラム12がロ
ードされて起動し、該起動された被動作解析プログラム
12から解析開始マクロ命令31が実行され、その制御の流
れで、動作解析プログラム13における解析実行部14の開
始チエック部21が起動され、制御が渡る。Thereafter, the operated analysis program 12 is loaded and started under the control of the OS 11, and the started operated analysis program 12 is started.
The analysis start macro instruction 31 is executed from 12, and in the control flow, the start check unit 21 of the analysis execution unit 14 in the operation analysis program 13 is activated, and the control is passed.
開始チエック部21では、コーリングシーケンスで渡さ
れた識別コードを資源名として、連絡情報参照マクロ命
令をOS11に発行し、既に連絡情報が設定済みであるとい
うリターンコードをOS11から得た場合、解析指示がなさ
れたと判断し、即ち、被動作解析プログラムの解析開始
を有効と判断して、主記憶上に解析情報スタックエリア
16を確保し、その後、命令解釈実行部22を起動し、制御
を渡す。命令解釈実行部22は、被動作解析プログラム12
について、第4図のコーリングシーケンスで示すよう
に、汎用レジスタR14に格納されている被解析部32の先
頭アドレスに示す命令から動的に1命令ずつ解析終了マ
クロ命令33まで解釈実行し、解析情報スタックエリア16
のスタックエリア24からスタックエリア27に、端末から
入力されてOS11、開始チエック部21を介して渡される解
析情報指示パラメータ43に従って解析情報を格納する。
この命令解釈実行部22の動作の詳細については第3図に
より後述する。命令解釈実行部22は解析終了マクロ命令
33を実行したとき、解析情報編集出力部23を起動する。
解析情報編集出力部23は解析情報スタックエリア16の内
容を編集出力する。The start check unit 21 issues a contact information reference macro instruction to the OS 11 using the identification code passed in the calling sequence as a resource name, and if a return code indicating that contact information has already been set is obtained from the OS 11, an analysis instruction is issued. Is determined, that is, it is determined that the analysis start of the operated analysis program is valid, and the analysis information stack area is stored in the main memory.
16 is secured, and thereafter, the instruction interpretation and execution unit 22 is activated, and control is passed. The instruction interpretation and execution unit 22 includes the operated analysis program 12
As shown in the calling sequence of FIG. 4, the instruction is dynamically interpreted and executed one instruction at a time from the instruction indicated by the start address of the analyzed part 32 stored in the general-purpose register R14 to the analysis end macro instruction 33. Stack area 16
The analysis information is stored from the stack area 24 to the stack area 27 according to the analysis information instruction parameter 43 input from the terminal and passed through the OS 11 and the start check unit 21.
The details of the operation of the command interpretation and execution unit 22 will be described later with reference to FIG. The instruction interpretation and execution unit 22 executes the analysis end macro instruction.
When step 33 is executed, the analysis information editing and output unit 23 is started.
The analysis information edit output unit 23 edits and outputs the contents of the analysis information stack area 16.
命令解釈実行部22は解析終了マクロ命令33を実行し、
前記解析情報編集出力部23の処理終了後、開始時の識別
コードより、終了識別コードを作成し(例えば、識別コ
ードの末尾に“E"を付す)、当該コードを資源名とし
て、連絡情報設定マクロ命令を発行し、終了コード(例
えば“END")44をOS11に設定する。解析指示部16の終了
チエック部42では、一定時間間隔で、前記約束の方法で
作成した終了識別コード名で、連絡参照マクロをOS11に
発行し、既に情報が設定済みであるというリターンコー
ドをOS11から得た場合、終了コード(例えば“END")44
を確認し、端末5にその旨のメッセージを出力し、解析
処理を終了する。The instruction interpretation execution unit 22 executes the analysis end macro instruction 33,
After the processing of the analysis information editing and output unit 23, an end identification code is created from the identification code at the start (for example, “E” is added to the end of the identification code), and the code is set as the resource name and the contact information is set. A macro instruction is issued, and an end code (for example, “END”) 44 is set in OS11. The end check unit 42 of the analysis instruction unit 16 issues a contact reference macro to the OS 11 at regular time intervals with the end identification code name created by the promised method, and returns a return code indicating that information has already been set to the OS 11. From the end code (eg "END") 44
Is confirmed, a message to that effect is output to the terminal 5, and the analysis process ends.
次に、第6図により、被動作解析プログラムの被動作
解析部32に対して取得する情報について説明する。Next, referring to FIG. 6, information acquired by the operated analysis unit 32 of the operated analysis program will be described.
命令ミックス用カウンタエリア71は、命令コード(1
バイト長で、0から255の値を示す)対応に、実行した
命令を累計するエリアであり、実行数により、当該被解
析部32の性能をチェックするために用いる。The instruction mix counter area 71 stores the instruction code (1
This is an area for accumulating the executed instructions corresponding to the byte length and indicating a value from 0 to 255), and is used to check the performance of the analyzed part 32 based on the number of executed instructions.
スーパーバイザコール用カウンタエリア72は、上記命
令コードで判明したSVC命令のサブコード(1バスト長
で、0から255の値を示す)対応に、実行したSVC命令を
累計するエリアであり、実行数により、同じく当該解析
部32の性能をチェックするために用いる。The supervisor call counter area 72 is an area for accumulating the executed SVC instructions corresponding to the subcodes of the SVC instructions identified by the above instruction code (1 bust length, indicating a value from 0 to 255). It is also used to check the performance of the analysis unit 32.
モジュール単位トレース情報エリア73は、被解析部32
内のモジュール別に、実行命令数と実行SVC命令の累計
値を示すエリアであり、上記エリア71、72の内容で異常
値と認識した場合のモジュール別解析に用いる。モジュ
ールへのコーリングシーケンスは、第4図に準じてお
り、第4図のスタート名称をモジュール名称として、後
述する第3図の処理55で得て、格納する。The module unit trace information area 73 includes the analyzed section 32
This area indicates the number of executed instructions and the total value of executed SVC instructions for each module within, and is used for analysis by module when the contents of the areas 71 and 72 are recognized as abnormal values. The calling sequence to the module is in accordance with FIG. 4, and the start name in FIG. 4 is obtained as a module name in a processing 55 in FIG. 3 described later and stored.
命令トレース情報エリア74は、実行した命令の1命令
ごとに次の情報を格納するエリアである。「モジュール
名称」は、被解析部32の当該モジュールを示す。「命令
アドレス」は当該命令の主記憶上のアドレスを示し、
「命令情報」は当該命令自体を示す。「命令の示すメモ
リ情報」には当該命令が情報処理対象とする実行後の情
報を最大128バイト格納し、「レジスタの内容」には、
命令実行前後のレジスタの内容を格納する。本命令トレ
ース情報エリア74の内容は、上記エリア73の情報他で、
異常と認知したが、動的トレースで詳細分析する場合に
用いる。なお、「命令の示すメモリ情報」および、「レ
ジスタの内容」は、プログラムの障害が発生した場合の
原因追求に有効である。The instruction trace information area 74 is an area for storing the following information for each executed instruction. The “module name” indicates the module of the analyzed part 32. "Instruction address" indicates the address of the instruction in main memory,
“Instruction information” indicates the instruction itself. In the “memory information indicated by the instruction”, information after execution that is the information processing target of the instruction is stored up to 128 bytes, and in the “register contents”,
Stores the contents of the register before and after the instruction execution. The contents of this instruction trace information area 74 are
Used when performing detailed analysis using dynamic tracing, although it is recognized as abnormal. The “memory information indicated by the instruction” and the “contents of the register” are effective in pursuing the cause when a program failure occurs.
次に、第3図により、命令解釈実行部22での制御の流
れを説明する。Next, the control flow in the instruction interpretation and execution unit 22 will be described with reference to FIG.
ステップ51では、被動作解析プログラム12の被解析部
32の先取アドレスおよびその時点の汎用レジスタの内容
等を格納し、動作解析用環境の設定を行う。In step 51, the analyzed part of the analyzed operation program 12
The 32 prefetch addresses and the contents of the general-purpose registers at that time are stored, and the operation analysis environment is set.
ステップ52では、被解析部32の命令を先頭から取込
む。ステップ53では、取込んだ命令コードを基に、SVC
命令か、それ以外か判定し、またSVC命令以外の命令に
於ては、分岐系の命令か、それ以外の命令(一般命令と
略称する)に分類する。その結果、解析指示パラメータ
43で命令トレース情報出力を指定していて、メモリ情報
の移動および演算を行う一般命令の場合、当該命令で示
すメモリアドレスより、実行前の情報を取得する。In step 52, the instruction of the analyzed part 32 is fetched from the head. In step 53, the SVC is
It is determined whether the instruction is an instruction or another instruction. If the instruction is other than the SVC instruction, the instruction is classified into a branch instruction or other instruction (abbreviated as a general instruction). As a result, analysis instruction parameters
If the instruction trace information output is specified in 43 and the instruction is a general instruction for moving and calculating memory information, information before execution is acquired from the memory address indicated by the instruction.
命令が分岐命令の場合は、命令後処理(ステップ56)
で退避されている、前命令の実行結果である状態コード
をチェックし、分岐成立の場合、分岐先アドレスを次処
理命令アドレスとし、不成立の場合、本命令の次命令を
次処理命令アドレスとするように、ステップ55において
命令をシミュレートする。If the instruction is a branch instruction, post-instruction processing (step 56)
Check the status code saved as the execution result of the previous instruction, and if the branch is taken, the branch destination address is set as the next processing instruction address. If not, the next instruction of this instruction is set as the next processing instruction address. As such, the instruction is simulated in step 55.
分岐命令以外のSVC命令および一般命令においては、
レジスタの内容を命令解釈実行部22で使用していた値か
ら被解析部32の値に再設定し、ステップ52で取込んだ命
令をステップ54で実行する。For SVC instructions other than branch instructions and general instructions,
The contents of the register are reset from the value used by the instruction interpretation and execution unit 22 to the value of the analyzed unit 32, and the instruction fetched in step 52 is executed in step 54.
ステップ56では、実行した命令の状態コードと共に、
命令実行により変更のあったレジスタの内容を退避し、
次命令の処理に備える。また、命令の実行結果を解析指
示パラメータに従い、解析情報スタックエリア16に格納
する。In step 56, along with the status code of the executed instruction,
Save the contents of the registers changed by the instruction execution,
Prepare for the processing of the next instruction. The instruction execution result is stored in the analysis information stack area 16 according to the analysis instruction parameter.
以降、ステップ52〜56のループで命令トレースを行
う。そして、第6図に示した命令トレース情報エリア74
に対応するスタックエリアが満杯になった場合は、解析
情報編集出力部起動(ステップ57)にて解析情報出力部
23を起動し、情報出力を行う。Thereafter, instruction tracing is performed in a loop of steps 52 to 56. Then, the instruction trace information area 74 shown in FIG.
When the stack area corresponding to is full, the analysis information output unit is activated (step 57).
Start 23 and output information.
終了は、第5図に示す解析終了マクロ命令33の分岐処
理をステップ55で実行した時、汎用レジスタR15で示す
アドレスに特別コード(例えば“@@END")の検出で判
断し、ステップ58において開始時の識別コードから終了
識別コードを作成し、当該コードを資源名として連絡情
報設定マクロ命令を発行することにより行う。The end is determined by detecting a special code (for example, "@END") at the address indicated by the general-purpose register R15 when the branch processing of the analysis end macro instruction 33 shown in FIG. This is performed by creating an end identification code from the identification code at the start and issuing a contact information setting macro instruction using the code as a resource name.
次に、命令後処理(ステップ56)における解析情報ス
タックエリアへの命令解析情報の格納について説明す
る。Next, storage of the instruction analysis information in the analysis information stack area in the instruction post-processing (step 56) will be described.
第2図の解析情報スタックエリア16を構成しているス
タックエリア(1)24〜スタックエリア(4)27は、各
々、第6図に示す、命令ミックスカウンタエリア71、ス
ーパーバイザコール用カウンタエリア72、モジュール単
位トレース情報エリア73、命令トレース情報エリア74に
対応しており、解析指定パラメータ43に従い当該解析情
報が格納される。ただし、スタックエリア26,27に格納
するモジュール名称は、外部から与えることなく、自動
的に取得する。これは次のようにして行う。各モジュー
ルへのコーリングシーケンスは第4図に準じており、ア
センブルされた分岐命令をステップ55で実行した時、レ
ジスタR15に示すアドレスを基に、コンパイラ仕様に基
づき検索し、第4図で記述した「スタート名称」を入手
し、モジュール名称とする。なお、アセンブラ言語で記
述されていて、検出できない場合は、レジスタR15で示
すアドレスをモジュール名称と仮定すればよい。The stack area (1) 24 to the stack area (4) 27 forming the analysis information stack area 16 in FIG. 2 are an instruction mix counter area 71, a supervisor call counter area 72, and a It corresponds to the module unit trace information area 73 and the instruction trace information area 74, and stores the analysis information according to the analysis designation parameter 43. However, the module names stored in the stack areas 26 and 27 are automatically obtained without being given from outside. This is performed as follows. The calling sequence to each module is in accordance with FIG. 4. When the assembled branch instruction is executed in step 55, a search is performed based on the compiler specification based on the address indicated in the register R15 and described in FIG. Obtain the “start name” and use it as the module name. In the case where it is described in assembler language and cannot be detected, the address indicated by the register R15 may be assumed to be the module name.
以上、実施例では、被動作解析プログラム12に解析開
始マクロ命令および解析終了マクロ命令を組込むとした
が、例えば被動作解析プログラムの命令数が左程多くな
い場合には解析終了マクロ命令を省略してもよい。この
場合、動作解析プログラム13の命令解釈実行部22では、
被動作解析プログラムの全命令を実行した時点で解析終
了を判断し、開始時の識別コードから終了識別コード44
を作成すればよい。As described above, in the embodiment, the analysis start macro instruction and the analysis end macro instruction are incorporated in the operated analysis program 12. However, for example, when the number of instructions of the operated analysis program is not as large as the left, the analysis end macro instruction is omitted. You may. In this case, the instruction interpretation execution unit 22 of the operation analysis program 13
When all the instructions of the operated analysis program have been executed, the end of the analysis is determined, and the end identification code 44
Should be created.
以上の説明から明らかな如く、本発明によれば、動作
解析プログラムで被動作解析プログラムの解析開始の有
効性、解析環境の設定等を行い、解析対象範囲の命令を
順次取込んでは、操作端末からの解析指示パラメータに
応じて、命令を分類、解釈・実行及びスタックし、さら
に、スタックした解析情報を編集出力することにより、
ハードウエアの1命令実行しては解析プログラムにリタ
ーンするという特殊機能を使用しないですみ、従って、
複数の解析が並行して可能となり、また、オペレーティ
ングシステム自体のトレース(SV命令自体)をすること
なく、ユーザ作成の被動作解析プログラム部分のみが対
象となり、プログラム自体で、高速で簡便で、しかも、
きめ細かな動的解析処理が可能となる。As is apparent from the above description, according to the present invention, the operation analysis program sets the validity of the start of the analysis of the operated analysis program, sets the analysis environment, etc., and sequentially fetches the instructions in the analysis target range. By classifying, interpreting, executing and stacking instructions according to the analysis instruction parameter from, and editing and outputting the stacked analysis information,
It is not necessary to use the special function of executing one hardware instruction and returning to the analysis program.
Multiple analyzes can be performed in parallel, and only the operated analysis program portion created by the user is targeted without tracing the operating system itself (SV instruction itself), and the program itself is fast, simple, and ,
Fine dynamic analysis processing becomes possible.
また、被動作解析プログラムと動作解析プログラムの
連絡と、被動作解析プログラムの解析範囲指定を兼ね
て、被動作解析プログラムのソースコード内に解析開始
マクロ命令、解析終了マクロ命令を組込むことにより、
解析時間を短縮すると共に、必要最小限のトレース情報
のみ取得可能になる。In addition, by incorporating the analysis start macro instruction and the analysis end macro instruction in the source code of the operated analysis program to serve as communication between the operated analysis program and the operation analysis program and to specify the analysis range of the operated analysis program,
The analysis time can be shortened, and only the minimum necessary trace information can be obtained.
さらに、被動作解析プログラムは、作成言語面では、
COBOL言語、PL/I言語およびアセンブラ言語で例示して
いるが、C言語等に於ても適用可能であり、プログラム
実行面では、端末からのトランザクション処理を行なう
オンラインプログラムおよびバッチ処理プログラムのい
ずれにも適用可能であり、幅広い利用が実現する。In addition, the operated analysis program has a language
Although illustrated in the COBOL language, PL / I language and assembler language, the present invention can be applied to the C language and the like, and in terms of program execution, any of an online program that performs transaction processing from a terminal and a batch processing program can be used. Is also applicable, and wide use is realized.
【図面の簡単な説明】 第1図は本発明のプログラム動作解析方法を実現するシ
ステム構成例を示す図、第2図は本発明の一実施例の被
動作解析プログラムと動作解析プログラム間の制御と情
報の流れを示す図、第3図は動作解析プログラム中の解
析実行部の処理の流れを示す図、第4図および第5図は
解析開始マクロ命令と解析終了マクロ命令を示す図、第
6図は解析情報エリアのデータ構成例を示す図、第7図
は、解析操作者からの解析指定パラメータの一例を示す
図である。 1……中央処理装置、2……主記憶装置、5……ユーザ
端末、 12……被動作解析プログラム、13……動作解析プログラ
ム、 14……解析実行部、15……解析指示部、 16……解析情報スタックエリア、31……解析開始マクロ
命令、 32……被解析部、33……解析終了マクロ命令。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram showing an example of a system configuration for realizing a program operation analysis method according to the present invention, and FIG. 2 is a diagram showing control between an operated analysis program and an operation analysis program according to an embodiment of the present invention. FIG. 3 is a diagram showing a flow of processing of an analysis execution unit in an operation analysis program, FIGS. 4 and 5 are diagrams showing an analysis start macro instruction and an analysis end macro instruction, FIG. 6 is a diagram showing an example of a data configuration of an analysis information area, and FIG. 7 is a diagram showing an example of an analysis designation parameter from an analysis operator. DESCRIPTION OF SYMBOLS 1 ... Central processing unit, 2 ... Main storage device, 5 ... User terminal, 12 ... Operated analysis program, 13 ... Operation analysis program, 14 ... Analysis execution part, 15 ... Analysis instruction part, 16 ... Analysis information stack area, 31 ... Analysis start macro instruction, 32 ... Analyzed part, 33 ... Analysis end macro instruction.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐竹 喜次 神奈川県川崎市幸区鹿島田890番地の12 株式会社日立製作所情報システム工場 内 (72)発明者 増山 建也 神奈川県川崎市幸区鹿島田890番地の12 株式会社日立製作所情報システム工場 内 (56)参考文献 特開 昭62−119642(JP,A) 特開 昭61−196338(JP,A) 特開 昭60−63647(JP,A) 特開 昭63−300334(JP,A) 特開 昭59−200356(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 11/00 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor, K. Satake, 890 Kashimada, Saiwai-ku, Kawasaki-shi, Kanagawa Prefecture Inside the Hitachi, Ltd. Information Systems Plant No. 12 Information system factory of Hitachi, Ltd. (56) References JP-A-62-119642 (JP, A) JP-A-61-196338 (JP, A) JP-A-63-300334 (JP, A) JP-A-59-200356 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 11/00
Claims (2)
る解析開始命令、及び、解析終了を指定する解析終了命
令が組み込まれた被動作解析プログラムの動作解析を行
うプログラム動作解析方法であって、 解析対象の識別コード及び解析指示パラメータを操作端
末より受付けるステップ、 前記被動作解析プログラムの解析開始命令の実行で起動
され、該解析開始命令で連絡される識別コードと前記受
付けた識別コードをチエックし、一致がとれると、当該
被動作解析プログラムの解析開始を有効とし、解析情報
スタックエリアを確保するステップ、 前記被動作解析プログラムの解析開始命令の次命令から
命令を順次取込み、前記受付けた解析指示パラメータに
応じて、該取込んだ命令を分類し、解釈し、実行し、当
該命令に関する情報を前記解析情報スタックエリアにス
タックする処理を、解析終了命令を実行するまで繰返す
ステップ、 前記解析情報スタックエリアにスタックされた情報を編
集出力するステップ、 を有することを特徴とするプログラム動作解析方法。1. A program operation analysis method for performing an operation analysis of an operation analysis program in which an analysis target identification code, an analysis start instruction for designating an analysis start, and an analysis end instruction for designating an analysis end are incorporated. Receiving the identification code to be analyzed and the analysis instruction parameter from the operation terminal; starting the analysis start instruction of the operated analysis program and checking the identification code communicated with the analysis start instruction and the received identification code; Then, when a match is obtained, the analysis start of the operated analysis program is validated, and a step of securing an analysis information stack area is sequentially performed. Instructions are sequentially fetched from the instruction following the analysis start instruction of the operated analysis program, and the received analysis is performed. Classify, interpret, and execute the fetched instruction according to the instruction parameter, and save information related to the instruction. The process of stacking the analysis information stack area, repeating until you run the analysis end instruction, the program operation analyzing method characterized in that it comprises the step of editing outputting information stacked in said analysis information stack area.
る解析開始命令が組み込まれた被動作解析プログラムの
動作解析を行うプログラム動作解析方法であって、 解析対象の識別コード及び解析指示パラメータを操作端
末より受付けるステップ、 前記被動作解析プログラムの解析開始命令の実行で起動
され、該解析開始命令で連絡される識別コードと前記受
付けた識別コードをチエックし、一致がとれると、当該
被動作解析プログラムの解析開始を有効とし、解析情報
スタックエリアを確保するステップ、 前記被動作解析プログラムの解析開始命令の次命令から
命令を順次取込み、前記受付けた解析指示パラメータに
応じて、該取込んだ命令を分類し、解釈し、実行し、当
該命令に関する情報を前記解析情報スタックエリアにス
タックする処理を、当該被動作解析プログラムの全命令
を実行するまで繰返すステップ、 前記解析情報スタックエリアにスタックされた情報を編
集出力するステップ、 を有することを特徴とするプログラム動作解析方法。2. A program operation analysis method for analyzing the operation of an operated analysis program incorporating an identification code to be analyzed and an analysis start instruction for designating the start of analysis, comprising the steps of: Accepting from the operation terminal, being started by execution of an analysis start instruction of the operated analysis program, checking the identification code communicated by the analysis start instruction with the received identification code, and when a match is obtained, the operation analysis is performed. Validating the start of analysis of the program and securing an analysis information stack area; sequentially fetching instructions from the next instruction following the analysis start instruction of the operated analysis program, and executing the fetched instruction in accordance with the received analysis instruction parameter Classify, interpret, execute, and stack information about the instruction in the analysis information stack area. Management and program operation analyzing method characterized in that it comprises a step, step, editing outputs information stacked in said analysis information stack area repeating until executes all instructions of the target motion analysis program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02071175A JP3120434B2 (en) | 1990-03-20 | 1990-03-20 | Program operation analysis method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02071175A JP3120434B2 (en) | 1990-03-20 | 1990-03-20 | Program operation analysis method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03271839A JPH03271839A (en) | 1991-12-03 |
JP3120434B2 true JP3120434B2 (en) | 2000-12-25 |
Family
ID=13453066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP02071175A Expired - Lifetime JP3120434B2 (en) | 1990-03-20 | 1990-03-20 | Program operation analysis method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3120434B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6272106B1 (en) | 1994-05-06 | 2001-08-07 | Nit Mobile Communications Network, Inc. | Method and device for detecting double-talk, and echo canceler |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6063647A (en) * | 1983-09-16 | 1985-04-12 | Fujitsu Ltd | Measuring method of run time of specified program |
JPS61196338A (en) * | 1985-02-26 | 1986-08-30 | Fujitsu Ltd | Scope designating device for debugging information output |
JPS62119642A (en) * | 1985-11-20 | 1987-05-30 | Fujitsu Ltd | Trace system |
JPS63300334A (en) * | 1987-05-30 | 1988-12-07 | Nec Corp | Measurement system for number of times of instruction execution of program |
-
1990
- 1990-03-20 JP JP02071175A patent/JP3120434B2/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6272106B1 (en) | 1994-05-06 | 2001-08-07 | Nit Mobile Communications Network, Inc. | Method and device for detecting double-talk, and echo canceler |
Also Published As
Publication number | Publication date |
---|---|
JPH03271839A (en) | 1991-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5854932A (en) | Compiler and method for avoiding unnecessary recompilation | |
US6003095A (en) | Apparatus and method for demand loading a dynamic link library | |
US5761510A (en) | Method for error identification in a program interface | |
US20090172664A1 (en) | Adding a profiling agent to a virtual machine to permit performance and memory consumption analysis within unit tests | |
JP2000347871A (en) | Automatic stub/adapter generator | |
US7178135B2 (en) | Scope-based breakpoint selection and operation | |
CN111144839B (en) | Project construction method, continuous integration system and terminal equipment | |
KR20150042297A (en) | Dynamically loading graph-based computations | |
WO2003001373A1 (en) | Java rule engine framework | |
US20090144528A1 (en) | Method for running native code across single or multi-core hybrid processor achitecture | |
CN111880804A (en) | Application program code processing method and device | |
US7698692B1 (en) | Preparing a binary file for future instrumentation | |
EP1452962A2 (en) | System and method for defining and using subclasses declaratively within markup | |
US20040216138A1 (en) | Method and system for processing input from a command line interface | |
CN114625660A (en) | Debugging method and device | |
CN111158667B (en) | Code injection method and device, electronic equipment and storage medium | |
JP3120434B2 (en) | Program operation analysis method | |
JP2817786B2 (en) | Simulation apparatus and simulation method | |
US6983454B2 (en) | Extended “run to” function | |
CN113296834A (en) | Reverse engineering-based android closed source service type information extraction method | |
US8135943B1 (en) | Method, apparatus, and computer-readable medium for generating a dispatching function | |
US20120117546A1 (en) | Run-time Module Interdependency Verification | |
JPH02220145A (en) | Program tracing system | |
JP4998861B2 (en) | Computer system and HW abstraction method thereof | |
JP2590159B2 (en) | Environment setting method for integration test |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071020 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081020 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091020 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091020 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101020 Year of fee payment: 10 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101020 Year of fee payment: 10 |