JPH02294849A - Program debugging system - Google Patents

Program debugging system

Info

Publication number
JPH02294849A
JPH02294849A JP1117787A JP11778789A JPH02294849A JP H02294849 A JPH02294849 A JP H02294849A JP 1117787 A JP1117787 A JP 1117787A JP 11778789 A JP11778789 A JP 11778789A JP H02294849 A JPH02294849 A JP H02294849A
Authority
JP
Japan
Prior art keywords
internal interrupt
internal
internal interruption
program
instruction
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
JP1117787A
Other languages
Japanese (ja)
Inventor
Akihiko Hirota
広田 昭彦
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 Solution Innovators Ltd
Original Assignee
NEC Software Hokuriku 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 NEC Software Hokuriku Ltd filed Critical NEC Software Hokuriku Ltd
Priority to JP1117787A priority Critical patent/JPH02294849A/en
Publication of JPH02294849A publication Critical patent/JPH02294849A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To improve the efficiency of debug against an unexpected internal interruption by outputting automatically an internal interruption name, a message in which an internal interruption factor and its avoiding means are described, operand data of its instruction, and a related register. CONSTITUTION:In the case a generated internal interruption (n) is an unexpected internal interruption, an internal interruption discriminating means 13 delivers a control to a debug information monitor 4. Based on pointer information supplied from the internal interruption discriminating means 13, an internal interruption detailed message editing means 40 edits an internal interruption name INTN for showing an interruption classification of the internal interruption (n) in debug information 30 stored in an external storage device 3, and subsequently, an internal interruption (n) factor message FMn, and in the end, an internal interruption (n) hint message HMn. Next, an executing instruction operand editing means 41 is started, and moreover, an output register editing means 42 is started. In such a way, since an internal interruption or not cannot be discriminated directly, such a defect as the debug efficiency is bad can be eliminated.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、ソフトウェア・シミュレータを用いたプログ
ラム・デバグ方式に関し、特に評価対象プログラムのプ
ログラム・バグに起因する期待しない内部割込みが発生
した場合のプログラム・デバグ方式に関する。
[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to a program debugging method using a software simulator, and in particular to a method for debugging a program when an unexpected internal interrupt occurs due to a program bug in a program to be evaluated. Regarding program debugging methods.

〔従来の技術〕[Conventional technology]

従来、この種のプログラム・デバグ゛方式ては、評価対
象プログラムのプログラl\・バグに起因する期待しな
い内部割込みが発生した場合、その原因究明のためのソ
フトウェア・シミュレータが提供しているレジスタ内容
参照機能やメモリ内容参照機能を使い、人手による情報
収集が行なわれていた。
Conventionally, in this type of program debugging method, when an unexpected internal interrupt occurs due to a program bug in the program to be evaluated, register contents provided by a software simulator are used to investigate the cause. Information was collected manually using the reference function and memory contents reference function.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上述した従来のプログラム・デバグ方式では、必要とさ
れる情報収集が人手によること、及び、発生した期待し
ない内部割込みか、ハードウェアとファームウェアの機
能仕様上どの部分のチェックによる内部割込みであるか
どうかを直接的には判別できないため、その原因及びそ
れをいかに回避すべきであるか等の調査を行なわなけれ
ばならないことに代表されるデバグ効率が悪いという欠
点があった。
In the conventional program debugging method described above, the necessary information is collected manually, and it is difficult to determine whether an unexpected internal interrupt has occurred or whether the internal interrupt is caused by checking which part of the functional specifications of the hardware and firmware. Since it is not possible to directly determine the cause of the problem and how to avoid it, it is necessary to investigate the cause of the problem and how to avoid it, which is a drawback of poor debugging efficiency.

〔課題を解決するための手段〕[Means to solve the problem]

本発明のプログラム・デバグ方式は、評価対象フ゜ロク
ラムのプログラム・ハクに起因する期待しない内部割込
みが発生ずるような評価対象プログラムのデハクを行な
うシミュレーション・シスデムにおいて、 前記シミュレーション・システムは、情報処理装置のプ
ロセッサの機能をシミュレートするシミュレータ本体と
、前記評価対象プログラムを格納する主記憶装置と、デ
バグ情報を格納する外部記憶装置と、デバグ情報の編集
および出力処理を行うデバグ情報モニタと、編集された
デバグ゜情報を人示出力する表示装置とから構成され、
前記シミュレータ木木は、起動手段と、命令取出し手段
と、命令解析/実行手段と、発生した内部割込みか期待
したものであるが否かを判別する内部割込み判別手段と
、情報処理装置のレジスタ詳をシミュレートしているレ
ジスタ・エリアと、命令実行時にそのオペラン1一テー
タを一時的にシミュレータ本体内に収り込むための実行
命令オペランl・・セーブエリアとを有し、 テハグ情報モニタは、内部割込みの原因/回避方法を記
述したメッセージを編集する内部割込み詳細メッセージ
編集手段と、実行命令のオペランドデータを編集する実
行命令オペランド編集手段と、内部割込みに関係するレ
ジスタを編集する出力レジスタ編集手段とを備えて構成
される。
The program debugging method of the present invention provides a simulation system for debugging a program to be evaluated in which an unexpected internal interrupt occurs due to a program hack in a programm to be evaluated. A simulator body that simulates the functions of a processor, a main storage device that stores the program to be evaluated, an external storage device that stores debug information, a debug information monitor that edits and outputs debug information, and a debug information monitor that edits and outputs debug information. Consists of a display device that outputs debugging information for human display,
The simulator includes a starting means, an instruction fetching means, an instruction analysis/execution means, an internal interrupt determining means for determining whether an internal interrupt that has occurred is an expected one, and register details of the information processing device. The tehugu information monitor has a register area simulating the ``operan 1'' data, and an execution instruction operan ``save area'' for temporarily storing the operan 1 data in the simulator body when the instruction is executed. Internal interrupt detail message editing means for editing a message describing the cause/avoidance method of an internal interrupt, execution instruction operand editing means for editing operand data of an execution instruction, and output register editing means for editing registers related to internal interrupts. It is composed of:

〔実施例〕〔Example〕

次に、本発明について評価対象プログラムが装置の試験
プログラムである場合を例にとり、図面を参照して説明
する。
Next, the present invention will be described with reference to the drawings, taking as an example a case where the program to be evaluated is a test program for an apparatus.

第1図は本発明が適用される一実施例の楕成を示すブロ
ック図であり、シミュレータ本体1と評価対象プログラ
ム20を格納する主記憶装置2と、デバグ情報30を格
納する外部記憶装置3と、デバグ情報の編集および出力
処理を行うデバグ情報モニタ4と、編集されなデバグ情
報を表示出力する表示装置5とから構成される。さらに
シミュレータ本体1は起動手段10と、命令取出し手段
11と、命令解析/実行手段12と、内部割込み判別手
段13と、レジスタエリア14と、実行命令オペランド
セーブエリア15とから構成され、またテハグ情報モニ
タ4は、内部割込み詳細メッセージ編集手段40と、実
行命令オペランド編集手段41と、出力レジスタ編集手
段42と、デバグ情報出力千段43とから構成される。
FIG. 1 is a block diagram showing the structure of an embodiment to which the present invention is applied, which includes a simulator body 1, a main storage device 2 that stores an evaluation target program 20, and an external storage device 3 that stores debug information 30. , a debug information monitor 4 that edits and outputs debug information, and a display device 5 that displays and outputs unedited debug information. Furthermore, the simulator main body 1 is composed of a startup means 10, an instruction fetching means 11, an instruction analysis/execution means 12, an internal interrupt determination means 13, a register area 14, an execution instruction operand save area 15, and also includes technical information The monitor 4 includes an internal interrupt detail message editing means 40, an execution instruction operand editing means 41, an output register editing means 42, and a debug information output stage 43.

第2図は外部記憶装置3内に格納されるデパク情報30
のフォーマットであり、シミュレータ本(水1によりシ
ミュレートされるプロセッサのハードウエア及びファー
ムウエアの機能仕様上のある部分でのチェックの際に発
生する可能性のある1つの内部割込みnに対応して、そ
の内部割込み挿別を示す内部割込み名INTNと、内部
割込みnかシミュレートしている装置のハードウェア及
びファームウエアの機能仕様上どの部分のチェックによ
るものかということを記述した内部割込みn要因メッセ
ージFMnと、そのレンクスを示した内部割込みn要因
メッセージFMLnと、内部割込みnを回避する手段を
記述した内部割込みnヒン1〜メッセージHMnと、そ
のレングスを示した内部割込みnヒントメッセージレン
クスH M L .と、内部割込みnに関係するレジス
タをピットパターンでもたぜた出力レジスタテーブルR
EG.とから構成される。
FIG. 2 shows Depaku information 30 stored in the external storage device 3.
format, and corresponds to one internal interrupt n that may occur when checking a certain part of the functional specifications of the processor hardware and firmware simulated by the simulator book (Wed 1). , the internal interrupt name INTN that indicates the internal interrupt insertion, and the internal interrupt n cause that describes which part of the hardware and firmware functional specifications of the device being simulated was checked for the internal interrupt n. Message FMn, internal interrupt n cause message FMLn indicating its length, internal interrupt n hint 1 to message HMn describing the means to avoid internal interrupt n, and internal interrupt n hint message length H indicating its length. M L. and an output register table R in which registers related to internal interrupt n are mixed in a pit pattern.
E.G. It consists of

次に、本発明の動作について評価対象プログラムが装置
の試験プログラl\である場合を例にとり、第3図(本
実施例の処理手順を示す流れ図)を参照して説明する。
Next, the operation of the present invention will be described with reference to FIG. 3 (a flowchart showing the processing procedure of this embodiment), taking as an example the case where the program to be evaluated is a device test program l\.

まず最初に、外部より起動手段10を用いてシミュレー
タ本体1を起動する〈ステップ1 00)。
First, the simulator main body 1 is started up using the starting means 10 from outside (step 100).

起動手段10は命令取出し手段11を起動し、これによ
り起動された命令取出し千段11は主記憶装置2内に格
納されている評価対象プログラム20より次に実行すべ
き1命令を取出し、命令解析/実行手段12へ供給する
とともに命令解析/実行手段12を起動する(ステップ
101)。
The activation means 10 activates the instruction retrieval means 11, and the activated instruction retrieval stage 11 retrieves the next instruction to be executed from the evaluation target program 20 stored in the main storage device 2, and analyzes the instruction. /The command analysis/execution means 12 is started (step 101).

命令解析/実行手段12は命令取出し手段11より供給
された命令を解析し、その解析結果にもとづきその命令
のシミュレーション実行を行なう(ステップ102).
この命令解析/実行手段12における命令解析処理中お
よび命令実行処理中に、内部割込みがあるかどうかを、
内部割込み判別手段13で判断させ(ステップ1031
).内部割込みがない場合には、命令取出し手段11の
起動に戻り次の命令収出し処理に移る(ステップ101
)。
The instruction analysis/execution means 12 analyzes the instruction supplied from the instruction extraction means 11, and executes a simulation of the instruction based on the analysis result (step 102).
During the instruction analysis process and instruction execution process in this instruction analysis/execution means 12, whether or not there is an internal interrupt is determined.
The internal interrupt determining means 13 determines the interrupt (step 1031).
). If there is no internal interrupt, the process returns to activation of the instruction fetching means 11 and moves on to the next instruction fetching process (step 101).
).

内部割込み判別手段13の内部割込み判別処理(ステッ
プ103)の最初のステップの判別において内部割込み
かある場合(以後、この内部割込みを内部割込みnとす
る)には、第2のステップの判別へ進み、この内部割込
みnが期待しない内部割込みてあるかどうかを判別させ
る(ステップ10B2)。なお、ここでその内部割込み
が期待する内部割込みであるが否かの判別は、以下に示
ナ手1偵で行なわれる。
If there is an internal interrupt in the first step of the internal interrupt determining process (step 103) of the internal interrupt determining means 13 (hereinafter, this internal interrupt will be referred to as internal interrupt n), the process proceeds to the second step of determining. , it is determined whether this internal interrupt n is an unexpected internal interrupt (step 10B2). It should be noted that the determination as to whether or not the internal interrupt is the expected internal interrupt is carried out as follows.

すなわち、評価対象プログラムが装置の試験ブログラム
である場合、そのプログラムの性質上、故意に内部割込
みを発生させ、その内部割込みが発生ずることを試験す
ることがある。この場合、これから発生させる内部割込
みが期待する内部割込みてあることを、評価対象プログ
ラム2oの所定のエリアに発生する内部割込み名およひ
介生ずるロケーションの情報を試験プログラムが設定す
ることにより示し、内部割込み判別手段13は、この評
価対象プログラム20内の所定のエリアを参照し、発生
した内部割込みが期待する内部割込みであるか否かを判
別する。
That is, when the program to be evaluated is a test program for an apparatus, due to the nature of the program, an internal interrupt may be intentionally generated and the occurrence of the internal interrupt may be tested. In this case, the test program indicates that the internal interrupt to be generated is the expected internal interrupt by setting the name of the internal interrupt that will occur in a predetermined area of the evaluation target program 2o and the information on the location where it occurs, The internal interrupt determining means 13 refers to a predetermined area within the evaluation target program 20 and determines whether or not the generated internal interrupt is an expected internal interrupt.

発生した内部割込みnが期待する内部割込みてある場合
には、命令取出し手段11の起動に戻り次の命令の取出
し処理に移る(ステップ101)。
If the internal interrupt n that has occurred is the expected internal interrupt, the process returns to activation of the instruction fetching means 11 and proceeds to the next instruction fetching process (step 101).

発生した内部割込みnが期待しない内部割込みである場
合には、内部割込み判別手段13は、外部記憶装置3内
に格納されたデバグ情報30中の内部割込みnに対する
メッセージの先頭を示すポインタ+W報を、テバグ情報
モニタ4に供給するとともに、デバグ情報モニタ4を起
動し(ステップ104)、制御をデバグ情報モニタ4へ
渡ず。起動されたデバグ情報モニタ4の内部割込み詳細
メッセージ編集手段40は、内部割込み判別手段13よ
り供給されたポインタ情報をもとに、外部記憶装置3内
に格納されたデバグ情報30中の内部割込みnに対する
詳細メッセージの先頭を見つけ出し、まず内部割込みn
の割込み種別を示す内部割込み名INTN、次に内部割
込みn要因メッセージレンクスFMLnをもとに、内部
割込みn要因メッセージFMnを、最後に内部割込みn
ヒントメッセージレングスHMLnをもとに内部割込み
nヒントメッセージHMnを編集する(ステップ105
)とともに実行命令オペランドtri %手段41を起
動する。
If the generated internal interrupt n is an unexpected internal interrupt, the internal interrupt determining means 13 uses the pointer + W information indicating the beginning of the message for internal interrupt n in the debug information 30 stored in the external storage device 3. , and supplies it to the debug information monitor 4, and also starts the debug information monitor 4 (step 104) without passing control to the debug information monitor 4. The internal interrupt detailed message editing means 40 of the activated debug information monitor 4 edits the internal interrupt n in the debug information 30 stored in the external storage device 3 based on the pointer information supplied from the internal interrupt determining means 13. Find the beginning of the detailed message for internal interrupt n
Based on the internal interrupt name INTN indicating the interrupt type, then the internal interrupt n cause message FMn based on the internal interrupt n cause message length FMLn, and finally the internal interrupt n cause message FMn.
Edit the internal interrupt n hint message HMn based on the hint message length HMLn (step 105
) and activates the execution instruction operand tri% means 41.

