JP2817473B2 - Debug system - Google Patents
Debug systemInfo
- Publication number
- JP2817473B2 JP2817473B2 JP3260817A JP26081791A JP2817473B2 JP 2817473 B2 JP2817473 B2 JP 2817473B2 JP 3260817 A JP3260817 A JP 3260817A JP 26081791 A JP26081791 A JP 26081791A JP 2817473 B2 JP2817473 B2 JP 2817473B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- debugging
- interrupt
- interrupt function
- function
- 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 - Fee Related
Links
Landscapes
- Debugging And Monitoring (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、ホスト計算機を用いた
デバッグシステムに利用され、特に、ターゲットシステ
ムを有するデバッグシステムに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention is used for a debugging system using a host computer, and particularly relates to a debugging system having a target system.
【0002】[0002]
【従来の技術】ターゲットシステムを有するデバッグシ
ステムは、クロスデバッグシステムと呼ばれる。クロス
デバッグシステムは、通常、デバッガプログラムの存在
するホスト計算機と通信回線により接続され、デバッグ
プログラムから制御されるインサーキットエミュレータ
およびデバッグ対象のターゲット機器から構成される。2. Description of the Related Art A debug system having a target system is called a cross debug system. The cross debug system is usually connected to a host computer where a debugger program exists by a communication line, and includes an in-circuit emulator controlled by the debug program and a target device to be debugged.
【0003】クロスデバックシステムのホスト計算機上
のデバッガプログラムは、ホスト計算機の端末等から人
間がターゲット機器上の被デバッグプログラムの動作の
流れを監視するため、デバッガ使用者からのターゲット
機器上のプログラムのソースレベル1行や機械語の1命
令を実行するコマンドを受取り、1行の実行後、現在の
ターゲット機器上のプログラムの位置をソースレベルや
機械語レベルで表示する手段を有している。A debugger program on a host computer of a cross debug system is used by a user of a host computer or the like to monitor the flow of operation of a program to be debugged on a target device. It has means for receiving a command for executing one source level line or one machine language instruction, and displaying the current position of the program on the target device at the source level or machine language level after executing one line.
【0004】ターゲットシステムとは、インサーキット
エミュレータ等のCPU動作を監視する手段と、デバッ
グの対象となるCPUと、メモリ装置等から構成される
ターゲット機器のことである。そしてデバッガプログラ
ムとターゲットシステムは、RS232Cインタフェー
ス等の通信回線を通じて、デバッガプログラムからター
ゲットシステムへのコマンドや、ターゲットシステムか
らデバッガプログラムへターゲット上の被デバッグプロ
グラムの状態の情報を転送している。[0004] The target system is a target device including a means for monitoring the operation of the CPU, such as an in-circuit emulator, a CPU to be debugged, a memory device, and the like. The debugger program and the target system transfer commands from the debugger program to the target system and information on the state of the program to be debugged on the target from the target system to the debugger program through a communication line such as an RS232C interface.
【0005】例えば、前記デバッガプログラムは、ター
ゲット機器上の被デバッグプログラムの機械語の1命令
実行を行うため、ターゲットシステム内のインサーキッ
トエミュレータへRS232Cインタフェース等の通信
回線を通じて機械語の1命令実行コマンドを転送し、イ
ンサーキットエミュレータは、ターゲット機器上の被デ
バッグプログラムの1機械語命令の実行を行い、次に実
行を行うプログラムのアドレス情報をデバッガプログラ
ムに通信回線を通して転送する。For example, the debugger program executes one instruction of a machine language of a program to be debugged on a target device, so that a command for executing one instruction of a machine language is transmitted to an in-circuit emulator in a target system through a communication line such as an RS232C interface. The in-circuit emulator executes one machine language instruction of the program to be debugged on the target device, and transfers the address information of the program to be executed next to the debugger program through the communication line.
【0006】従来、この種のデバッグシステムでは、プ
ログラム作成をホスト計算機上で行い、ホスト計算機上
のデバッガプログラムを通してインサーキットエミュレ
ータへプログラムをダウンロードし、インサーキットエ
ミュレータのデバッグ手段を使用してデバッグを行って
いた。Conventionally, in this type of debugging system, a program is created on a host computer, a program is downloaded to an in-circuit emulator through a debugger program on the host computer, and debugging is performed using debugging means of the in-circuit emulator. I was
【0007】また、デバッグするプログラムは機械語レ
ベルで行っていたため、インサーキットエミュレータの
持つ機械語レベルのデバッグ手段を利用するだけで、デ
バッグが可能であった。インサーキットエミュレータに
機械語レベルのデバッグ手段をもたせ、ホスト計算機上
のデバッガプログラムは、インサーキットエミュレータ
からの情報の表示とインサーキットエミュレータへのキ
ーボードからのデバッガ使用者の入力コマンドの転送を
行う程度の手段を持つだけで十分であった。Further, since the program to be debugged is performed at the machine language level, debugging can be performed only by using the machine language level debugging means of the in-circuit emulator. The in-circuit emulator has machine language-level debugging means. It was enough to have the means.
【0008】しかし、最近では、プログラムはC言語や
パスカル言語等の高級言語のソースレベルで記述され、
そのソースレベルでのプログラムのデバッグを行う必要
があり、そのために、ホスト計算機上のデバッガプログ
ラムは、ソースレベルのプログラム上のシンボルの処理
やソースレベルの行情報をもとにソース行での実行手段
等のソースレベルでのデバッグのための手段を持つよう
になっている。Recently, however, programs have been described at the source level in high-level languages such as C language and Pascal language.
It is necessary to debug the program at the source level. For this reason, the debugger program on the host computer uses the symbol processing on the source level program and the execution method at the source line based on the source level line information. It has a means for debugging at the source level such as.
【0009】つまり、ソースレベルのステップ実行を行
う場合、ソースプログラム中の次の行の先頭にブレーク
ポイントを設定し、プログラムを実行することがある。In other words, when performing step execution at the source level, a break point may be set at the beginning of the next line in the source program and the program may be executed.
【0010】ところが、デバッグ時に問題となるのが割
り込み関数である。割り込み関数はソースプログラムの
流れに関係なく、ハードウェア割り込みや、ソフトウェ
ア割り込みが発生した場合に、呼び出される関数であ
る。前記のステップ実行では割り込み関数内ではプログ
ラムは停止せず、デバッグの対象とならないので、以下
の手順でデバッグを行う。However, what is problematic in debugging is the interrupt function. The interrupt function is a function that is called when a hardware interrupt or a software interrupt occurs regardless of the flow of the source program. In the above-described step execution, the program does not stop in the interrupt function and is not a target of debugging. Therefore, debugging is performed in the following procedure.
【0011】(1)すべての割り込み関数のエントリ部
にブレークポイントを設定する。(1) Set breakpoints in the entry sections of all interrupt functions.
【0012】(2)割り込みが発生し割り込み関数の先
頭で実行が中断する。(2) An interrupt occurs and execution is interrupted at the beginning of the interrupt function.
【0013】(3)割り込み関数のステップ実行を行い
デバッグを行う。(3) Debug by performing step execution of an interrupt function.
【0014】現在では、デバイスの機能強化により割り
込み要因の数が増加しているため、それにあわせて割り
込み関数の数も増加している。また、すべての割り込み
関数のエントリ部へのブレークポイント設定のためのイ
ンサーキットエミュレータとの通信量の増加のため、デ
バッガ使用者へのコマンドの応答時間が増加しており、
コマンドの応答時間の高速化の要求がある。At present, the number of interrupt factors is increasing due to the enhancement of device functions, and accordingly, the number of interrupt functions is also increasing. In addition, the response time of commands to the debugger user has increased due to an increase in the amount of communication with the in-circuit emulator for setting breakpoints in the entry sections of all interrupt functions.
There is a demand for faster command response time.
【0015】[0015]
【発明が解決しようとする課題】前述した従来のデバッ
グシステムにおける言語処理プログラムの処理方式で
は、割り込み関数のデバッグを行う場合、すべての割り
込み関数のエントリ部へのブレークポイント設定を行わ
なければならない欠点があった。In the above-described processing method of the language processing program in the conventional debugging system, when debugging an interrupt function, it is necessary to set breakpoints in the entry portions of all interrupt functions. was there.
【0016】割り込み関数はプログラムの動作の流れが
連続的でないため、ソースプログラムからは分岐先は予
想できず、プログラムの動作の流れを追うことはできな
い。また分岐した先でプログラムが終了してしまうこと
も考えられるので、デバッグを最初からやり直さなけれ
ばならなくなる。Since the flow of the program operation of the interrupt function is not continuous, the branch destination cannot be predicted from the source program, and the flow of the program operation cannot be followed. In addition, since the program may end at the branch destination, debugging must be restarted from the beginning.
【0017】このように、従来の言語処理プログラムの
処理方式では、デバッグに操作上の手間がかかるうえ、
予想に反した動作をすることもあり、使用者の使い勝手
は良いものとは言えない欠点があった。As described above, according to the processing method of the conventional language processing program, it takes time and effort for debugging, and
In some cases, the operation performed was unexpected, and the usability of the user was not good.
【0018】また、ターゲットシステム上の被デバッグ
プログラムのすべての割り込み関数のエントリ部にブレ
ークポイントを設定しているため、実行時の応答時間が
多大となる欠点があった。Further, since breakpoints are set in the entry portions of all the interrupt functions of the program to be debugged on the target system, there is a drawback that the response time during execution becomes large.
【0019】本発明の目的は、前記の欠点を除去するこ
とにより、割り込み関数を含むソースプログラムのデバ
ッグを効果的に行うことができ、かつ誤った割り込みを
防止することができるデバッグシステムを提供すること
にある。An object of the present invention is to provide a debugging system capable of effectively debugging a source program including an interrupt function and preventing an erroneous interrupt by eliminating the above-mentioned disadvantages. It is in.
【0020】[0020]
【課題を解決するための手段】本発明は、割り込み関数
を有するソースプログラム、言語処理プログラム、オブ
ジェクトファイル、およびデバッグ手段を含むホスト計
算機と、前記ホスト計算機と通信回線を介して接続され
前記デバッグ手段によりステップ実行の制御が行われる
ターゲットシステムとを備えたデバッグシステムにおい
て、前記オブジェクトファイルは、前記ソースプログラ
ム中のすべての割り込み関数から呼び出される割り込み
関数処理部を含み、前記デバッグ手段は、前記オブジェ
クトファイルを入力し、割り込み関数を含んだステップ
実行を行うか否かを判断する手段と、ステップ実行時に
前記オブジェクトファイル内の前記割り込み関数処理部
でオブジェクトの実行を一時停止する手段とを含むこと
を特徴とする。According to the present invention, there is provided a host computer including a source program having an interrupt function, a language processing program, an object file, and debugging means, and the debugging means connected to the host computer via a communication line. And a target system in which step execution is controlled by the object file, wherein the object file includes an interrupt function processing unit called from all interrupt functions in the source program. And means for determining whether or not to execute a step including an interrupt function, and means for temporarily stopping the execution of an object by the interrupt function processing unit in the object file at the time of step execution. And
【0021】[0021]
【作用】オブジェクトファイルは、ソースプログラム中
のすべての割り込み関数から呼び出される割り込み関数
処理部を含み、デバッグ手段は、ステップ実行時に、前
記割り込み関数処理部で例えばブレークポイントを設定
することで、オブジェクトの実行を一時停止し、ソース
レベルでのデバッグを行う。The object file includes an interrupt function processing unit which is called from all the interrupt functions in the source program, and the debugging means sets, for example, a breakpoint in the interrupt function processing unit at the time of step execution, thereby setting the object. Pause execution and debug at source level.
【0022】従って、割り込み関数を持つソースプログ
ラムのデバッグを、最小のデバッグ情報の通信により可
能となり、デバッグの効率化を図るとともに、予期しな
い割り込みにより割り込み関数が実行されプログラムが
終了してしまうことの不具合もなくすことができる。Therefore, it is possible to debug a source program having an interrupt function by transmitting the minimum debug information, thereby improving the efficiency of debugging, and preventing an unexpected interrupt from executing an interrupt function and terminating the program. You can eliminate defects.
【0023】[0023]
【実施例】以下、本発明の実施例について図面を参照し
て説明する。Embodiments of the present invention will be described below with reference to the drawings.
【0024】図1は本発明の一実施例を示すブロック構
成図、図3はそのソースプログラムの一例を示す説明
図、および図4はそのオブジェクトの一例を示す説明図
である。FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 3 is an explanatory diagram showing an example of the source program, and FIG. 4 is an explanatory diagram showing an example of the object.
【0025】本実施例は、割り込み関数ipsubを有
するソースプログラム11、言語処理プログラム12、
オブジェクトファイル13、およびデバッグ手段14を
含むホスト計算機10と、ホスト計算機10とRS23
2C通信回線30を介して接続されデバッグ手段14に
よりステップ実行の制御が行われるターゲットシステム
としてのインサーキットエミュレータ40およびターゲ
ット機器41と、ホスト計算機10に接続されたコンソ
ール20とを備えたデバッグシステムにおいて、本発明
の特徴とするところの、オブジェクトファイル13は、
ソースプログラム11中のすべての割り込み関数ips
ubから呼び出される割り込み関数処理部13fを含
み、デバッグ手段14は、オブジェクトファイル13を
入力し、割り込み関数ipsubを含んだステップ実行
を行うか否かを判断する手段と、ステップ実行時にオブ
ジェクトファイル13内の割り込み関数処理部でオブジ
ェクトの実行を一時停止する手段とを含んでいる。In this embodiment, a source program 11 having an interrupt function ipsub, a language processing program 12,
A host computer 10 including an object file 13 and a debugging unit 14;
In a debugging system including an in-circuit emulator 40 and a target device 41 as a target system connected via the 2C communication line 30 and controlled by the debugging unit 14 to perform step execution, and a console 20 connected to the host computer 10 The object file 13, which is a feature of the present invention,
All interrupt functions ips in source program 11
The debugging means 14 includes an interrupt function processing unit 13f called from the object file 13 and a means for inputting the object file 13 and determining whether or not to execute a step including the interrupt function ipsub. Means for temporarily stopping the execution of the object by the interrupt function processing unit.
【0026】デバッグ手段14は、デバッグ手段14の
ユーザからのコマンドの受取りや、その他のデバッグ機
能を行う応用プログラム(デバッガプログラム)であ
り、ソースレベルのステップ実行の制御も行う。The debugging means 14 is an application program (debugger program) for receiving commands from the user of the debugging means 14 and performing other debugging functions, and also controls source level step execution.
【0027】また、デバッグ手段14は、デバッグ手段
14の使用者からのターゲットシステム上の被デバッグ
プログラムのソースレベルでのステップ実行コマンドを
受取り、インサーキットエミュレータ40へ各種インサ
ーキットエミュレータ用コマンドを送り、その結果を受
取りその旨をデバッグ手段14の使用者へコンソール2
0を介して通知する。The debugging means 14 receives a step execution command at the source level of the program to be debugged on the target system from the user of the debugging means 14 and sends various in-circuit emulator commands to the in-circuit emulator 40. Receives the result and informs the user of the debugging means 14 of the console 2
Notify via 0.
【0028】また、図3は入力ファイルであるソースプ
ログラム11の一例の内容を示し、図3において、左側
の数字は説明のために付けたソースプログラム11中の
行番号である。FIG. 3 shows the contents of an example of the source program 11 which is an input file. In FIG. 3, the numbers on the left side are line numbers in the source program 11 added for explanation.
【0029】また、図4は、オブジェクトファイル13
の内容(オブジェクトプログラム)を示し図3の関数i
psubに対するものである。オブジェクトファイル1
3は、割り込み関数のためのコール命令13a、関数前
処理部13b、関数前処理部13c、関数内の文に対す
る機械語命令13c、関数後処理部13dおよびリター
ン命令13e、ならびに割り込み関数処理部13fを含
んでいる。FIG. 4 shows the object file 13.
3 shows the contents (object program) of the function i.
For psub. Object file 1
Reference numeral 3 denotes a call instruction 13a for an interrupt function, a function preprocessing unit 13b, a function preprocessing unit 13c, a machine language instruction 13c for a statement in a function, a function postprocessing unit 13d and a return instruction 13e, and an interrupt function processing unit 13f. Contains.
【0030】割り込み関数のためのコール命令13a
は、割り込み関数の先頭に言語処理プログラム12が生
成したソースレベルのステップ実行のためのコール命令
であり、割り込み関数処理部13fを呼び出す。割り込
み関数処理部13fは、ステップ実行のためブレークポ
イントを設定される機械語命令からなる。Call instruction 13a for interrupt function
Is a call instruction for executing a source level step generated by the language processing program 12 at the beginning of the interrupt function, and calls the interrupt function processing unit 13f. The interrupt function processing unit 13f includes a machine language instruction for setting a breakpoint for step execution.
【0031】図2は、ターゲットシステム上の被デバッ
グプログラムのソースレベルのステップ実行手段の処理
の詳細を示すフローチャートである。FIG. 2 is a flowchart showing the details of the processing of the source level step executing means of the program to be debugged on the target system.
【0032】ソースレベルの機能単位のステップ実行
は、図2のフローチャートに従って行われる。ソースレ
ベルの1機能単位のステップ実行方法を図2のフローチ
ャートをもとに説明する。The step execution of the function unit at the source level is performed according to the flowchart of FIG. A step execution method of one function unit at the source level will be described with reference to the flowchart of FIG.
【0033】(1)デバッグ手段14はコンソール20
を介しての使用者の指示に従い割り込み関数も含めたス
テップ実行を行うか否かを決定する(ステップS1)。
割り込み関数も含めた関数レベルのステップ実行を行う
場合、デバッグ手段14は、ターゲット機器41上の割
り込み関数処理部13fの先頭アドレスにブレークポイ
ントを設定するコマンドをRS232C通信回線30を
使用して、インサーキットエミュレータ40に送信する
(ステップS2)。ここで、ブレークポイントとはプロ
グラム内のあるメモリを指定し、プログラムを実行する
と、指定したメモリにプログラムの実行が移動してプロ
グラムを実行するとプログラムが停止するような手段の
ことである。(1) The debugging means 14 is a console 20
It is determined whether or not to execute the step including the interrupt function in accordance with the user's instruction through the step (step S1).
When performing the step execution at the function level including the interrupt function, the debugging unit 14 uses the RS232C communication line 30 to input a command for setting a breakpoint at the start address of the interrupt function processing unit 13f on the target device 41. The data is transmitted to the circuit emulator 40 (step S2). Here, a breakpoint is a means for designating a certain memory in a program, executing the program, moving the execution of the program to the specified memory, and stopping the program when the program is executed.
【0034】(2)次に、デバッグ手段14は、ブレー
クポイントの設定されたターゲット機器41上の被デバ
ッグプログラムの実行コマンドを、RS232C通信回
線30を使用してインサーキットエミュレータ40に送
信する(ステップS3)。(2) Next, the debugging means 14 transmits the execution command of the program to be debugged on the target device 41 at which the breakpoint is set to the in-circuit emulator 40 using the RS232C communication line 30 (step). S3).
【0035】(3)被デバッグプログラムは割り込みが
発生すると処理は割り込み関数に移る。割り込み関数の
先頭では割り込み関数処理部のコール命令13aが実行
される。割り込み関数処理部13fにはブレークポイン
トが設定されているため、被デバッグプログラムの実行
はここで停止する。インサーキットエミュレータ40
は、被デバッグプログラムが停止したことをRS232
C通信回線30を使用して、ホスト計算機10上のデバ
ッグ手段14へ送信し、デバッグ手段14がこの停止情
報を受け取る(ステップS4)。(3) When an interrupt occurs in the program to be debugged, the processing shifts to an interrupt function. At the beginning of the interrupt function, a call instruction 13a of the interrupt function processing unit is executed. Since a breakpoint is set in the interrupt function processing unit 13f, the execution of the debugged program is stopped here. In-circuit emulator 40
RS232 indicates that the debugged program has stopped.
The information is transmitted to the debug unit 14 on the host computer 10 using the C communication line 30, and the debug unit 14 receives the stop information (step S4).
【0036】(4)デバッグ手段14は、ターゲット機
器41上の割り込み関数処理部13fのブレークポイン
トを解除するコマンドをRS232C通信回線30を使
用して、インサーキットエミュレータ40に送信する
(ステップS5)。(4) The debugging means 14 transmits a command for releasing the break point of the interrupt function processing unit 13f on the target device 41 to the in-circuit emulator 40 using the RS232C communication line 30 (step S5).
【0037】(5)デバッグ手段14は、被デバッグプ
ログラムの停止アドレス情報であるステップ実行処理部
をコールしたコール命令の次のアドレス、つまりスタッ
ク上に積まれたリターンアドレスをターゲットシステム
から得る。そのアドレスとソースプログラム11の対応
表から被デバッグプログラムが停止した位置を得て、デ
バッグ手段14の使用者にソースレベルのステップ実行
の終了したことをコンソール20に通知する(ステップ
S6)。(5) The debugging means 14 obtains, from the target system, the address following the call instruction that called the step execution processing unit, that is, the return address stacked on the stack, which is the stop address information of the program to be debugged. The location where the debugged program is stopped is obtained from the correspondence table between the address and the source program 11, and the user of the debugging means 14 is notified to the console 20 that the source-level step execution has been completed (step S6).
【0038】ここで、スタックについて図5をもとに説
明する。プログラムの実行中に関数を呼び出した場合、
現在実行している機械語命令である関数呼び出し命令の
次の命令の格納されているアドレス、つまり関数呼び出
しから戻るべきアドレス(以下、リターンアドレスとい
う。)52を、メモリ50中のスタックポインタ51の
指しているところから下位方向のメモリに格納する(こ
れをスタックに積むという)。次に、スタックポインタ
51は更新され、いまスタックに積まれた戻りアドレス
の直前を指す。スタックポインタ51は、関数呼び出し
から戻る場合、リターンアドレス52の積まれている次
のアドレスを指すように更新され、プログラムの実行は
リターンアドレス52へ戻る。Here, the stack will be described with reference to FIG. If you call a function while the program is running,
The address at which the instruction following the function call instruction, which is the currently executed machine language instruction, is stored, that is, the address to be returned from the function call (hereinafter referred to as a return address) 52 is stored in the stack pointer 51 in the memory 50. From the point where it points, it is stored in the memory in the lower direction (this is called stacking). Next, the stack pointer 51 is updated and points to the position immediately before the return address that is now stacked on the stack. When returning from the function call, the stack pointer 51 is updated to point to the next address on which the return address 52 is stacked, and the execution of the program returns to the return address 52.
【0039】ステップ実行を行わない場合は、ブレーク
ポイントの設定は行われない。このため、割り込み関数
処理部13fで被デバッグプログラムは停止することな
く、被デバッグプログラムの制御は先に割り込み関数処
理部13fを呼び出したステップ実行のためのコール命
令13aの次の機械語命令へ戻る。次に、割り込み関数
の関数前処理部13bの機械語命令を実行する。その
後、これと同じ処理を被デバッグプログラムが終了する
まで繰り返す。When step execution is not performed, no breakpoint is set. Therefore, the debugged program is not stopped in the interrupt function processing unit 13f, and the control of the debugged program returns to the machine instruction following the call instruction 13a for executing the step which previously called the interrupt function processing unit 13f. . Next, a machine language instruction of the function preprocessing unit 13b of the interrupt function is executed. Thereafter, the same processing is repeated until the debugged program ends.
【0040】[0040]
【発明の効果】以上説明したように、本発明は、割り込
み関数の先頭から呼び出されるデバッグのため割り込み
関数処理部のブレークポイントを設定することにより、
すべての割り込み関数のエントリ部にブレークポイント
を設定して実行するといった手間もかからなくなるばか
りでなく、すべての割り込み関数のエントリ部にブレー
クポイントを設定して実行した場合に比べて高速に実行
が行われる効果がある。As described above, according to the present invention, by setting a breakpoint of the interrupt function processing unit for debugging called from the beginning of an interrupt function,
Not only does it eliminate the need to set and execute breakpoints in the entry sections of all interrupt functions, but it also runs faster than when setting and executing breakpoints in the entry sections of all interrupt functions. There are effects that are performed.
【0041】ここで通信時間として問題となるのは、デ
バッグ手段とインサーキットエミュレータとがハンドシ
ェーク通信を行っているため、通信回数が多いほど、多
くの通信時間が必要となる。これは、ハンドシェーク通
信が情報の伝達とともに、通信回数が少なければ、少な
いほど通信時間は短くなる。The problem with the communication time is that the debugging means and the in-circuit emulator perform the handshake communication, so that the larger the number of times of communication, the longer the communication time is required. This is because, as the handshake communication transmits information and the number of times of communication is smaller, the communication time becomes shorter as the number of communication becomes smaller.
【0042】また、すべての割り込み関数でステップ実
行が停止するため、予期しない割り込みにより、割り込
み関数が実行されプログラムが終了してしまい、デバッ
グを最初からやり直さなければならなくなるといったこ
とがなくなる効果も得られる。Further, since the step execution is stopped in all the interrupt functions, an effect that an interrupt function is executed due to an unexpected interrupt, the program is terminated, and it is not necessary to restart debugging from the beginning is obtained. Can be
【図1】本発明の一実施例を示すブロック構成図。FIG. 1 is a block diagram showing an embodiment of the present invention.
【図2】そのソースレベルの1行ステップ実行のフロー
チャート。FIG. 2 is a flowchart of one-line step execution at the source level.
【図3】そのソースプログラムの一例を示す説明図。FIG. 3 is an explanatory diagram showing an example of the source program.
【図4】そのオブジェクトファイルの一例を示す説明
図。FIG. 4 is an explanatory diagram showing an example of the object file.
【図5】そのスタックの説明図。FIG. 5 is an explanatory diagram of the stack.
10 ホスト計算機 11 ソースプログラム 12 言語処理プログラム 13 オブジェクトファイル 13a (割り込み関数処理部の)コール命令 13b 関数前処理部 13c (関数内の文に対する)機械語命令 13d 関数後処理部 13e リターン命令 13f 割り込み関数処理部 14 デバッグ手段 14a 割り込みステップ実行判断手段 14b オブジェクト実行一時停止手段 20 コンソール 30 RS232C通信回線 40 インサーキットエミュレータ 41 ターゲット機器 50 メモリ 51 スタックポインタ 52 リターンアドレス S1〜S6 ステップ Reference Signs List 10 Host computer 11 Source program 12 Language processing program 13 Object file 13a Call instruction (for interrupt function processing unit) 13b Function preprocessing unit 13c Machine language instruction (for statement in function) 13d Function postprocessing unit 13e Return instruction 13f Interrupt function Processing unit 14 Debugging means 14a Interruption step execution determining means 14b Object execution suspending means 20 Console 30 RS232C communication line 40 In-circuit emulator 41 Target device 50 Memory 51 Stack pointer 52 Return address S1 to S6 Step
Claims (1)
ム、言語処理プログラム、オブジェクトファイル、およ
びデバッグ手段を含むホスト計算機と、 前記ホスト計算機と通信回線を介して接続され前記デバ
ッグ手段によりステップ実行の制御が行われるターゲッ
トシステムとを備えたデバッグシステムにおいて、 前記オブジェクトファイルは、前記ソースプログラム中
のすべての割り込み関数から呼び出される割り込み関数
処理部を含み、 前記デバッグ手段は、前記オブジェクトファイルを入力
し、割り込み関数を含んだステップ実行を行うか否かを
判断する手段と、ステップ実行時に前記オブジェクトフ
ァイル内の前記割り込み関数処理部でオブジェクトの実
行を一時停止する手段とを含むことを特徴とするデバッ
グシステム。A host computer including a source program having an interrupt function, a language processing program, an object file, and a debug unit; and a step execution control performed by the debug unit, the host computer being connected to the host computer via a communication line. In a debugging system comprising a target system, the object file includes an interrupt function processing unit called from all interrupt functions in the source program, and the debugging unit inputs the object file and includes an interrupt function. A debugging system comprising: means for determining whether or not to execute step execution; and means for temporarily suspending execution of an object by the interrupt function processing unit in the object file during step execution.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3260817A JP2817473B2 (en) | 1991-10-08 | 1991-10-08 | Debug system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3260817A JP2817473B2 (en) | 1991-10-08 | 1991-10-08 | Debug system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05100899A JPH05100899A (en) | 1993-04-23 |
JP2817473B2 true JP2817473B2 (en) | 1998-10-30 |
Family
ID=17353173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3260817A Expired - Fee Related JP2817473B2 (en) | 1991-10-08 | 1991-10-08 | Debug system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2817473B2 (en) |
-
1991
- 1991-10-08 JP JP3260817A patent/JP2817473B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH05100899A (en) | 1993-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6308318B2 (en) | Method and apparatus for handling asynchronous exceptions in a dynamic translation system | |
JP2000517077A (en) | Computer system software testing methods and systems | |
KR920003044B1 (en) | Control system for guest execution of virtual computer system | |
CN113986771A (en) | Method and device for debugging target program code and electronic equipment | |
JP2817473B2 (en) | Debug system | |
JP2653412B2 (en) | How to set breakpoints | |
KR100200712B1 (en) | Apparatus for program debugging of no-target system | |
JP2659366B2 (en) | Debugging method and device | |
JP3449812B2 (en) | Control electronics | |
JPH0353347A (en) | Debugging system | |
JP3159155B2 (en) | Method and apparatus for debugging program | |
KR930007470B1 (en) | Electronic exchange | |
JP2001051873A (en) | Debugging device | |
JPS62194551A (en) | Debug system for microprocessor | |
JP2954006B2 (en) | Emulation device and emulation method | |
JP3703549B2 (en) | Software performance estimation and performance monitoring method | |
JPH01298443A (en) | Incircuit emulator | |
JP2701799B2 (en) | Microcomputer | |
JPS59202548A (en) | Debugging device | |
JPH01274253A (en) | Software break system | |
JPH03175539A (en) | Debugging microprocessor | |
JPS63289653A (en) | In-circuit emitter | |
JPH0695910A (en) | Interactive debugging control system for abnormality processing | |
JPS61241843A (en) | Information processor | |
JPH10187480A (en) | Emulator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |