JPH04256036A - Program analysis system - Google Patents

Program analysis system

Info

Publication number
JPH04256036A
JPH04256036A JP3017207A JP1720791A JPH04256036A JP H04256036 A JPH04256036 A JP H04256036A JP 3017207 A JP3017207 A JP 3017207A JP 1720791 A JP1720791 A JP 1720791A JP H04256036 A JPH04256036 A JP H04256036A
Authority
JP
Japan
Prior art keywords
program
machine language
instruction
language instruction
dynamic
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
JP3017207A
Other languages
Japanese (ja)
Inventor
Tsuguo Hayashi
林 伝雄
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 JP3017207A priority Critical patent/JPH04256036A/en
Publication of JPH04256036A publication Critical patent/JPH04256036A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

PURPOSE:To automatically analyze various kinds of information related to the dynamic behavior of a program by the precision of a machine language level. CONSTITUTION:A dynamic step analyzer 13 which analyzes the dynamic behavior of the program by starting a step-by-step mechanism 12 to start a monitor mechanism with each machine language instruction which the central processing unit of a computer has by software, and making the program to be a measured object generate the report 14 of an interruption event for each machine language instruction, and collects and analyzes the effective address of the program, the executed machine language instruction, and its operand information is provided.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明はコンピュータシステムの
性能解析方式、特に実際のプログラム実行の挙動を解析
するプログラム解析システムに関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer system performance analysis method, and more particularly to a program analysis system for analyzing the behavior of actual program execution.

【0002】0002

【従来の技術】コンピュータシステムの性能解析は、O
Sの持つ各種モニタ機能を用いて測定対象となるコンピ
ュータ資源の使用状況を分析するのが一般的である。中
央処理装置上でのプログラム実行性能に関しては、測定
対象となるプログラムの動的挙動分析が非常に重要であ
る。巨視的な動的分析はプログラムのソースリストを解
析することにより可能であるが、OSの空間も含めた機
械語命令レベルでの微視的な分析は非常に困難である。 例えば、プログラム割込み事象を生成する機械語命令を
被測定プログラムの計測開始点に埋め込み、該命令が実
行されることにより割込み事象を検出して計測情報を収
集した後、論理的に次に実行される命令アドレスに先に
述べた割込み事象生成する機械語命令を埋め込み、今割
込み事象を生成した命令アドレスの割込み事象生成命令
を本来実行すべき命令に置換した後、該命令を実行させ
て次々に命令シーケンスをたどって行く方法もあるが、
この方式では複数のタスク間でプログラムを共有する場
合には適合しないと言った問題がある。
[Prior Art] Performance analysis of computer systems is
It is common to use the various monitoring functions of S to analyze the usage status of computer resources to be measured. Regarding program execution performance on a central processing unit, dynamic behavior analysis of the program to be measured is very important. Macroscopic dynamic analysis is possible by analyzing a program source list, but microscopic analysis at the machine language instruction level, including the OS space, is extremely difficult. For example, a machine language instruction that generates a program interrupt event is embedded at the measurement start point of the program under test, and after the instruction is executed to detect the interrupt event and collect measurement information, it is logically executed next. Embed the machine language instruction that generates the interrupt event described earlier in the instruction address that has been generated, replace the interrupt event generation instruction at the instruction address that has just generated an interrupt event with the instruction that should be executed, and then execute the instructions one after another. There is also a way to follow the instruction sequence,
This method has a problem in that it is not suitable when a program is shared between multiple tasks.

【0003】0003

【発明が解決しようとする課題】上述した従来の技術で
は、アプリケーションプログラムの限定された範囲かあ
るいは非常に特殊な実行環境に限って計測が可能で、任
意の範囲を計測環境を限定せずにプログラムの動的挙動
を命令シーケンスに従って測定することが不可能である
[Problem to be Solved by the Invention] With the above-mentioned conventional technology, it is possible to measure only a limited range of an application program or a very special execution environment, and any range can be measured without limiting the measurement environment. It is not possible to measure the dynamic behavior of a program according to its instruction sequence.

【0004】0004

【課題を解決するための手段】本発明のプログラム解析
システムは、コンピュータの中央処理装置が有する機械
語命令毎に監視機構を起動するステップバイステップ機
構をソフトウェアより起動させ、測定対象となるプログ
ラムに対して1機械語命令毎に割込み事象を生成させる
ことによりプログラムの動的挙動を分析し、プログラム
の実行アドレス、実行した機械語命令およびそのオペラ
ンド情報を収集分析するダイナミックステップアナライ
ザとを備えて構成される。
[Means for Solving the Problems] The program analysis system of the present invention uses software to activate a step-by-step mechanism that activates a monitoring mechanism for each machine language instruction possessed by a central processing unit of a computer. In contrast, it is equipped with a dynamic step analyzer that analyzes the dynamic behavior of the program by generating an interrupt event for each machine language instruction, and collects and analyzes program execution addresses, executed machine language instructions, and their operand information. be done.

【0005】[0005]

【実施例】以下に本発明の実施例について図面を参照し
ながら説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Examples of the present invention will be described below with reference to the drawings.

【0006】図1は本発明の動作原理を示すブロック図
である。コンピュータの中央処理装置上で実行される命
令シーケンス1−1は中央処理装置上に実装されたステ
ップバイステップ機構1−2を起動させることにより、
測定対象とするタスクの命令シーケンスだけに絞り込ん
で割込み事象の報告14を生成する。生成された事象は
中央処理装置上に実装された例外処理機構を介してソフ
トウェアに報告される。この例外処理機構により呼び出
されるソフトウェアとして本ダイナミックステップアナ
ライザ13を設定することにより、中央処理装置上で実
行される測定対象タスクの全命令シーケンスを検出する
ことが可能となる。
FIG. 1 is a block diagram showing the operating principle of the present invention. The instruction sequence 1-1 executed on the central processing unit of the computer activates the step-by-step mechanism 1-2 implemented on the central processing unit.
The interrupt event report 14 is generated by narrowing down to only the instruction sequence of the task to be measured. The generated event is reported to the software via an exception handling mechanism implemented on the central processing unit. By setting the dynamic step analyzer 13 as software called by this exception handling mechanism, it becomes possible to detect the entire instruction sequence of the measurement target task executed on the central processing unit.

【0007】報告された割込み事象14はダイナミック
ステップアナライザ13により処理され、プログラムの
動的挙動に関する各種情報、例えば命令アドレス、実行
した機械語命令及び該命令に関するオペランド情報ある
いはプログラム実行のネストレベル等の情報を収集する
。情報収集が終了すると、次の命令シーケンスへの復帰
を行い(ステップ15)、再び割込み事象の生成を待ち
合わせる。この様にして測定対象とする命令シーケンス
に1命令実行の都度割込み動作を行なわせることにより
、プログラムの動的挙動に関する各種情報を収集するこ
とが可能となる。
The reported interrupt event 14 is processed by the dynamic step analyzer 13, which collects various information regarding the dynamic behavior of the program, such as the instruction address, executed machine language instruction and operand information regarding the instruction, or the nesting level of program execution. Collect information. When the information collection is completed, a return is made to the next instruction sequence (step 15), and the generation of an interrupt event is awaited again. In this way, by performing an interrupt operation every time one instruction is executed in the instruction sequence to be measured, it becomes possible to collect various information regarding the dynamic behavior of the program.

【0008】図2は、生成された割込み事象について説
明するものであり、生成された割込み事象の主要部分2
1とデータ収集手順とを示すブロック図では測定対象と
するタスク上で実行されるプログラムの命令シーケンス
の1機械語命令の命令アドレス21を持ち、このアドレ
スより該当する命令を参照することができる。参照され
た機械語命令22は命令コード部とオペランド部より構
成され、このオペランド部よりデータ23の参照も可能
になる。これによりプログラムの実行と参照されるデー
タとの相互関係も把握することが可能になる。
FIG. 2 explains the generated interrupt event, and shows the main part 2 of the generated interrupt event.
1 and the data collection procedure, there is an instruction address 21 of one machine language instruction of the instruction sequence of the program executed on the task to be measured, and the corresponding instruction can be referenced from this address. The referenced machine language instruction 22 is composed of an instruction code section and an operand section, and data 23 can also be referenced from this operand section. This makes it possible to understand the interrelationship between program execution and referenced data.

【0009】[0009]

【発明の効果】以上の説明から明らかなように、プログ
ラムの動的挙動に関する各種情報を機械語レベルの精度
でもって自動的に分析することが可能となるという効果
を有する。
As is clear from the above description, the present invention has the advantage that various information regarding the dynamic behavior of a program can be automatically analyzed with precision at the machine language level.

【図面の簡単な説明】[Brief explanation of the drawing]

【図1】本発明の動作原理を示すブロック図。FIG. 1 is a block diagram showing the operating principle of the present invention.

【図2】生成される割込み事象の主要部分とデータ収集
手順を示すブロック図。
FIG. 2 is a block diagram showing the main parts of generated interrupt events and data collection procedures.

【符号の説明】[Explanation of symbols]

11    命令シーケンス 12    ステップバイステップ機構13    ダ
イナミックステップアナライザ14    割込み事象
の報告 15    命令シーケンスへの復帰 21    割込み事象(主要部) 22    機械語命令 23    データ
11 Instruction sequence 12 Step-by-step mechanism 13 Dynamic step analyzer 14 Report of interrupt event 15 Return to instruction sequence 21 Interrupt event (main part) 22 Machine language instruction 23 Data

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】  コンピュータの中央処理装置が有する
機械語命令毎に監視機構を起動するステップバイステッ
プ機構をソフトウェアより起動させ、測定対象となるプ
ログラムに対して1機械語命令毎に割込み事象を生成さ
せることによりプログラムの動的挙動を分析し、プログ
ラムの実行アドレス、実行した機械語命令およびそのオ
ペランド情報を収集分析するダイナミックステップアナ
ライザとを備えてなることを特徴とするプログラム解析
システム。
Claim 1: A step-by-step mechanism that activates a monitoring mechanism for each machine language instruction possessed by a central processing unit of a computer is activated by software, and an interrupt event is generated for each machine language instruction for a program to be measured. What is claimed is: 1. A program analysis system comprising: a dynamic step analyzer that analyzes the dynamic behavior of a program by executing the program, and collects and analyzes program execution addresses, executed machine language instructions, and their operand information.
JP3017207A 1991-02-08 1991-02-08 Program analysis system Pending JPH04256036A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3017207A JPH04256036A (en) 1991-02-08 1991-02-08 Program analysis system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3017207A JPH04256036A (en) 1991-02-08 1991-02-08 Program analysis system

Publications (1)

Publication Number Publication Date
JPH04256036A true JPH04256036A (en) 1992-09-10

Family

ID=11937498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3017207A Pending JPH04256036A (en) 1991-02-08 1991-02-08 Program analysis system

Country Status (1)

Country Link
JP (1) JPH04256036A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210011A (en) * 2007-02-23 2008-09-11 Fujitsu Ltd Profiling device and profiling program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59200356A (en) * 1983-04-27 1984-11-13 Fuji Electric Co Ltd Program tracing system
JPS6270944A (en) * 1985-09-24 1987-04-01 Nec Corp Collecting system for trace information
JPH0452935A (en) * 1990-06-20 1992-02-20 Fujitsu Ltd Address trace data gathering system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59200356A (en) * 1983-04-27 1984-11-13 Fuji Electric Co Ltd Program tracing system
JPS6270944A (en) * 1985-09-24 1987-04-01 Nec Corp Collecting system for trace information
JPH0452935A (en) * 1990-06-20 1992-02-20 Fujitsu Ltd Address trace data gathering system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210011A (en) * 2007-02-23 2008-09-11 Fujitsu Ltd Profiling device and profiling program

Similar Documents

Publication Publication Date Title
JP2749528B2 (en) Tracer system for error analysis
US7415699B2 (en) Method and apparatus for controlling execution of a child process generated by a modified parent process
US7689558B2 (en) Application monitoring using profile points
US8336032B2 (en) Implementing enhanced template debug
US20040268315A1 (en) System and method for processing breakpoint events in a child process generated by a parent process
US8171340B2 (en) Software performance counters
JP2000235511A (en) Performance analysis method for application program and system/device used for performance analysis for application program
JPH0844590A (en) Apparatus and method for selection test of software system
US20040123274A1 (en) Multithread tracing method and apparatus
US7178135B2 (en) Scope-based breakpoint selection and operation
US8935703B2 (en) Performance counter inheritance
EP3387536B1 (en) Method and device for non-intrusively collecting function trace data
JPWO2009104344A1 (en) IT system behavior measurement and analysis system and method thereof
JP2010033543A (en) Software operation monitoring system, client computer, server computer thereof, and program thereof
US20160188441A1 (en) Testing multi-threaded applications
US20060248101A1 (en) Extensible and unobtrusive script performance monitoring and measurement
Li et al. Effectively manifesting concurrency bugs in android apps
JP4330429B2 (en) Profile information acquisition apparatus and method
JPH04256036A (en) Program analysis system
JP2005215816A (en) Performance profiling method using hardware monitor
JP3339708B2 (en) Event recording method
CN113704088B (en) Process tracing method, process tracing system and related device
Lee et al. Program conversion for detecting data races in concurrent interrupt handlers
KR101091457B1 (en) Online system test method
JPS63289654A (en) Program branching instruction monitoring system

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970805