起動された実行命令オペランド編集手段41は、シミュ
レータ本体1内にある命令実行時そのオペラントを一時
的にシミュレータ内に取り込むための実行命令オペラン
ドセーブエリア15がら、内部割込みnを発生させた実
行命令で使用したオペラン)・データを取り出して、こ
れを編集する(ステップ106)とともに出力レジスタ
編集千段42を起動する。
The activated execution instruction operand editing means 41 saves an execution instruction operand save area 15 for temporarily importing the operant into the simulator when an instruction is executed in the simulator body 1, and edits the execution instruction that caused the internal interrupt n. The used operan) data is taken out and edited (step 106), and the output register editing stage 42 is activated.

起動された出力レジスタ編集手段42は、デバグ情報3
0中の内部割込みnに対する出力レジスタテーブルRE
Gnのビットパターンを参照して、ヒットかON状態で
あるレジスタをシミュレータ本体1内のレジスタエリア
1つがら取り出し、これを編集する(ステップ107)
とともにデバグ情報出力手段43を起動する。
The activated output register editing means 42 outputs debug information 3.
Output register table RE for internal interrupt n in 0
Referring to the bit pattern of Gn, extract a register that is hit or in an ON state from one register area in the simulator body 1 and edit it (step 107).
At the same time, the debug information output means 43 is activated.

起動されたデバグ情報出力手段43は、内部割込み詳細
メッセージ編集手段40で編集された内部割込み名,内
部割込みn要因メッセージ,内部割込みnヒントメッセ
ージと、実行命令オペランド編集手段41とで編集され
た実行命令のオペランドテータと、出力レジスタ編集手
段42で編集されたレジスタデー夕とを、表示装置5に
表示出力する(ステップ108)。
The activated debug information output means 43 outputs the internal interrupt name, internal interrupt n cause message, internal interrupt n hint message edited by the internal interrupt detailed message editing means 40, and the execution command edited by the execution command operand editing means 41. The operand data of the instruction and the register data edited by the output register editing means 42 are displayed on the display device 5 (step 108).

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明は、評価対象プログラムのテ
バグを行なうシミュレーション・システムにおいて、評
価対象プログラムのプログラム・バグに起因する期待し
ない内部割込みが発生した場合、その内部割込み名と、
内部割込み要因を記述したメッセージと、その回避手段
を記述したメッセージと、その内部割込みを起こした命
令のオペランドデータと、その内部割込みに関係するレ
ジスタとを、人手を介入せずに自動出力することにより
、その期待しない内部割込みに対するデバグの効率を向
上さることができるという効果がある。
As explained above, the present invention provides a simulation system that performs bugging of a program to be evaluated, and when an unexpected internal interrupt occurs due to a program bug in the program to be evaluated, the name of the internal interrupt,
To automatically output a message describing the cause of an internal interrupt, a message describing the avoidance method, operand data of the instruction that caused the internal interrupt, and registers related to the internal interrupt without human intervention. This has the effect of improving the efficiency of debugging unexpected internal interrupts.

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

第1図は本発明が適応される一実施例の構成を示すフロ
ック図であり、第2図は外部記憶装置内のデバグ情報の
フォーマットを示す説明図であり、第3図は本実施例の
処理手順を示す流れ図である。 1・・・シミュレータ本体、2・・・主記憶装置、3・
・・外部記憶装置、4・・・テバグ情報モニタ、5・・
・表示装置。
FIG. 1 is a block diagram showing the configuration of an embodiment to which the present invention is applied, FIG. 2 is an explanatory diagram showing the format of debug information in an external storage device, and FIG. 3 is a block diagram showing the format of debug information in an external storage device. It is a flow chart showing a processing procedure. 1...Simulator main body, 2...Main storage device, 3.
...External storage device, 4...Tebug information monitor, 5...
・Display device.

Claims (1)

