JPH0353347A - Debugging system - Google Patents

Debugging system

Info

Publication number
JPH0353347A
JPH0353347A JP1189436A JP18943689A JPH0353347A JP H0353347 A JPH0353347 A JP H0353347A JP 1189436 A JP1189436 A JP 1189436A JP 18943689 A JP18943689 A JP 18943689A JP H0353347 A JPH0353347 A JP H0353347A
Authority
JP
Japan
Prior art keywords
program
step execution
source
level
line
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.)
Granted
Application number
JP1189436A
Other languages
Japanese (ja)
Other versions
JP2861085B2 (en
Inventor
Hiroyasu Saikai
西海 弘恭
Hirohiko Ono
洋彦 小野
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 JP1189436A priority Critical patent/JP2861085B2/en
Publication of JPH0353347A publication Critical patent/JPH0353347A/en
Application granted granted Critical
Publication of JP2861085B2 publication Critical patent/JP2861085B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To carry out the steps at a high speed for each function of source levels like each sentence, each line, each function call, etc., by setting a break point at a process part where the steps are produced by a language process program. CONSTITUTION:When the steps of function levels are carried out, a debugger program 2 sends a command to an in-circuit emulator 5 via a communication circuit 4 to set a break point to the head address of a function step execution process part 33 of a target equipment 6. A user decides whether he/she carries out the steps at block levels or not based on the program 2. If so, the program 2 sends a command to the emulator 5 via the circuit 4 to set a break point to the head address of a block step execution process part 34 of the equipment 6. As a result, the response time is shortened to a command for step execution at a source level.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明<1、デバッグ方式に関し、特にターゲットシス
テムを有するデバッグ方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention <1> relates to a debugging method, and particularly relates to a debugging method having a target system.

〔従来の技術〕[Conventional technology]

ターゲットシステムを有するデバッグ方式は、クロスデ
バッグ方式と呼ばれ、このクロスデバッグ方式は、通常
デバッガプログラムの存在するホスト計算機と通信回線
により接続され、デバッグプログラムから制御されるイ
ンサーキットエミュレータ及びデバッグ対象のターゲッ
ト機器から構或される。
A debugging method that has a target system is called a cross-debugging method, and this cross-debugging method usually includes an in-circuit emulator that is connected to a host computer where a debugger program exists via a communication line, and is controlled by the debug program and a target to be debugged. It consists of equipment.

クロスデバッグ方式のホスト計算機上のデハッガプログ
ラムは、ホスト計算機の端末等からターゲット機器上の
被デバッグプログラムの動作の流れを監視するため、デ
バッガ使用者からのターゲット機器上のプログラムのソ
ースレベル1行や機械語の1命令を実行するコマンドを
受取り、1行の実行後、現在のターゲット機器上のブロ
グラl8の位置をソースレベルや機械語レベルで表示す
る機能を有している。
A cross-debugging debugger program on a host computer monitors the operation flow of the program to be debugged on the target device from the terminal of the host computer. It has a function of receiving a command to execute one line or one instruction in machine language, and after executing one line, displaying the current position of the program l8 on the target device at the source level or machine language level.

ターゲットシステムとは、インサーキットエミュレー夕
等のCPU動作を監視する機能とデバッグの対虫となる
CPUとメモリ装置等から横成されるターゲット機器の
ことである。そしてデバッガプログラムとターゲットシ
ステムは、RF 2 3 2Cインターフェイス等の通
信回線を通じて、デバッガプログラムからターゲットシ
ステl\へのコマンドや、ターゲットシステムからデバ
ッガアログマムへターゲット上の被デバッグプログラム
の状態の情報を転送している。
The target system is a target device that includes a function to monitor CPU operation such as an in-circuit emulator, a CPU that serves as a debugger, a memory device, and the like. The debugger program and target system then transfer commands from the debugger program to the target system and information about the status of the program to be debugged on the target from the target system to the debugger log via a communication line such as an RF232C interface. are doing.

例えば、デバッガプログラムは、ターゲット機器上の被
デバッグプログラムの機械語の{命令実行を行うため、
ターゲットシステム内のインサーキットエミュレータへ
RS232Cインタフェイス等の通信回線を通じて機械
語の1命令実行コマンドを転送し、インサーキットエミ
ュレータは、ターゲット機器上の被デバッグプログラム
の1機tTJA a?j命令の実行を行い、次に実行を
行うプログラムのアドレス情報をデバッガプログラムに
通信回線を通して転送する。
For example, a debugger program executes instructions in the machine language of a program to be debugged on a target device.
A one-instruction execution command in machine language is transferred to the in-circuit emulator in the target system through a communication line such as an RS232C interface, and the in-circuit emulator executes one of the programs to be debugged on the target device. j instruction is executed, and the address information of the program to be executed next is transferred to the debugger program through the communication line.

従来、この種のデバッグ方式では、プログラム作或をホ
スト計算機上で行い、ホスト計算機上のデバッガプログ
ラムを通してインサーキットエミュレータへプログラム
をダウンロードし、インサーキットエミュレー夕のデバ
ッグ機能を使用してデバッグを行っていた。
Conventionally, in this type of debugging method, a program is created on a host computer, the program is downloaded to an in-circuit emulator through a debugger program on the host computer, and debugging is performed using the in-circuit emulator's debugging function. Ta.

また、デバッグするプログラムは機械語レベルで行って
いたため、インサーキットエミュレー夕の持つ機械語レ
ベルのデバック機能を利用するだけで、デバッグか可能
であった。インサーキットエミュレータに機械語レベル
のデバッグ機能をもたせ、ホスト計算機上のデバッガプ
ログラムは、インサーキットエミュレー夕からの情報の
表示とインサーキットエミュレータへのキーボードあら
のデバッガ使用者の入力コマンドの転送を行う程度の機
能を持つだけで十分であった。
Also, since the program to be debugged was done at the machine language level, it was possible to debug it simply by using the machine language level debugging function of the in-circuit emulator. The in-circuit emulator is equipped with a machine language level debugging function, and the debugger program on the host computer only displays information from the in-circuit emulator and transfers commands input by the debugger user to the keyboard to the in-circuit emulator. It was sufficient to have the following functions.

しかし、最近では、プログラムはC言語やパスカル言語
等の高級言語のソースレベルで記述され、そのソースレ
ベルでのプログラムのデバッグを行う必要があり、その
ためにホスト計算機上のデバッガプログラムは、ソース
レベルのプログラム上のシンボルの処理やソースレベル
の行情報をもとにソース行での実行機能等のソースレベ
ルでのデバッグのための機能を持つようになっている。
However, these days, programs are written at the source level in high-level languages such as C or Pascal, and it is necessary to debug programs at the source level. It has functions for debugging at the source level, such as processing symbols on the program and executing functions at source lines based on source-level line information.

ソースレベルの1行は、言語処理プログラムにより、ソ
ースプログラムの1行から複数の機械語命令に変換され
る。その場合、各ソース行の先頭の機械語命令のアドレ
スとソースプログラムファイル内のそのソース行数の対
応表がデバッグ情報としてホスト計算機上にファイルと
して出力される。
One line of the source program is converted into a plurality of machine language instructions by a language processing program. In this case, a correspondence table between the address of the machine language instruction at the beginning of each source line and the number of the source line in the source program file is output as a file on the host computer as debug information.

従来のソースレベルの1行のステップ実行の方式では、
現在のターゲットシステム上の被デバッグプログラムの
停止アドレスと言語処理プログラムにより出力されるソ
ース行とアドレスの対応表をもとに現在のソース行番号
をポスト計算機上でデバッガプログラムが検索する。
In the traditional source-level single-line step execution method,
The debugger program searches the post computer for the current source line number based on the stop address of the program to be debugged on the current target system and the correspondence table of source lines and addresses output by the language processing program.

次に現在のアドレスから機械語レベルで1命令ステップ
実行を行い、停止後被デバッグプログラムの停止アドレ
スをターゲットシステムから得る。停止アドレスとソー
ス行とアドレスの対応表から、再びデバッガプログラム
がソース行番号を検索し、初めに検索していた行番号と
比較し異なっている場合、ソースレベルでの1行ステッ
プ実行が完了したとして、デバッガプログラムは、ユー
ザに1行ステップ実行の終了を通知する。
Next, one instruction step execution is performed at the machine language level from the current address, and after stopping, the stop address of the program to be debugged is obtained from the target system. The debugger program searches for the source line number again from the correspondence table of stop addresses, source lines, and addresses, and compares it with the line number that was originally searched. If it is different, one line step execution at the source level has been completed. , the debugger program notifies the user of the end of single line stepping.

初めに検索していた行番号と再び検索した行番号が同じ
場合は、まだ同一のソース行中を実行しているとして、
再び機械語レベルの1命令のステップを実行を行い、停
止アドレスがち行番号を検索し、初めの行番号と比較す
る。このデバッガプログラムは、行番号が異なるまでこ
の手順を繰り返す。
If the line number that was originally searched is the same as the line number that was searched again, it is assumed that the same source line is still being executed.
Execute the step of one instruction at the machine language level again, search for the line number where the stop address ends, and compare it with the first line number. The debugger program repeats this procedure until the line numbers are different.

ソースレベルの1行は、機械語命令の数命令がら、多い
場合は十数命令に展開されることがある。そのためソー
スレベルの従来方式のステッン゜実行では、ターゲット
システムに数回がら十数回の機械語レベルの1命令のス
テップ実行コマンドを送り、その停止アドレス情報を得
る通信を行う必要があった。
One line at the source level may be expanded into several machine language instructions, in some cases more than ten instructions. Therefore, in the conventional step execution at the source level, it is necessary to send a step execution command for one instruction at the machine language level to the target system several times to more than ten times, and perform communication to obtain the stop address information.

従来の機械語レベルのみのデバッガプログラムに比べ、
現在の高級言語を処理できるデバッガブログラムでは、
ソースレベルの処理が増加しており、またインサーキッ
トエミュレー夕との通信量の増加のため、デバッガ使用
者へのコマンドの応答時間が増加しており、コマンドの
応答時間の高速化の要求がある。
Compared to conventional debugger programs that are only at the machine language level,
In debugger programs that can handle current high-level languages,
Due to the increase in source-level processing and the increase in the amount of communication with in-circuit emulators, the command response time for debugger users is increasing, and there is a demand for faster command response times. .

また、ソースプログラム1行に複数の文が記述されてい
たり、文の中で関数呼び出しが記述されていてもステッ
プ実行の対象はあくまでもソースプログラムの1行であ
るので、次の行あるいは分岐した先の行で1回のステッ
プ実行を終了していた。ブロックの中に複数の文がある
場合は、1行のステップ実行を複数回行うか、次のブロ
ックの先頭にブレークポイントを設定して実行していた
Also, even if multiple statements are written in one line of the source program or a function call is written in a statement, the target of step execution is only one line of the source program, so the next line or branched destination One step execution ended at the line . If there were multiple statements in a block, either one line was stepped multiple times or a breakpoint was set at the beginning of the next block.

この言後処理プログラムの生成するソースレベルデバッ
グのための情報の出力方法には2通りある。その一つは
、行番号情報のように機械語とは異なる情報を出力する
方法と、もつ一つは関数の先頭でスタックが使用可能で
あるかを調べるルーチンを呼び出す呼び出し命令のよう
に機械語命令として生成する情報の出力方法である。後
者の出力方法により出力される情報としては他にステッ
プ実行のために1機能単位の機械話命令の先頭に、デバ
ッグを目的とした特殊なルーチンを呼び出す呼び出し命
令を生或する言語処理プログラムが考えられる。
There are two methods for outputting information for source level debugging generated by this post-processing program. One is to output information different from machine language, such as line number information, and the other is to output machine language information such as a call instruction that calls a routine to check whether the stack is available at the beginning of a function. This is a method of outputting information generated as instructions. Another example of the information output by the latter output method is a language processing program that generates a call instruction that calls a special routine for debugging purposes at the beginning of a machine language instruction for one functional unit for step execution. It will be done.

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

上述したデバッグ方式は、ターゲットシステム上の被デ
バッグプログラムのソースレベルのステップ実行を行う
場合、1ソース行内に含まれる機械語命令分の機械語命
令のステップ実行のためのデバッガプログラムとターゲ
・ソトシステムとの通信を必要としているので、デバッ
ガプログラムの使用者へのソースレベルの1行ステップ
実行コマンド時の応答時間が多大となる欠点がある。
In the above-mentioned debugging method, when performing step execution at the source level of a program to be debugged on a target system, a debugger program and a target software system are used for step execution of machine language instructions included in one source line. Since this requires communication with the debugger program, there is a drawback that the response time when issuing a source level single line step execution command to the user of the debugger program is long.

また、ソースプログラム1行に複数の文が記述されてい
たり、文の中で関数呼び出しが記述されていてもステッ
プ実行の対象はあくまでもソースプログラムの1行であ
るので、次の行あるいは分岐した先の行単位以外のステ
ップ実行はできなかつた。たとえば文単位や関数呼び出
し単位でのステップ実行はできなかった。
Also, even if multiple statements are written in one line of the source program or a function call is written in a statement, the target of step execution is only one line of the source program, so the next line or branched destination Step execution other than line by line was not possible. For example, it was not possible to step through each statement or function call.

本発明の目的は、言語処理プログラムが生或したステッ
プ実行のための処理部にブレークポイントを設定するこ
とにより、文単位、行単位、関数呼び出し単位等のソー
スレベルの1機能単位によるステップ実行を、高速に行
うことのできるデバッグ方式を提供することにある。
An object of the present invention is to set breakpoints in processing units for step execution generated by a language processing program, so that step execution can be performed in one functional unit at the source level, such as by statement, line by line, or by function call. The purpose of this invention is to provide a debugging method that can be performed at high speed.

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

本発明の構成は、言語処理プログラムによって翻訳され
たソースプログラムを用いた、ターゲットシステムと通
信を行うホスト計算機上のデバッグ手段により、ソース
レベルのソースプログラムのステップ実行を行うデバッ
グ方式にわいて、前記言語処理プログラムが生成したス
テップ実行のための処理部に、ブレークポイントを設定
することにより、ソースレベルの一機能単位によるステ
ップ実行を行うことを特徴とする。
The configuration of the present invention relates to a debugging method in which step execution of a source program at the source level is performed by a debugging means on a host computer that communicates with a target system using a source program translated by a language processing program. It is characterized in that step execution is performed by one functional unit at the source level by setting breakpoints in a processing unit for step execution generated by a language processing program.

〔実施例〕〔Example〕

次に、本発明について図面を参照して説明する。 Next, the present invention will be explained with reference to the drawings.

第1図は本発明の一実施例を説明するフローチャート、
第2図は第1図を実行するシステムの構成図である。図
においてこのシステムは、計算機装置1、デバーガプロ
グラム2、コンソール3、RS232C通信回路4、イ
ンサーキッl・・エミュレータ5、およびターゲット機
器6から構成される。このシステムに含まれるターゲッ
トシステムは、インサーキットエミュレータ5及びター
ゲット機器6に相当し、通信手段はRS232C通信回
路4に相当し、デバッグ手段はデバッガプログラム2に
相当する。
FIG. 1 is a flowchart explaining one embodiment of the present invention;
FIG. 2 is a block diagram of a system that executes the process shown in FIG. In the figure, this system includes a computer device 1, a debugger program 2, a console 3, an RS232C communication circuit 4, an in-circuit emulator 5, and a target device 6. The target system included in this system corresponds to the in-circuit emulator 5 and the target device 6, the communication means corresponds to the RS232C communication circuit 4, and the debug means corresponds to the debugger program 2.

デバッガプログラム2は、デバッガプログラム2のユー
ザからのコマ〉′ドの受取りや、その他のデバッグ機能
を行うプログラムであり、ソースレベルのステップ実行
の制御も行う。このデバッガプログラム2は、使用者か
らのターゲットシステム上の被デバッグプログラムのソ
ースレベルでの1機能単位のステップ実行コマンドを受
取り、インサーキットエミュレータ5へ各種インサーキ
ットエミュレータ用コマンドを送り、その結果を受取り
その旨をデバッガプログラム2の使用社へ通知する。
The debugger program 2 is a program that receives commands from the user of the debugger program 2 and performs other debugging functions, and also controls step execution at the source level. This debugger program 2 receives from the user a step execution command for each function at the source level of the program to be debugged on the target system, sends various in-circuit emulator commands to the in-circuit emulator 5, and receives the results. The company using the debugger program 2 is notified of this fact.

第1図のフローチャートにおいて、ターゲットシステム
上の被デバッグプログラムのソースレベルの1行ステッ
プ実行の詳細を示している。
The flowchart in FIG. 1 shows details of single line step execution at the source level of the debugged program on the target system.

第3図は言語処理プログラムが出力する機械語命令の構
成図であり、ソースレベルのステップ実行のためのコー
ル命令31と、ソースプログラム1機能単位に対する機
械語命令32と、関数用ステップ実行処理部33、ブロ
ック用ステップ実行処理部34、文用ステップ実行処理
部35を含むステップ実行処理部36とから構成される
FIG. 3 is a configuration diagram of machine language instructions output by the language processing program, including a call instruction 31 for step execution at the source level, a machine language instruction 32 for one functional unit of the source program, and a function step execution processor. 33, a block step execution processing section 34, and a step execution processing section 36 including a statement step execution processing section 35.

ソースレベルのステップ実行のためのコール命令31は
、言語処理プログラムが解析できるソースプログラム中
の関数呼出し、ブロック、文等の1機能単位の各先頭に
、前記言語処理プログラムが生或したソースレベルのス
テップ実行のためのコール命令であり、各機能単位に対
応・して関数用ステップ実行処理部33、ブロック用ス
テップ実行処理部34、文用ステップ実行処理部35の
いずれかを呼び出す。
A call instruction 31 for step execution at the source level is placed at the beginning of each functional unit such as a function call, block, or statement in a source program that can be analyzed by the language processing program. This is a call instruction for step execution, and calls one of the function step execution processing unit 33, block step execution processing unit 34, and statement step execution processing unit 35 corresponding to each functional unit.

関数用ステップ実行処理部33は、文用ステップ実行処
理部35に分岐し、ブロック用ステップ実行処理部34
は文用ステップ実行処理部35に分岐する。但し、1つ
の文に関数呼出しだけが記述された場合、関数用ステッ
プ実行処理部33をコールするコール命令だけが出力さ
れる。また、ブロックの開始の直後に文が記述されてい
る場合、ブロック用ステップ実行処理部34に分岐する
呼び出し命令だけが出力される。
The step execution processing unit 33 for functions branches to the step execution processing unit 35 for statements, and the step execution processing unit 34 for blocks branches.
branches to the statement step execution processing section 35. However, if only a function call is written in one statement, only the call instruction that calls the function step execution processing section 33 is output. Furthermore, if a statement is written immediately after the start of a block, only a branching call instruction is output to the block step execution processing section 34.

ソースプログラム1機能単位に対する機械語命令32は
、ソースプログラム中の1機能単位を言語処理プログラ
ムが翻訳した複数の機械語命令の集まりである。ステッ
プ実行処理部33は、ステップ実行のためブレークポイ
ントを設定される機械語命令である。
The machine language instructions 32 for one functional unit of the source program are a collection of a plurality of machine language instructions obtained by translating one functional unit in the source program by a language processing program. The step execution processing unit 33 is a machine language instruction for which a breakpoint is set for step execution.

ソースレベルの機能単位のステップ実行は、第1図のフ
ローチャートに従って行われる。
Step execution of a source level functional unit is performed according to the flowchart of FIG.

(1)マずステップ11でデバッガプログラム2により
使用者は関数レベルのステップ実行を行うか否かを決定
する。ここで関数レベルのステンプ実行を行う場合には
、ステップ12でデバッガプログラム2は、ターゲット
機器上の関数用ステップ実行処理部33の先頭アドレス
にブレークポイントを設定するコマンドをR通信回線5
を使用して、インサーキットエミュレー夕に送信する。
(1) First, in step 11, the user uses the debugger program 2 to decide whether or not to perform step execution at the function level. When performing step execution at the function level, in step 12 the debugger program 2 issues a command to set a breakpoint at the start address of the function step execution processing section 33 on the target device via the R communication line 5.
to send to an in-circuit emulator.

(2)さらにステップ13で、デバツガプログラム2に
より使用者はブロックレベルにステップ実行を行うか否
かを決定する。ブロックレベルのステップ実行を行う場
合、ステップ14でデバツガプログラム2は、ターゲ・
ント機器上のブロック用ステップ実行処理部34の先頭
アドレスにブレークポイントを設定するコマンドをRS
232C通信回線5を使用して、インサーキットエミュ
レー夕に送信する。
(2) Furthermore, in step 13, the user uses the debugger program 2 to determine whether or not to perform step execution at the block level. When performing step execution at the block level, in step 14 the debugger program 2
RS a command to set a breakpoint at the start address of the block step execution processing section 34 on the client device.
The data is transmitted to the in-circuit emulator using the H.232C communication line 5.

〈3)次にステップ15で、デバツガプログラム2によ
り使用者は文レベルのステップ実行を行うか否かを決定
する。文レベルのステップ実行を行う場合、ステップ1
6でデバッガプログラム2は、ターゲット機器上の文用
ステップ実行処理部35の先頭アドレスにブレークポイ
ントを設定するコマンドをRS232C通信回線5を使
用して、インサーキットエミュレー夕に送信する。
(3) Next, in step 15, the user uses the debugger program 2 to determine whether or not to perform step execution at the statement level. When performing step execution at the statement level, step 1
At step 6, the debugger program 2 sends a command to set a breakpoint at the start address of the statement step execution processing unit 35 on the target device to the in-circuit emulator using the RS232C communication line 5.

ここでブレークポイントとは、プログラム内のあるメモ
リを指定し、プログラムを実行すると、指定したメモリ
にプログラムの実行が移動してプログラムを実行すると
プログラムが停止する様な機能のことである。
Here, a breakpoint is a function that specifies a certain memory in a program, and when the program is executed, the execution of the program moves to the specified memory, and when the program is executed, the program stops.

(4)次に、ステップ17でデバツガプログラムは、ブ
レークポイントの設定されたターゲット機器上の被デバ
ッグプログラムの実行コマンドを、RS232C通信回
線5を使用してインサーキットエミュレー夕に送信する
(4) Next, in step 17, the debugger program sends an execution command for the program to be debugged on the target device in which the breakpoint has been set to the in-circuit emulator using the RS232C communication line 5.

(5〉次に、ステップ18で文レベルのステップ実行を
設定した場合、被デバッグプログラムはある機能単位に
対する機械語命令32を実行したあと、ステップ実行の
ためのコール命令31を実行する。ステップ実行のため
のコール命令31は文用ステップ実行処理部35に分岐
する。文用ステップ実行処理部35にはブレークポイン
トが設定されているため、被デバッグプログラムの実行
はここで停止する。同様にブロックレベルのステップ実
行を設定した場合、被デバッグプログラムの実行はブロ
ック用ステップ実行処理部34で停止し、関数レベルの
ステップ実行を設定した場合、被デバッグプログラムの
実行は関数用ステップ実行処理部33で停止する。イン
サーキットエミュレー夕は、被デバッグプログラムが停
止したことをRS232C通信回線5を使用して、ホス
ト計算機上のデバツガプログラム2へ送信し、デバツガ
プログラム102がこの停止情報を受取る6 (6)■つの文に関数呼び出しだけが記述され・ている
ソースプログラムに対して文レベルのみのステップ実行
を行う場合、被デバッグブロダラムの実行はステップ実
行処理部36のち関数用ステップ実行処理部33に分岐
する。
(5> Next, when step execution at the statement level is set in step 18, the debugged program executes the machine language instruction 32 for a certain functional unit, and then executes the call instruction 31 for step execution. Step execution The call instruction 31 for the statement branches to the statement step execution processor 35.A breakpoint is set in the statement step execution processor 35, so the execution of the debugged program stops here.Similarly, the block When level step execution is set, the execution of the debugged program is stopped at the block step execution processing unit 34, and when function level step execution is set, the execution of the debugged program is stopped at the function step execution processing unit 33. The in-circuit emulator uses the RS232C communication line 5 to send information that the debugged program has stopped to the debugger program 2 on the host computer, and the debugger program 102 receives this stop information 6 ( 6) When performing step execution only at the statement level for a source program in which only function calls are described in one statement, the execution of the program to be debugged is performed by the step execution processing unit 36 and then by the function step execution processing unit 33. branch to.

しかしブレークポイントは関数用ステップ大行処理部3
3には設定されていないので、分岐37により文用ステ
ップ実行処理部35に分岐する文用ステップ実行処理部
35にはブレークポイントが設定されているので、ここ
で被デバッグプログラムは停止する。
However, the breakpoint is step large line processing part 3 for the function.
3, a breakpoint is set in the statement step execution processing unit 35 that branches to the statement step execution processing unit 35 via branch 37, and the debugged program stops here.

(7〉ブロックの開始直後に文が記述されているソース
プログラムに対して文レベルのみのステップ実行を行う
場合、被デバッグプログラムの実行はステップ実行処理
部36のうちブロック用ステップ実行処理部34に分岐
する。しかしブレークポイントはブローク用ステップ実
行処理部34には設定されていセいので、分岐38によ
り文用ステップ実行処理部35に分岐する。文用ステッ
プ実行処理部35にはブレークポイントが設定されてい
るので、ここで被デバッグプログラムは停止する。
(7> When performing step execution only at the statement level for a source program in which a statement is written immediately after the start of a block, the execution of the debugged program is performed by the block step execution processing unit 34 of the step execution processing unit 36. Branches. However, since a breakpoint is not set in the break step execution processing unit 34, the process branches to the statement step execution processing unit 35 via branch 38.A breakpoint is set in the statement step execution processing unit 35. Therefore, the debugged program stops at this point.

(8)デバッガプログラム2は、ターゲット機器上のス
テップ実行処理部36の各ステップ実行処理部33、3
4、35の先頭アドレスのブレークポイントを解除する
コマンドを通信回線5を使用して、インサーキットエミ
ュレー夕に送信する(ステップ19)。
(8) The debugger program 2 includes each step execution processing section 33, 3 of the step execution processing section 36 on the target device.
A command for canceling the breakpoints at the start addresses 4 and 35 is sent to the in-circuit emulator using the communication line 5 (step 19).

(9〉次にステップ20で、デバッガプログラム2は、
被デバッグプログラムの停止アドレス情報であるステッ
プ実行処理部をコールしたコール命令の次のアドレス、
つまりスタック上に積まれたリターンアドレスをターゲ
ットシステムから得る。そのアドレスとソースプログラ
ムの1機能単位の対応表から被デバッグプログラムが停
止した位置を得て、デバッガプログラム2の使用者にソ
ースレベルの1機能単位のステップ実行の終了したこと
をコンソール4に通知する。
(9> Next, in step 20, the debugger program 2
The next address of the call instruction that called the step execution processing section, which is the stop address information of the debugged program,
In other words, the return address placed on the stack is obtained from the target system. The position where the debugged program stopped is obtained from the correspondence table between the address and one function unit of the source program, and the user of the debugger program 2 is notified on the console 4 that step execution of one function unit at the source level has ended. .

ここでスタックについて第4図をもとに説明する。プロ
グラムの実行中に関数を呼び出した場合、現在実行して
いる機械語命令である関数呼び出し命令の次の命令の格
納されているアドレス、つまり関数呼び出しから戻るべ
きアドレス(リターンアドレス23と呼ぶ)を、メモリ
21中のスタックポインタ22の指しているところから
下位方向のメモリに格納する(これをスタックに積むと
いう)。次にスタックポインタ22は更新され、今スタ
ックに積まれた戻りアドレスの直前を指す。スタックポ
インタ22は、関数呼び出しから戻る場合、リターンア
ドレス23の積まれている次のアドレスを指すように更
新され、プログラムの実行はリターンアドレス33へ戻
る。
Here, the stack will be explained based on FIG. 4. When a function is called during program execution, the address where the next instruction of the function call instruction, which is the machine language instruction currently being executed, is stored, that is, the address to return from the function call (referred to as return address 23). , and store it in the memory in the downward direction from the point pointed to by the stack pointer 22 in the memory 21 (this is called stacking). Next, the stack pointer 22 is updated to point immediately before the return address currently placed on the stack. When returning from a function call, the stack pointer 22 is updated to point to the next address where the return address 23 is stacked, and program execution returns to the return address 33.

ステップ実行を行わない場合はブレークポイントの設定
は行われない。このため、各ステップ実行処理部33、
34、35で被デバッグプログラムは停止する事なく、
被デバッグプログラムの制御は先に各ステップ実行処理
部33、34、35を呼び出したステップ実行のための
コール命令31の次の機械語命令へ戻る。次にソースプ
ログラムの次の行に対するR M語命令32を実行する
。その後これと同じ処理を被デバーグブログラムが終了
するまで繰り返す。
If step execution is not performed, breakpoints will not be set. For this reason, each step execution processing unit 33,
The debugged program does not stop at 34 and 35,
Control of the program to be debugged returns to the machine language instruction following the call instruction 31 for step execution that previously called each step execution processing unit 33, 34, 35. Next, the RM instruction 32 for the next line of the source program is executed. Thereafter, the same process is repeated until the program to be debugged is completed.

この方式では、ソース行中に関数コールやジャンプ命令
が存在していたり、1行に複数の文が記述されていたり
しても、言語処理プログラムが解析できるソースプログ
ラム中の関数呼び出し、ブロック、文等の1機能単位の
各先頭でプログラムが停止するため、被デバッグプログ
ラムのソースプログラム中での動作の流れが、連続的で
ない場合においてもソースレベルの1機能単位のステッ
プ実行が可能である。
With this method, even if there are function calls or jump instructions in a source line, or multiple statements are written on a single line, the language processing program can analyze function calls, blocks, and statements in the source program. Since the program stops at the beginning of each functional unit such as , etc., step execution of one functional unit at the source level is possible even if the flow of operations in the source program of the program to be debugged is not continuous.

第5図は本発明の第2の実施例のターゲットシステム上
の被デバックプログラムのソースレベルの1行ステップ
実行の詳細を示すフローチャートであり、ステップ41
〜50で処理が行われるが、処理41,43,4.5,
49,48.50は第1の実施例の処理11,13,1
5.17,18.20と同等であり、処理42,44.
4649が相違している。
FIG. 5 is a flowchart showing the details of the source-level one-line step execution of the debugged program on the target system according to the second embodiment of the present invention.
Processing is performed in ~50, but processing 41, 43, 4.5,
49, 48.50 are processes 11, 13, 1 of the first embodiment
5.17, 18.20, and processing 42, 44.
4649 are different.

ステップ実行処理部33はソースレベルのステップ実行
のためのコール命令31によって呼び出される機械語命
令で、ステップ実行フラグがOFFの時はなにもせずに
次の機能単位に対する機械語命令32へ戻る。ステップ
実行フラグがONの時は被デバッグプログラムを停止さ
せ、被デバッグプログラムが停止したことを通信回線5
を使用して、ホスト計算機上のデバッグプログラム2へ
送信する。
The step execution processing unit 33 is a machine language instruction called by the call instruction 31 for source level step execution, and when the step execution flag is OFF, it does nothing and returns to the machine language instruction 32 for the next functional unit. When the step execution flag is ON, the debugged program is stopped, and the communication line 5 indicates that the debugged program has stopped.
is used to send it to the debug program 2 on the host computer.

ソースレベルの機能単位のステップ実行を、フローチャ
ートに従って説明する。
Step execution of a source level functional unit will be explained according to a flowchart.

(1)まず、ステップ41でデバッガプログラム2によ
り使用者は関数レベルのステップ実行を行うか否かを決
定する。ここで関数レベルのステップ実行を行う場合に
は、ステップ42でデバーガプログラム2は、関数レベ
ルのステップ実行処理フラグをONにするコマンドを通
信回線5を使用して、インサーキ・ソトエミュレー夕に
送信する。
(1) First, in step 41, the user uses the debugger program 2 to determine whether or not to perform step execution at the function level. If step execution is to be performed at the function level, in step 42 the debugger program 2 sends a command to turn on the function level step execution processing flag to the in-circuit emulator using the communication line 5. do.

(2)次にステップ43でデバッガプログラム2により
使用者はブロックレベルのステップ実行を行うか否かを
決定する。これがブロックレベルのステップ実行を行う
場合、ステップ44でデバッガプログラム2は、ブロッ
クレベルのステップ実行処理フラグをONにするコマン
ドをRS232C通信回線5を使用して、インサーキッ
トエミュレータに送信する。
(2) Next, in step 43, the user uses the debugger program 2 to determine whether or not to perform step execution at the block level. If this executes block-level step execution, in step 44 the debugger program 2 sends a command to turn on the block-level step execution process flag to the in-circuit emulator using the RS232C communication line 5.

(3)また、ステップ45でデバッガプログラム2によ
り使用者は文レベルのステップ実行を行うか否かを決定
する。これが文レベルのステップ実行を行う場合、ステ
ップ46でデバッガプログラム2は、文レベルのステッ
プ実行処理フラグをONにするコマンドをRS232C
通信回線5を使用して、インサーキットエミュレー夕に
送信する。
(3) Furthermore, in step 45, the user determines whether or not to perform step execution at the statement level using the debugger program 2. If this executes step execution at the statement level, in step 46 the debugger program 2 sends a command to turn on the step execution processing flag at the statement level via RS232C.
The communication line 5 is used to transmit the data to the in-circuit emulator.

ここでステップ実行処理フラグとは、現在被デバッグプ
ログラムをステップ実行するのが否がを示すフラグであ
る。
Here, the step execution process flag is a flag indicating whether or not to execute step execution of the program to be debugged at present.

(4)次に、ステップ47でデバッガプログラムは、タ
ーゲット機器上の被デバッグプログラムの実行コマンド
を、RS232C通信回線5を使用してインサーキット
エミュレー夕に送信する。
(4) Next, in step 47, the debugger program sends an execution command for the debugged program on the target device to the in-circuit emulator using the RS232C communication line 5.

(5〉次に文レベルのステップ実行のみを設定した場合
、被デバッグプログラムはある機能単位に対する機器語
命令32を実行したあと、ステップ実行のためのコール
命令31を実行する.ステップ実行のためのコール命令
31は文用ステップ実行処理部35に分岐する。
(5> Next, when only step execution at the statement level is set, the debugged program executes the device language instruction 32 for a certain functional unit, and then executes the call instruction 31 for step execution. The call instruction 31 branches to a statement step execution processing section 35.

文レベルのステップ実行処理フラグが設定されているた
め、被デバッグプログラムの実行はここで停止する.同
様にブロックレベルのステップ実行を設定した場合、被
デバッグプログラムの実行はブロック用ステップ実行処
理部34で停止し、関数レベルのステップ実行を設定し
た場合、被デバッグプログラムの実行は関数用ステップ
実行処理部33で停止する。インサーキットエミュレー
夕は、被デバッグプログラムが停止したことをRS23
2C通信回線5を使用して、ホスト計算機上のデバッガ
プログラム2へ送信し、デバッガプログラム2がこの停
止情報を受取る(ステップ48〉。
Since the step execution processing flag at the statement level is set, execution of the debugged program stops here. Similarly, when step execution at the block level is set, the execution of the debugged program is stopped at the block step execution processing unit 34, and when step execution at the function level is set, the execution of the debugged program is stopped by the step execution processing section for functions. It stops at section 33. The in-circuit emulator uses RS23 to indicate that the debugged program has stopped.
The stop information is sent to the debugger program 2 on the host computer using the 2C communication line 5, and the debugger program 2 receives this stop information (step 48).

(6)1つの文に関数呼出しだけが記述されているソー
スプログラムに対して文レベルのみのステップ実行を行
う場合、被デバッグプログラムの実行はステップ実行処
理部36のうち関数用ステップ実行処理部33に分岐す
る。
(6) When performing step execution only at the statement level for a source program in which only function calls are described in one statement, the function step execution processing section 33 of the step execution processing section 36 executes the debugged program. branch to.

しかし関数レベルのステップ実行処理フラグは設定され
ていないので、分岐37により文用ステップ実行処理部
35に分岐する。文レベルのステップ実行処理フラグは
設定されているので、ここで被デバーグプログラムは停
止する。
However, since the step execution processing flag at the function level is not set, the process branches to the statement step execution processing section 35 at branch 37. Since the step execution processing flag at the statement level is set, the debugged program stops at this point.

(7)ブロックの開始直後に文が記述されているソース
プログラムに対して文レベルのみのステップ実行を行う
場合、被デバッグプログラムの実行はステップ実行処理
部36のうちブロック用ステップ実行処理部34に分岐
する。しかしブロックレベルのステップ実行処理フラグ
は設定されていないので、分岐38により文用ステップ
実行処理部35に分岐する。文レベルのステップ実行処
理フラグは設定されているので、ここで被デバッグプロ
グラムは停止する。
(7) When performing step execution only at the statement level for a source program in which a statement is written immediately after the start of a block, execution of the debugged program is performed by the block step execution processing unit 34 of the step execution processing unit 36. Branch out. However, since the step execution processing flag at the block level is not set, the process branches to the statement step execution processing section 35 via branch 38. Since the step execution processing flag at the statement level has been set, the debugged program stops at this point.

(8〉ステップ4つでデバッグプログラム2は、ターゲ
ット機器上のステップ実行処理フラグを解除するコマン
ドをRS232C通信回線5を使用して、インサーキッ
トエミュレー夕に送信する。
(8> In step 4, the debug program 2 uses the RS232C communication line 5 to transmit a command to cancel the step execution processing flag on the target device to the in-circuit emulator.

ク9)次に、ステップ50でデバッガプログラム2は、
被デバッグプログラムの停止アドレス情報であるステッ
プ実行処理部をコールしたコール命令の次のアドレス、
つまりスタック上に積まれたリターンアドレスをターゲ
ットシステムから得る。そのアドレスとソースプログラ
ムの1機能単位の対応表から被デバッグプログラムが停
止した位置を得て、デバッガプログラム2の使用者にソ
ースレベルの1機能単位のステップ実行の終了したこと
をコンソール4に通知する。
H9) Next, in step 50, the debugger program 2
The next address of the call instruction that called the step execution processing section, which is the stop address information of the debugged program,
In other words, the return address placed on the stack is obtained from the target system. The position where the debugged program stopped is obtained from the correspondence table between the address and one function unit of the source program, and the user of the debugger program 2 is notified on the console 4 that step execution of one function unit at the source level has ended. .

ステップ実行を行わない場合はステップ実行処理フラグ
はONに設定されない。このため、各ステップ実行処理
部33、34、35で被デバッグプログラムは停止する
事なく、被デバッグプログラムの制御は先に各ステップ
実行処理部33、34、35を呼び出したステップ実行
のためのコール命令31の次の機械語命令へ戻る。次に
ソースプログラムの次の行に対する機械語命令302を
実行する。その後これと同じ処理を被デバッグプログラ
ムが終了するまで繰り返す。
When step execution is not performed, the step execution processing flag is not set to ON. Therefore, the debugged program does not stop in each step execution processing unit 33, 34, 35, and the debugged program is controlled by the call for step execution that previously called each step execution processing unit 33, 34, 35. Return to the machine language instruction following instruction 31. Next, the machine language instruction 302 for the next line of the source program is executed. Thereafter, the same process is repeated until the program to be debugged ends.

この方式では、ソース行中に関数コールやジャンプ命令
が存在していたり、1行に複数の文が記述されていたり
しても、言語処理プログラムが解析できるソースプログ
ラム中の関数呼び出し、ブロック、文等の1機能単位の
各先頭でプログラムが停止するため、被デバッグプログ
ラムのソースプログラム中での動作の流れが、連続的で
ない場合においてもソースレベルの1機能単位のステッ
プ実行が可能である。
With this method, even if there are function calls or jump instructions in a source line, or multiple statements are written on a single line, the language processing program can analyze function calls, blocks, and statements in the source program. Since the program stops at the beginning of each functional unit such as , etc., step execution of one functional unit at the source level is possible even if the flow of operations in the source program of the program to be debugged is not continuous.

第6図にこのデバッグ方式の効果を示すタイミング図を
示す。
FIG. 6 shows a timing diagram showing the effect of this debugging method.

従来方式では、ソースレベルの1行のステップ実行を行
う場合、1ソース行に数命令から10数命令の機械語が
含まれる場合、インサーキツI・エミュレータ5に対し
て、1命令のfi[語レベルのステップ実行前の行番号
と異なるまで、つまり1行に含まれる機械語命令のステ
ップ分(数命令から十数命令分)もしくは,途中でプロ
グラl8のジャンプがある場合は、そのジャンプ命令ま
で、その機械語レベルのステップ実行と行番号検索を行
う必要があり、ステップ実行のコマンドの応答時間が遅
くなっていた。
In the conventional method, when performing step execution of one line at the source level, when one source line contains machine language of several to ten instructions, the in-circuit emulator Until the line number differs from the line number before step execution, that is, the number of machine language instruction steps included in one line (several instructions to more than ten instructions), or if there is a jump in program l8 in the middle, until that jump instruction, It was necessary to perform step execution at the machine language level and search for line numbers, which slowed down the response time of step execution commands.

本実施例のデバッグ方式では、ソースプログラム1行の
終わりに必ず呼ばれるステップ実行処理部を付加するこ
とにより、機械語レベルのステップ実行と比較処理のル
ープを行わないため、ソースレベルでのステップ実行コ
マンドでのコマンドの応答時間が早くなる。
In the debugging method of this embodiment, by adding a step execution processing section that is always called at the end of one line of the source program, a loop of step execution and comparison processing at the machine language level is not performed, so that step execution commands at the source level are not executed. Command response time is faster.

この通信時間として問題となるのは、デバツガプログラ
ム2とインサーキットエミュレータ5がハンドシェーク
通信を行っているため、通信回数が多いほど、多くの通
信時間が必要となる。これは、ハンドシェーク通信が情
報の伝達とともに、通信の手段の確立のための情報を含
んで通信を行っているためである。通信回数が少なけれ
ば、少ないほど通信時間は短くなる. また、本実施例では、ソース行中に関数コールやジャン
プ命令が存在していたり、1行に複数の文が記述されて
いたりしても、言語処理プログラムが解析できるソース
プログラム中の関数呼び出し、ブロック、文等の1機能
単位の各先頭でプログラムが停止するため、被デバッグ
プログラムのソースプログラム中での動作の流れが、連
続的でない場合においてもソースレベルの1機能単位の
ステップ実行が可能である。
The problem with this communication time is that the debugger program 2 and the in-circuit emulator 5 perform handshake communication, so the greater the number of communications, the more communication time is required. This is because handshake communication not only transmits information but also includes information for establishing a means of communication. The fewer the number of communications, the shorter the communication time. In addition, in this embodiment, even if there are function calls or jump instructions in a source line, or if multiple statements are written on one line, the language processing program can analyze the function calls in the source program. Since the program stops at the beginning of each functional unit such as a block or statement, step execution of a single functional unit at the source level is possible even if the flow of operations in the source program of the debugged program is not continuous. be.

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

以上説明したように本発明は、ソースレベルのステップ
実行のコマンドの応答時間を早くすることができ、デバ
ッグ手段の使用者の全体のデバッグ時間の短縮を行うこ
とができる効果がある。また、1機能単位のステップ実
行を行うことができ、使用者の使い勝手をよくするとい
う効果がある。
As described above, the present invention has the advantage of being able to speed up the response time of source-level step execution commands, thereby shortening the overall debugging time for the user of the debugging means. Furthermore, it is possible to perform step execution in units of functions, which has the effect of improving usability for the user.

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

第1図は本発明の第1の実施倒を説明する1行ステップ
実行のフローチャート、第2図は第1図を実行するシス
テムのブロック図、第3図は第1図に用いる言語処理プ
ログラムの出力する機械語命令の構或図、第4図は本実
施例に用いられるメモリの構成図、第5図は本発明の第
2の実施例を説明するフローチャート、第6図は本実施
例の効果を説明する処理時間の特性図である。 1・・・計算機装置、2・・・デバッガプログラム、3
・・・コンソール、4・・・RS232C通信回線、5
・・・インサーキットエミュレー夕、6・・・ターゲッ
ト機器、11〜20,31〜40・・・処理ステップ、
21・・・メモリ、22・・・スタックポインタ、23
・・・リターンアドレス、31・・・ステップ実行のた
めのコール命令、32・・・ソースプログラム1行に対
する機械語命令、33・・・関数用ステップ実行処理部
、34・・・ブロック用ステップ実行処理部、35・・
・文用ステップ実行処理部、36・・・ステップ実行処
理部。
Figure 1 is a flowchart of one-line step execution explaining the first implementation of the present invention, Figure 2 is a block diagram of a system that executes Figure 1, and Figure 3 is a language processing program used in Figure 1. FIG. 4 is a diagram showing the configuration of the machine language instructions to be output, FIG. 4 is a diagram showing the configuration of the memory used in this embodiment, FIG. It is a characteristic diagram of processing time explaining an effect. 1... Computer device, 2... Debugger program, 3
...Console, 4...RS232C communication line, 5
... In-circuit emulator, 6... Target device, 11-20, 31-40... Processing step,
21...Memory, 22...Stack pointer, 23
...Return address, 31...Call instruction for step execution, 32...Machine language instruction for one line of source program, 33...Step execution processing unit for function, 34...Step execution for block Processing section, 35...
- Statement step execution processing unit, 36...Step execution processing unit.

Claims (1)

【特許請求の範囲】[Claims] 言語処理プログラムによって翻訳されたソースプログラ
ムを用いた、ターゲットシステムと通信を行うホスト計
算機上のデバッグ手段により、ソースレベルのソースプ
ログラムのステップ実行を行うデバッグ方式において、
前記言語処理プログラムが生成したステップ実行のため
の処理部に、ブレークポイントを設定することにより、
ソースレベルの一機能単位によるステップ実行を行うこ
とを特徴とするデバッグ方式。
In a debugging method that performs step execution of a source program at the source level using a debugging means on a host computer that communicates with a target system using a source program translated by a language processing program,
By setting a breakpoint in the processing section for step execution generated by the language processing program,
A debugging method characterized by step execution of a single functional unit at the source level.
JP1189436A 1989-07-21 1989-07-21 Debug method Expired - Lifetime JP2861085B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1189436A JP2861085B2 (en) 1989-07-21 1989-07-21 Debug method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1189436A JP2861085B2 (en) 1989-07-21 1989-07-21 Debug method

Publications (2)

Publication Number Publication Date
JPH0353347A true JPH0353347A (en) 1991-03-07
JP2861085B2 JP2861085B2 (en) 1999-02-24

Family

ID=16241219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1189436A Expired - Lifetime JP2861085B2 (en) 1989-07-21 1989-07-21 Debug method

Country Status (1)

Country Link
JP (1) JP2861085B2 (en)

Also Published As

Publication number Publication date
JP2861085B2 (en) 1999-02-24

Similar Documents

Publication Publication Date Title
US20030208746A1 (en) Conditional breakpoint encountered indication
JP2008033849A (en) Fault analysis system
CN116627850B (en) Function debugging method and device, storage medium and electronic equipment
US20030188296A1 (en) Conditional debug monitors
JPH0353347A (en) Debugging system
KR20050063023A (en) Embedded system debugger based on jtag interface and the method
CN110554969B (en) Target code coverage rate testing method, system and medium based on preset breakpoints
KR950012113B1 (en) Improved system and method for detecting cross-domain instruction calls and data referenc especially adapted for code interface jacketing in a multi code execution and debugging syste
JP2817473B2 (en) Debug system
JP2003177937A (en) Apparatus and method for improvement of communication between emulator unit and host device
JP2659366B2 (en) Debugging method and device
JPH03129439A (en) Debugging system
KR100200712B1 (en) Apparatus for program debugging of no-target system
KR920010412B1 (en) Hardware installing testing program
JPH0520122A (en) Remote debug method
CN114281315A (en) Visual software development system and method applied to superconducting computer
JPS59202546A (en) Debugging device
KR0118994B1 (en) The cross debugging method for parallel chill using communication line
JPH03273346A (en) Dynamic call relation analyzing system by symbolic debugger
JPH06242943A (en) Source code level debugging device
JPH0695910A (en) Interactive debugging control system for abnormality processing
JPH04333146A (en) Program execution control system for debugging
JPS63226741A (en) Symbolic debugging system
KR970049557A (en) Server Structure for Cross Debugging and Cross Debugging Operation Method
JPH05204710A (en) Event tracer