【特許請求の範囲】 評価対象プログラムのプログラム・バグに起因する期待
しない内部割込みが発生するような評価対象プログラム
のデバグを行なうシミュレーション・システムにおいて
、 前記シミュレーション・システムは、情報処理装置のプ
ロセッサの機能をシミュレートするシミュレータ本体と
、前記評価対象プログラムを格納する主記憶装置と、デ
バグ情報を格納する外部記憶装置と、デバグ情報の編集
および出力処理を行うデバグ情報モニタと、編集された
デバグ情報を表示出力する表示装置とから構成され、 前記シミュレータ本体は、起動手段と、命令取出し手段
と、命令解析/実行手段と、発生した内部割込みが期待
したものであるか否かを判別する内部割込み判別手段と
、情報処理装置のレジスタ群をシミュレートしているレ
ジスタ・エリアと、命令実行時にそのオペランドデータ
を一時的にシミュレータ本体内に取り込むための実行命
令オペランド・セーブエリアとを有し、 デバグ情報モニタは、内部割込みの原因/回避方法を記
述したメッセージを編集する内部割込み詳細メッセージ
編集手段と、実行命令のオペランドデータを編集する実
行命令オペランド編集手段と、内部割込みに関係するレ
ジスタを編集する出力レジスタ編集手段とを備えて成る
ことを特徴とするプログラム・デバグ方式。
[Claims] A simulation system for debugging a program to be evaluated in which an unexpected internal interrupt occurs due to a program bug in the program to be evaluated, the simulation system comprising: A simulator body that simulates the evaluation target program, a main storage device that stores the evaluation target program, an external storage device that stores debug information, a debug information monitor that edits and outputs the debug information, and a debug information monitor that edits and outputs the debug information. The simulator main body is composed of a display device that outputs a display, and the simulator main body includes a starting means, an instruction fetching means, an instruction analysis/execution means, and an internal interrupt discriminator for determining whether or not the generated internal interrupt is an expected one. It has a register area that simulates the register group of the information processing device, and an execution instruction operand save area for temporarily importing the operand data into the simulator body when an instruction is executed, and debug information. The monitor includes an internal interrupt detail message editing means for editing a message describing the cause/avoidance method of an internal interrupt, an execution instruction operand editing means for editing operand data of an execution instruction, and an output for editing registers related to internal interrupts. A program debugging method comprising register editing means.
JP1117787A 1989-05-10 1989-05-10 Program debugging system Pending JPH02294849A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1117787A JPH02294849A (en) 1989-05-10 1989-05-10 Program debugging system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1117787A JPH02294849A (en) 1989-05-10 1989-05-10 Program debugging system

Publications (1)

Publication Number Publication Date
JPH02294849A true JPH02294849A (en) 1990-12-05

Family

ID=14720301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1117787A Pending JPH02294849A (en) 1989-05-10 1989-05-10 Program debugging system

Country Status (1)

Country Link
JP (1) JPH02294849A (en)

Similar Documents

Publication Publication Date Title
US5926638A (en) Program debugging system for debugging a program having graphical user interface
CN110580226B (en) Object code coverage rate testing method, system and medium for operating system level program
EP0782075A2 (en) Debug apparatus and method for debugging game program in ROM cartridge
JP3206641B2 (en) Microcomputer system debugging method, debugging device, and recording medium recording debug program
US7243059B2 (en) Simulation of hardware based on smart buffer objects
JPH11110255A (en) Software debugging device and method
JPH02294849A (en) Program debugging system
US5816922A (en) Game apparatus and method for debugging game program
JP2525393B2 (en) Logic simulation test coverage method
JP3183228B2 (en) Program debugging device and debugging method
JP3151811B2 (en) Failure processing verification method and method for information processing device
JPH05250221A (en) Simulator execution system
JPH03294934A (en) Debugger for high level program lenguage
JP2001202272A (en) Debugging method, debugging device using this method and recording medium with debugging method recorded thereon
JPH0233178B2 (en)
JPH06301570A (en) Emulator with normality checking function for test program
JPH06138911A (en) Programming device
JPS63131238A (en) Logic simulator
JPS63300330A (en) Debugging method for firmware
JPH02259844A (en) Program debugging system
JPH07175684A (en) Program evaluating system
JPS6225340A (en) Inspection device
JPH0322146A (en) Microprogram control device
JPH03225437A (en) Display system for stop frequency of break point
JPS6170644A (en) Program debugging system