JP2653412B2 - How to set breakpoints - Google Patents

How to set breakpoints

Info

Publication number
JP2653412B2
JP2653412B2 JP4276698A JP27669892A JP2653412B2 JP 2653412 B2 JP2653412 B2 JP 2653412B2 JP 4276698 A JP4276698 A JP 4276698A JP 27669892 A JP27669892 A JP 27669892A JP 2653412 B2 JP2653412 B2 JP 2653412B2
Authority
JP
Japan
Prior art keywords
address
breakpoint
execution
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.)
Expired - Lifetime
Application number
JP4276698A
Other languages
Japanese (ja)
Other versions
JPH06103110A (en
Inventor
浩一 武田
輝彦 大原
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP4276698A priority Critical patent/JP2653412B2/en
Publication of JPH06103110A publication Critical patent/JPH06103110A/en
Application granted granted Critical
Publication of JP2653412B2 publication Critical patent/JP2653412B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、いわゆるデバッガ等の
プログラムデバッグ支援ツールにおける、プログラムの
実行を途中で停止するためのブレークポイント設定方法
に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for setting a breakpoint for stopping program execution halfway in a program debugging support tool such as a so-called debugger.

【0002】[0002]

【従来の技術】従来、多くのデバッグ支援システムにお
いて、プログラムの実行を所定の命令で中断するブレー
クポイント機能が備えられている。プログラムのデバッ
グ処理において、この種のブレークポイント機能は有益
であり、多くのデバッグ支援システムに組み込まれてい
る。この機能は、デバッグ対象プログラムにおいて、予
め指定した任意の命令でその都度実行を停止させるもの
である。この機能を用いる場合、ユーザは、予め実行を
停止させたい命令を指定しておいてから、デバッグ対象
プログラムを始動させる。これにより、デバッグ対象プ
ログラムは、指定された命令で実行を停止する。その
際、オペレータは、必要ならば、その停止した時点での
レジスタやメモリの値を調べたり変更したりすることが
できる。その後、また、その停止した時点からプログラ
ムの実行を再開することもできる(例えば、「情報科学
辞典」岩波書店 第1刷、1990年p.655 “ブレークポイ
ント”等参照)。このブレークポイント機能の実現方法
として、次の(1)〜(3)のような方法がある。
2. Description of the Related Art Conventionally, many debugging support systems have a breakpoint function for interrupting the execution of a program at a predetermined instruction. In the debugging process of a program, this kind of breakpoint function is useful and is incorporated in many debugging support systems. This function is to halt the execution of a program to be debugged each time with an arbitrary instruction designated in advance. When using this function, the user designates an instruction whose execution is to be stopped in advance, and then starts the debug target program. Thus, the debug target program stops executing at the designated instruction. At that time, the operator can check or change the values of the registers and memories at the time of the stop, if necessary. Thereafter, the program execution can be resumed from the point at which the program was stopped (for example, see "Information Science Dictionary," Iwanami Shoten, First Edition, 1990, p.655, "Breakpoint", etc.). There are the following methods (1) to (3) for realizing the breakpoint function.

【0003】(1)指定された命令をトラップ命令で置
き換える。即ち、トラップ命令が検出されると、トラッ
プが発生し、トラップ処理ルーチンを経由してデバッグ
支援プログラムに制御が渡り、ユーザにその旨が通知さ
れる。実行の再開が指示されると、置き換えられた元の
命令の実行をシミュレートした後、制御を元に戻す(例
えば、飯塚、田中「ソフトウェア指向アーキテクチャ」
オーム社 第1版1985年p.212 “命令の実行に関する
割出し”参照)。この方法には、プログラム中に複数の
ブレークポイントを設定できるという特徴がある。
(1) Replace a designated instruction with a trap instruction. That is, when a trap instruction is detected, a trap is generated, control is passed to the debug support program via the trap processing routine, and the user is notified of the fact. When execution restart is instructed, the execution of the replaced original instruction is simulated, and then control is returned to the original (for example, Iizuka, Tanaka "Software Oriented Architecture")
Ohmsha, 1st Edition, 1985, p.212, "Indexing for Instruction Execution"). This method has a feature that a plurality of breakpoints can be set in a program.

【0004】(2)ハードウェアにブレークポイントレ
ジスタを設ける。ブレークポイントレジスタ(BPR)
は、実行を停止させたい命令のアドレスを保持するレジ
スタである。このレジスタで指定される命令が検出され
ると、トラップが発生し、トラップ処理ルーチンを経由
してデバッグ支援プログラムに制御が渡り、ユーザにそ
の旨が通知される。実行の再開が指示されると、制御が
元に戻される(例えば、「32ビット・マイクロプロセ
ッサ」日経マグロウヒル社p.178 参照)。この方法は、
以下の(a)、(b)の特徴を持つ。 (a)デバッグ対象プログラムを変更する必要がない。 (b)命令の実行をシミュレートする必要がない。
(2) A breakpoint register is provided in hardware. Breakpoint register (BPR)
Is a register that holds the address of the instruction whose execution is to be stopped. When the instruction specified by this register is detected, a trap is generated, control is passed to the debug support program via the trap processing routine, and the user is notified of the fact. When execution resume is instructed, the control is returned (for example, see “32-bit microprocessor”, Nikkei McGraw-Hill, p. 178). This method
It has the following features (a) and (b). (A) There is no need to change the program to be debugged. (B) There is no need to simulate instruction execution.

【0005】(3)命令毎にブレークポイントを制御す
るフラグを用意する。このフラグがセットされている命
令が検出されると、トラップが発生し、トラップ処理を
経由してデバッグ支援プログラムに制御が渡り、ユーザ
にその旨が通知される。実行の再開が指示されると、制
御が元に戻される(例えば、飯塚、田中「ソフトウェア
指向アーキテクチャ」 オーム社 第1版1985年p.212
“命令の実行に関する割出し”参照)。この方法は、以
下の(a)、(b)の特徴を持つ。 (a)複数のブレークポイントを設定できる。 (b)命令の実行をシミュレートする必要がない。
(3) A flag for controlling a breakpoint is prepared for each instruction. When an instruction in which this flag is set is detected, a trap is generated, control is passed to the debug support program via the trap processing, and the user is notified of that. When execution restart is instructed, control is returned to the original (for example, Iizuka, Tanaka "Software Oriented Architecture" Ohmsha First Edition, 1985, p.212
See “Indexing Instruction Execution”). This method has the following features (a) and (b). (A) A plurality of breakpoints can be set. (B) There is no need to simulate instruction execution.

【0006】[0006]

【発明が解決しようとする課題】しかしながら、上述し
た(1)〜(3)の従来の技術には、次のような問題が
あった。即ち、(1)の技術には、次の(a)、(b)
のような問題があった。 (a)ブレークポイントを設定するために元のプログラ
ムを書き直す必要がある。従って、プログラムが読み出
し専用メモリなどに書き込まれていて、プログラムの書
き換えができない場合、ブレークポイントの設定ができ
ない。 (b)ブレークポイントからプログラムの実行を再開す
るためには、書き換えられた元の命令の実行をシミュレ
ートする必要がある。このため、以下の(ア)、(イ)
の問題があった。
However, the above-mentioned prior arts (1) to (3) have the following problems. That is, the technology (1) includes the following (a) and (b)
There was such a problem. (A) The original program needs to be rewritten to set a breakpoint. Therefore, when the program is written in a read-only memory or the like and the program cannot be rewritten, a breakpoint cannot be set. (B) In order to resume the execution of the program from the breakpoint, it is necessary to simulate the execution of the rewritten original instruction. Therefore, the following (A), (B)
There was a problem.

【0007】(ア)プログラムカウンタ相対アドレッシ
ングモード等を使う命令の場合、プログラムカウンタの
値が元のプログラムの実行状態とは異なるため、正しく
シミュレートするには多くの命令を必要とする。 (イ)特権モードなどのプロセッサの状態が、元のプロ
グラムの実行状態と異なることがある場合、元のプログ
ラムの状態ではその命令の実行が許可されていないとき
でもそれが検出できない。
(A) In the case of an instruction using the program counter relative addressing mode or the like, since the value of the program counter is different from the execution state of the original program, many instructions are required to correctly simulate. (A) If the state of the processor such as the privileged mode is different from the execution state of the original program, it cannot be detected in the original program state even if execution of the instruction is not permitted.

【0008】また、(2)には、次のような問題があっ
た。ハードウェアで用意できるブレークポイントレジス
タの数には限りがあるため、その数を超えるブレークポ
イントを設定できない。例えば、ブレークポイントレジ
スタの数が4つの場合は、最大4つのブレークポイント
しか同時に監視できない。そして、(3)には、次の
(a)、(b)のような問題があった。 (a)ブレークポイントを設定するために元のプログラ
ム中の命令のフラグを書き直す必要がある。従って、
(1)(a)と同様に、プログラムが読み出し専用メモ
リなどに書き込まれていて、プログラムの書き換えがで
きない場合、ブレークポイントの設定ができない。 (b)命令にブレークポイントを制御するフラグが備わ
っている特殊なプロセッサ以外のプロセッサには適用で
きない。
[0008] The method (2) has the following problem. Since the number of breakpoint registers that can be prepared by hardware is limited, it is not possible to set more breakpoints. For example, when the number of breakpoint registers is four, only four breakpoints can be monitored at the same time. (3) has the following problems (a) and (b). (A) It is necessary to rewrite the flag of the instruction in the original program to set a breakpoint. Therefore,
(1) As in (a), when a program is written in a read-only memory or the like and the program cannot be rewritten, a breakpoint cannot be set. (B) It cannot be applied to processors other than a special processor having a flag for controlling a breakpoint in an instruction.

【0009】本発明は、以上の点に着目してなされたも
ので、従来の(1)〜(3)の各方法の問題点を解決
し、以下の(A)〜(C)の特徴を保ちつつ、デバッグ
支援システムが命令実行のブレークポイントを実現でき
るブレークポイント設定方法を提供することを目的とす
るものである。 (A)任意の複数個数のブレークポイントを設定でき
る。 (B)デバッグ対象プログラムを書き換える必要がな
い。 (C)命令の実行をシミュレートする必要がない。
The present invention has been made in view of the above points, and solves the problems of the conventional methods (1) to (3) and has the following features (A) to (C). It is an object of the present invention to provide a breakpoint setting method in which a debug support system can realize a breakpoint of instruction execution while keeping the same. (A) Any number of breakpoints can be set. (B) There is no need to rewrite the debug target program. (C) There is no need to simulate instruction execution.

【0010】本発明のブレークポイント設定方法は、複
数の命令から成るプログラム中で、指定された各命令で
当該プログラムの実行をそれぞれ停止させる複数のブレ
ークポイントを用意し、実行中の命令のアドレス以上
で、且つ、そのアドレスに最も近いブレークポイントの
アドレスをレジスタに保持し、当該レジスタに保持され
たアドレスに存在する命令の実行時に、プログラム実行
停止のためのブレークポイント検出機構により割り込み
を要求し、前記プログラム中の連続したアドレスに存在
する命令を順次実行する途中で、不連続なアドレスに分
岐する分岐命令が出現した場合に、当該分岐命令の実行
後に、その分岐先のアドレス以上で、且つ、そのアドレ
スに最も近いブレークポイントのアドレスを前記レジス
タに再設定するための割り込みを分岐トレース機構に要
求し、前記分岐トレース機構は分岐先が、予め設定され
たアドレス範囲外に有る場合にのみ前記分岐トレース機
構の割り込みを実行することを特徴とするものである。
In the method of setting a breakpoint according to the present invention, in a program including a plurality of instructions, a plurality of breakpoints for respectively stopping the execution of the program at each designated instruction are prepared, and the address of the instruction being executed is equal to or more than the breakpoint. And the address of the breakpoint closest to that address is held in a register, and when an instruction present at the address held in the register is executed, an interrupt is requested by a breakpoint detection mechanism for stopping program execution, If a branch instruction branching to a discontinuous address appears during the sequential execution of instructions at consecutive addresses in the program, after execution of the branch instruction, at or above the address of the branch destination, and To reset the address of the breakpoint closest to that address to the register Interrupts requests to branch trace mechanism, the branch trace mechanism branch destination is characterized in executing the interrupt said branch trace mechanism only when there outside address range set in advance.

【0011】なお、プログラムのデバッグのため、プロ
グラムの実行を開始する場合には、実行開始アドレス
と、その実行開始アドレス以上で、且つ、実行開始アド
レスに最も近いブレークポイントのアドレスの間に、割
り込み禁止のためのアドレス範囲を設定することを特徴
とする。
When the execution of a program is started to debug the program, an interrupt is executed between an execution start address and a breakpoint address that is equal to or more than the execution start address and closest to the execution start address. It is characterized in that an address range for prohibition is set.

【0012】また、ブレークポイントにおいてプログラ
ムの実行を中断した後、プログラムの実行を再開する場
合には、実行再開アドレスと、その実行再開アドレス以
上で、且つ、その実行再開アドレスに最も近いブレーク
ポイントのアドレスの間に、割り込み禁止のためのアド
レス範囲を設定することを特徴とする。
When the program execution is resumed after the execution of the program is interrupted at the break point, when the execution of the program is resumed, an execution resuming address and a break point which is equal to or greater than the execution resuming address and closest to the execution resuming address are used. It is characterized in that an address range for interrupt inhibition is set between addresses.

【0013】[0013]

【作用】本発明のブレークポイント設定方法において
は、まず、ブレークポイント設定ルーチンは、指定され
た複数のブレークポイントのうち、次に検出されるべき
ブレークポイントを予測し、そのアドレスをブレークポ
イントレジスタに設定する。即ち、プログラムの実行に
従って次に現われるであろうブレークポイントを予測
し、これに従ってブレークポイントレジスタを入換え
る。これにより、1個のブレークポイントレジスタで複
数のブレークポイントを支援する。ブレークポイントを
予測し、ブレークポイントレジスタの設定を行なうタイ
ミングは、デバッグ対象プログラムの実行開始直前と、
ブレークポイント検出後のプログラム実行再開時及び分
岐時である。
In the breakpoint setting method of the present invention, the breakpoint setting routine predicts a breakpoint to be detected next among a plurality of designated breakpoints, and stores the address in the breakpoint register. Set. That is, the next breakpoint that will appear according to the execution of the program is predicted, and the breakpoint register is replaced accordingly. Thus, one breakpoint register supports a plurality of breakpoints. The breakpoint is predicted and the breakpoint register is set at the timing immediately before the execution of the debug target program starts.
At the time of resuming program execution and at the time of branching after detecting a breakpoint.

【0014】また、ブレークポイントの予測は、次の性
質を利用することにより行なう。即ち、分岐が起きない
限りは、実行される命令のアドレスは、順次増加する。
従って、次のブレークポイントのアドレスは、現在の命
令実行アドレス以上のブレークポイントアドレスのう
ち、そのアドレスに最も近いアドレスを持つものであ
る。一方、分岐が起きたとき、同様の予測をすると、既
にレジスタに設定されているブレークポイントと全く同
一のブレークポイントを再び設定する無駄が生じる。そ
こで、分岐先が一定の範囲外にある場合のみ、レジスタ
の再設定を行うようにして、無駄を回避する。
The breakpoint is predicted by utilizing the following properties. That is, unless a branch occurs, the address of the instruction to be executed increases sequentially.
Therefore, the address of the next breakpoint has the address closest to that address among the breakpoint addresses higher than the current instruction execution address. On the other hand, when the same prediction is performed when a branch occurs, there is a waste in setting the same breakpoint as the breakpoint already set in the register again. Therefore, only when the branch destination is outside a certain range, the register is reset, thereby avoiding waste.

【0015】[0015]

【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。図1は、本発明のブレークポイント設定方
式動作説明図である。本発明の方式を実現するための装
置は、ブレークポイントレジスタ1と、ブレークポイン
ト検出機構2と、分岐トレース機構3と、コンパレータ
4と、割込み処理ルーチンTと、ブレークポイント設定
ルーチンBとから構成される。ブレークポイントレジス
タ1は、1個設けられている。尚、このブレークポイン
トレジスタ1は、少なくとも1個設けられるものであ
り、2個以上いくつあってもよい。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a diagram for explaining the operation of a breakpoint setting method according to the present invention. An apparatus for realizing the method of the present invention includes a breakpoint register 1, a breakpoint detection mechanism 2, a branch tracing mechanism 3, a comparator 4, an interrupt processing routine T, and a breakpoint setting routine B. You. One breakpoint register 1 is provided. Note that at least one breakpoint register 1 is provided, and there may be two or more breakpoint registers.

【0016】ブレークポイント検出機構2は、ブレーク
ポイントレジスタ1により指定された命令が検出された
とき、又は実行されたときに、プログラム実行停止のた
めの割込みを要求する機構である。分岐トレース機構3
は、分岐が起きたときにレジスタ再設定のための割込み
を要求する機構である。コンパレータ4は、分岐トレー
ス機構の割込み動作を一定のアドレス範囲で制限する機
構である。その詳細は後で説明する。割込み処理ルーチ
ンTは、デバッグ支援プログラムDによって対象プログ
ラムPのデバッグを行なうルーチンである。
The breakpoint detection mechanism 2 is a mechanism for requesting an interrupt for stopping program execution when an instruction specified by the breakpoint register 1 is detected or executed. Branch trace mechanism 3
Is a mechanism for requesting an interrupt for register reset when a branch occurs. The comparator 4 is a mechanism for limiting the interrupt operation of the branch trace mechanism within a certain address range. The details will be described later. The interrupt processing routine T is a routine for debugging the target program P by the debug support program D.

【0017】一方、対象プログラムPは、デバッグの対
象となるプログラムであり、複数の命令から成り、実行
開始アドレスより実行が開始され、予め設定されたブレ
ークポイントBP1、BP2、BP3を有する。ブレー
クポイントBP1、BP2、BP3は、デバッグを途中
で停止させるアドレスを示す。これらのアドレスは、デ
バッグ支援プログラムDの所定の図示しない記憶領域に
格納されている。
On the other hand, the target program P is a program to be debugged, is composed of a plurality of instructions, starts execution from an execution start address, and has breakpoints BP1, BP2, and BP3 set in advance. Breakpoints BP1, BP2, and BP3 indicate addresses at which debugging is stopped halfway. These addresses are stored in a predetermined storage area (not shown) of the debug support program D.

【0018】デバッグ支援プログラムDは、デバッグの
ための各種ルーチンの集合体である。この中には、ブレ
ークポイント設定ルーチンBが含まれている。ブレーク
ポイント設定ルーチンBは、対象プログラムP上のブレ
ークポイントBP1、BP2、BP3のアドレスをブレ
ークポイントレジスタ1に設定するためのルーチンであ
る。このブレークポイント設定ルーチンBは、デバッグ
支援プログラムD内で実行されるサブルーチンから成
る。上述したブレークポイントBP1、BP2、BP3
は、デバッグ支援プログラムDを使って対象プログラム
Pのデバッグを行なっているユーザが指定する。指定さ
れたすべてのブレークポイントBP1、BP2、BP3
のアドレスは、デバッグ支援プログラムDの使用する記
憶領域に蓄えられているものとする。例えばこの実施例
では、対象プログラム中に3個のブレークポイントBP
1、BP2、BP3が設定されていて、アドレスは、こ
の順に大きくなっているものとする。
The debug support program D is a set of various routines for debugging. This includes a breakpoint setting routine B. The breakpoint setting routine B is a routine for setting the addresses of the breakpoints BP1, BP2, and BP3 on the target program P in the breakpoint register 1. The breakpoint setting routine B includes a subroutine executed in the debug support program D. Breakpoints BP1, BP2, BP3 described above
Is specified by a user who is debugging the target program P using the debug support program D. All specified breakpoints BP1, BP2, BP3
Is stored in a storage area used by the debug support program D. For example, in this embodiment, three breakpoints BP are included in the target program.
1, BP2, and BP3 are set, and the addresses are assumed to increase in this order.

【0019】次に、上述した装置の動作を説明する。ま
ず、ユーザが、ブレークポイントBP1、BP2、BP
3を設定してから、デバッグ支援プログラムDに対象プ
ログラムPの実行を指示する。すると、後で説明する手
順で最初のブレークポイントBP1がブレークポイント
レジスタ1に設定され、ブレークポイント検出機構2及
び分岐トレース機構3の割込み動作を有効にして、デバ
ッグ支援プログラムDから割込み処理ルーチンTを経由
して対象プログラムPへ制御が移される。
Next, the operation of the above-described device will be described. First, the user inputs the breakpoints BP1, BP2, BP
After setting 3, the debug support program D is instructed to execute the target program P. Then, the first breakpoint BP1 is set in the breakpoint register 1 by the procedure described later, the interrupt operation of the breakpoint detection mechanism 2 and the branch trace mechanism 3 is enabled, and the interrupt processing routine T is executed from the debug support program D. The control is transferred to the target program P via this.

【0020】ブレークポイントレジスタ1で指定される
ブレークポイントBP1、BP2又はBP3が検出され
たときは、割込み処理ルーチンTを経由してデバッグ支
援プログラムDに制御が渡される。ここで対象プログラ
ムPの実行は中断され、メモリの値を調べたりする所定
のデバッグのための処理が実行される。その後、ユーザ
がデバッグ支援プログラムDに対象プログラムPの実行
再開を指示したときは、ブレークポイント設定ルーチン
Bを実行してブレークポイントレジスタ1に新たなブレ
ークポイントの設定をしてから、割込み処理ルーチンT
を経由して対象プログラムPに制御が渡される。分岐ト
レース機構3により分岐が検出されたときは、割込み処
理ルーチンTを経由してブレークポイント設定ルーチン
Bに制御が渡され、ブレークポイントの設定が切り換え
られて、割込み処理ルーチンTを経由して対象プログラ
ムPに制御が戻される。
When a breakpoint BP1, BP2 or BP3 specified by the breakpoint register 1 is detected, control is passed to the debug support program D via the interrupt processing routine T. Here, the execution of the target program P is interrupted, and a predetermined debugging process such as checking the value of the memory is executed. Thereafter, when the user instructs the debug support program D to resume the execution of the target program P, the break point setting routine B is executed to set a new break point in the break point register 1 and then the interrupt processing routine T
The control is passed to the target program P via. When a branch is detected by the branch tracing mechanism 3, control is passed to the breakpoint setting routine B via the interrupt processing routine T, the breakpoint setting is switched, and the target is set via the interrupt processing routine T. Control is returned to program P.

【0021】なお、ブレークポイント検出機構2によっ
て、ブレークポイントレジスタ1で指定されるブレーク
ポイントが検出された場合には、その命令を実行する前
に割込み処理ルーチンTに制御が移るものとする。従っ
て、その後はブレークポイントの命令から実行が再開さ
れることになる。また、分岐トレース機構3により分岐
が検出された場合は、その分岐を引き起こした命令の実
行が完了した後に割込み処理ルーチンTに制御が移るも
のとする。従って、ブレークポイントレジスタ1の再設
定後は分岐先の命令からプログラムが続行される。ブレ
ークポイントレジスタ1で指定される命令が分岐を引き
起こす場合は、ブレークポイントが優先される。割込み
処理ルーチンTから戻ってくるときの続行用アドレス
は、特別なレジスタ又はスタックに格納されていて、デ
バッグ支援プログラムDから知ることができるものとす
る。
When a breakpoint specified by the breakpoint register 1 is detected by the breakpoint detection mechanism 2, control is transferred to the interrupt processing routine T before executing the instruction. Therefore, after that, the execution is restarted from the breakpoint instruction. When a branch is detected by the branch tracing mechanism 3, control is transferred to the interrupt processing routine T after the execution of the instruction that caused the branch is completed. Therefore, after the breakpoint register 1 is reset, the program continues from the instruction at the branch destination. If the instruction specified by breakpoint register 1 causes a branch, the breakpoint has priority. The continuation address when returning from the interrupt processing routine T is stored in a special register or stack and can be known from the debug support program D.

【0022】図2は、割込み禁止動作説明図である。本
発明の方式において、分岐命令が出現した場合、図1に
示すような状態と図2に示すような状態の2通りのケー
スが存在する。即ち、図1に示すケースは、分岐命令に
よって1つのブレークポイントBP2を通り越して更に
大きいアドレスの分岐先Lに進んでいる。この場合、ブ
レークポイントレジスタ1に対し、既にブレークポイン
トBP2が設定されているため、分岐後新たにブレーク
ポイントBP3を設定し直すといった動作が必要とな
る。プログラムはアドレスの大きい方へ向かって実行さ
れていくからである。
FIG. 2 is an explanatory diagram of the interrupt inhibiting operation. In the method of the present invention, when a branch instruction appears, there are two cases, a state as shown in FIG. 1 and a state as shown in FIG. That is, in the case shown in FIG. 1, the branch instruction is passed through one breakpoint BP2 to the branch destination L of a larger address. In this case, since the breakpoint BP2 has already been set in the breakpoint register 1, an operation of newly setting the breakpoint BP3 after branching is required. This is because the program is executed toward the higher address.

【0023】一方、図2に示すように、分岐命令よりも
小さい分岐先Lに対して分岐する場合を考える。この場
合、既にブレークポイントBP2がブレークポイントレ
ジスタ1に設定済みである。従って、ブレークポイント
レジスタ1の中身を設定し直す必要はない。また、この
ような再設定動作を繰り返すと、無駄な処理時間を費や
すことになる。この種の繰り返し処理の多いプログラム
においては、このような無駄は全体として無視できない
ものとなる。本発明の装置では、このような無駄を除去
できるような構成とされている。
On the other hand, as shown in FIG. 2, consider a case where a branch is made to a branch destination L smaller than the branch instruction. In this case, the breakpoint BP2 has already been set in the breakpoint register 1. Therefore, there is no need to reset the contents of the breakpoint register 1. Further, if such a resetting operation is repeated, useless processing time is wasted. In a program of this type having a lot of repetitive processing, such waste is not negligible as a whole. The apparatus of the present invention is configured so that such waste can be removed.

【0024】図3にアドレス範囲説明図を示す。上記の
ようなブレークポイントレジスタ1の無駄な再設定処理
は、分岐命令による分岐先が一定のアドレス範囲内にあ
る場合に生じる。そこで、このアドレス範囲を認識する
ために、図1において説明したコンパレータ4を設け
る。そのコンパレータ4は、図3に示すような2個のレ
ジスタLCAR4−1及びUCAR4−2から構成され
る。この例では、ブレークポイントBP1で既に1回プ
ログラムの実行を停止しており、その次のアドレス(B
P1+1)にある命令からプログラムの実行が再開され
ている。その際には、そのアドレスに最も近いブレーク
ポイントのアドレス、即ちブレークポイントBP2のア
ドレスがブレークポイントレジスタ1に設定されてい
る。
FIG. 3 is an explanatory diagram of the address range. Useless resetting of the breakpoint register 1 as described above occurs when the branch destination by the branch instruction is within a certain address range. Therefore, in order to recognize the address range, the comparator 4 described in FIG. 1 is provided. The comparator 4 includes two registers LCAR4-1 and UCAR4-2 as shown in FIG. In this example, the program execution has already been stopped once at the breakpoint BP1, and the next address (B
The execution of the program has been resumed from the instruction at (P1 + 1). At that time, the address of the breakpoint closest to that address, that is, the address of the breakpoint BP2 is set in the breakpoint register 1.

【0025】従って、レジスタLCAR4−1には実行
再開アドレス、即ちブレークポイントBP1のアドレス
の次のアドレスを設定し、レジスタUCAR4−2には
ブレークポイントBP2のアドレスを設定する。そし
て、分岐命令の分岐先Lがこの2つのレジスタLCAR
4−1及びUCAR4−2の示すアドレス範囲外にある
かどうかを判断する。これによって、この範囲内にある
場合には、分岐トレース割込みを禁止するようにしてい
る。
Therefore, the execution resume address, that is, the address next to the address of the breakpoint BP1 is set in the register LCAR4-1, and the address of the breakpoint BP2 is set in the register UCAR4-2. Then, the branch destination L of the branch instruction is the two registers LCAR
It is determined whether the address is outside the address range indicated by 4-1 and UCAR4-2. As a result, the branch trace interrupt is prohibited when the distance is within this range.

【0026】図4に上記のような比較判断を行うための
コンパレータの構成ブロック図を示す。この回路には、
先に説明したレジスタLCAR4−1と、レジスタUC
AR4−2及び2個の比較器4−3、4−4と、これら
の出力の論理和をとるオアゲート4−5と、アンドゲー
ト4−6が設けられている。
FIG. 4 is a block diagram showing a configuration of a comparator for making the above-mentioned comparison judgment. In this circuit,
The register LCAR4-1 described above and the register UC
An AR 4-2 and two comparators 4-3 and 4-4, an OR gate 4-5 for calculating a logical sum of these outputs, and an AND gate 4-6 are provided.

【0027】レジスタLCAR4−1の出力は、次に実
行する命令のアドレスTAと共に比較器4−3に入力
し、その大きさが比較される。また、レジスタUCAR
4−2の出力は、次に実行する命令のアドレスTAと共
に、比較器4−4に入力し、どちらが大きいか比較され
る。比較器4−3及び4−4の出力をオアゲート4−5
に入力させて論理和をとると、次に実行する命令のアド
レスがレジスタLCAR4−1とレジスタUCAR4−
2の示すアドレス範囲外にある場合にのみ、オアゲート
4−5の出力が“1”となる。
The output of the register LCAR4-1 is input to the comparator 4-3 together with the address TA of the next instruction to be executed, and the size is compared. Also, register UCAR
The output of 4-2 is input to a comparator 4-4 together with the address TA of the next instruction to be executed, and a comparison is made as to which is larger. The outputs of the comparators 4-3 and 4-4 are connected to an OR gate 4-5.
And the logical sum is obtained, the address of the next instruction to be executed is changed to the register LCAR4-1 and the register UCAR4-
Only when the address is outside the address range indicated by 2, the output of the OR gate 4-5 becomes "1".

【0028】一方、アンドゲート4−6には、このオア
ゲート4−5の出力の他に、分岐が起こったことを示す
信号BRと、分岐トレースを行うか否かを示すフラグB
Tとが入力する。従って、アンドゲート4−6の出力
は、分岐命令による分岐先がコンパレータの設定したア
ドレス範囲外にある場合であって、分岐が生じており、
且つ分岐トレースを行うというフラグが“1”になって
いる場合にのみ“1”となる。アンドゲート4−6の出
力が“1”となる場合に、ブレークポイントレジスタ1
に対し新たなブレークポイントを設定するための割り込
みが発生する。
On the other hand, the AND gate 4-6 has, in addition to the output of the OR gate 4-5, a signal BR indicating that a branch has occurred and a flag B indicating whether or not to perform branch tracing.
T is input. Therefore, the output of the AND gate 4-6 is when the branch destination by the branch instruction is out of the address range set by the comparator, and the branch has occurred.
Also, it becomes "1" only when the flag indicating that branch tracing is performed is "1". When the output of the AND gate 4-6 becomes "1", the breakpoint register 1
Is interrupted to set a new breakpoint.

【0029】なお、上記の例は、プログラム開始後一旦
ブレークポイントにおいてプログラムの実行を中断した
後、プログラムの実行を再開する場合の動作例である
が、プログラムのデバッグのためプログラムの実行を初
めて開始する場合には、レジスタLCAR4−1には、
その実行開始アドレスを設定し、レジスタUCAR4−
2には、ブレークポイントレジスタ1に設定した最初の
ブレークポイントBP1のアドレスを設定すればよい。
The above example is an operation example in which the execution of a program is resumed after the execution of the program is temporarily suspended at a breakpoint after the start of the program, but the execution of the program is started for the first time for debugging the program. In this case, the register LCAR4-1 contains:
The execution start address is set, and the register UCAR4-
In 2, the address of the first breakpoint BP <b> 1 set in the breakpoint register 1 may be set.

【0030】以下、本発明の処理手順をフローチャート
を用いて順に説明する。図5は、本発明によるプログラ
ム実行開始時動作フローチャートである。先ず、ステッ
プS1において、ブレークポイントの個数が0かどうか
を判断する。ブレークポイントの個数が0であれば、本
発明の方法を採用する必要はないからである。ブレーク
ポイントが1個以上ある場合には、ステップS2に移
り、ブレークポイント検出機構2や分岐トレース機構3
の動作を有効にしておく。そしてステップS3におい
て、実行開始アドレス以上で、且つそれに最も近いブレ
ークポイントを探す。図1の実施例では、このブレーク
ポイントはブレークポイントBP1である。そこで、ス
テップS4において、ブレークポイントレジスタ1及び
レジスタUCAR4−2に対し、そのアドレスを設定す
る。また、レジスタLCAR4−1に対し、実行開始ア
ドレスを設定する。これによって、プログラムの実行開
始準備は完了する。
Hereinafter, the processing procedure of the present invention will be described in order using a flowchart. FIG. 5 is an operation flowchart at the start of program execution according to the present invention. First, in step S1, it is determined whether the number of breakpoints is zero. This is because if the number of breakpoints is 0, it is not necessary to adopt the method of the present invention. If there is one or more breakpoints, the process proceeds to step S2, where the breakpoint detection mechanism 2 and the branch trace mechanism 3
Enable the operation of. Then, in step S3, a break point that is equal to or higher than the execution start address and that is closest thereto is searched for. In the embodiment of FIG. 1, this breakpoint is breakpoint BP1. Therefore, in step S4, the addresses are set for the breakpoint register 1 and the register UCAR4-2. Further, an execution start address is set in the register LCAR4-1. Thus, the preparation for starting the execution of the program is completed.

【0031】なお、ステップS1において、ブレークポ
イントの個数が0と判断された場合、ブレークポイント
レジスタによる割り込みを無効にし、分岐トレースを無
効にしてデバッグ処理を開始する(ステップS5)。こ
の場合、本発明の方法は実施されない。
When it is determined in step S1 that the number of breakpoints is 0, the interrupt by the breakpoint register is invalidated, the branch trace is invalidated, and the debugging process is started (step S5). In this case, the method of the present invention is not performed.

【0032】図6にプログラム中断再開時動作フローチ
ャートを示す。図5で説明した処理を実行すると、図1
において説明した要領で、例えばブレークポイントBP
1においてプログラムの実行が停止される。その場合
に、この図6に示すような手順でプログラムが再開され
る。先ず、ステップS1において、実行再開アドレスを
得る。これはブレークポイントBP1のアドレスの次の
アドレスを得る作業である。次のステップS2におい
て、実行再開アドレスより大きく、且つそれに最も近い
ブレークポイントを探す。
FIG. 6 is a flowchart showing the operation when the program is interrupted and restarted. When the processing described in FIG. 5 is executed, FIG.
For example, the break point BP
At 1, the execution of the program is stopped. In that case, the program is restarted by the procedure shown in FIG. First, in step S1, an execution restart address is obtained. This is an operation for obtaining an address next to the address of the breakpoint BP1. In the next step S2, a breakpoint larger than the execution resuming address and closest thereto is searched for.

【0033】次にステップS3において、該当するブレ
ークポイントがあるかどうかを判断する。該当するブレ
ークポイントがあればステップS4に移り、そのアドレ
スをブレークポイントレジスタ1に設定する。更に、ス
テップS5において、レジスタUCAR4−2にブレー
クポイントレジスタ1と同じ値を設定する。そして、レ
ジスタLCAR4−1に対し、実行再開アドレスの次の
命令のアドレスを設定する。これによって、プログラム
の再開の準備が完了し、実行再開アドレスよりプログラ
ムが実行される。なお、ステップS3において、該当す
るブレークポイントが無いと判断された場合、ステップ
S6に移り、命令アドレスの最大値より大きな値をブレ
ークポイントレジスタ1に設定し、プログラムを最後ま
で実行するということになる。
Next, in step S3, it is determined whether there is a corresponding break point. If there is a corresponding break point, the process proceeds to step S4, and the address is set in the break point register 1. Further, in step S5, the same value as that of the breakpoint register 1 is set in the register UCAR4-2. Then, the address of the instruction next to the execution restart address is set in the register LCAR4-1. As a result, preparation for restarting the program is completed, and the program is executed from the execution restart address. If it is determined in step S3 that there is no corresponding breakpoint, the process proceeds to step S6, where a value larger than the maximum value of the instruction address is set in the breakpoint register 1, and the program is executed to the end. .

【0034】図7に分岐トレース割り込み発生動作フロ
ーチャートを示す。上記のようなプログラムの動作中、
分岐命令が出現した場合には、先に説明したコンパレー
タ4の判断によって分岐トレース機構の割り込みが発生
するかどうかが決定される。分岐トレース機構の割り込
みが発生した場合、この図7に示すような処理が実行さ
れる。
FIG. 7 is a flowchart showing the operation of generating a branch trace interrupt. During the operation of the above program,
When a branch instruction appears, whether or not an interrupt of the branch tracing mechanism occurs is determined by the judgment of the comparator 4 described above. When an interruption of the branch tracing mechanism occurs, a process as shown in FIG. 7 is executed.

【0035】先ずステップS1において、実行再開アド
レスを得る。更に、実行再開アドレス以上で、且つそれ
に最も近いブレークポイントを探す(ステップS2)。
そして、ステップS3において、該当するブレークポイ
ントがあるかどうかを判断し、該当するブレークポイン
トがある場合ステップS4に移り、そのアドレスをブレ
ークポイントレジスタ1に設定する。その後、ステップ
S5において、レジスタUCAR4−2に対しブレーク
ポイントレジスタ1と同じ値を設定する。次にステップ
S6において、ブレークポイントレジスタ1に設定した
アドレスよりも小さく、そのうちで最大のアドレスを持
つブレークポイントを探す。ステップS7においては、
該当するブレークポイントがあるかどうかを判断する。
そして、該当するブレークポイントがあればステップS
8に移り、そのアドレスの次のアドレスをレジスタLC
AR4−1に設定する。
First, in step S1, an execution restart address is obtained. Further, a breakpoint that is equal to or higher than the execution restart address and that is closest to the breakpoint is searched (step S2).
Then, in step S3, it is determined whether there is a corresponding breakpoint. If there is a corresponding breakpoint, the process proceeds to step S4, and the address is set in the breakpoint register 1. Thereafter, in step S5, the same value as that of the breakpoint register 1 is set in the register UCAR4-2. Next, in step S6, a break point having a smaller address than the address set in the break point register 1 and having the largest address is searched for. In step S7,
Determine if there is a corresponding breakpoint.
If there is a corresponding break point, step S
8 and the next address of the address is stored in the register LC.
AR4-1 is set.

【0036】一方、ステップS3において、該当するブ
レークポイントが無いと判断された場合、命令アドレス
の最大値よりも大きな値をブレークポイントレジスタ1
に設定する。また、ステップS7において、該当するブ
レークポイントが無いと判断された場合には、ステップ
S10に移り、実行開始アドレスをLCAR4−1に設
定する。即ち、これによって、分岐先のアドレス範囲が
実行開始アドレス以前の場合にのみレジスタの再設定が
行われる。
On the other hand, if it is determined in step S3 that there is no corresponding breakpoint, a value larger than the maximum value of the instruction address is set in the breakpoint register 1
Set to. If it is determined in step S7 that there is no corresponding breakpoint, the process proceeds to step S10, and the execution start address is set in LCAR4-1. That is, the register is reset only when the address range of the branch destination is before the execution start address.

【0037】以上の処理によって、常に、実行中の命令
のアドレス以上で、且つそのアドレスに最も近いブレー
クポイントのアドレスでプログラムの実行を停止するこ
とができ、また、既にブレークポイントレジスタに設定
されたブレークポイントのアドレスを変更する必要がな
いような分岐命令が実行された場合、分岐トレース機構
の割り込みを禁止しながら、効率よくデバッグ処理を行
うことができる。また、これにより、ブレークポイント
レジスタの内容をその都度書き直すことができ、ブレー
クポイントレジスタを多数設ける必要がなくなる。本発
明は以上の実施例に限定されない。コンパレータにおい
てアドレス範囲の上限を決めるレジスタは、ブレークポ
イントレジスタの内容と同一であるため、両レジスタを
兼用するようにしても差し支えない。また、コンパレー
タの構成は上記のようなハードウェアでなくソフトウェ
アによっても差し支えない。
By the above processing, the execution of the program can always be stopped at the address of the breakpoint that is equal to or higher than the address of the instruction being executed and the address of the breakpoint that is already set in the breakpoint register. When a branch instruction that does not require changing the address of a breakpoint is executed, debugging can be performed efficiently while prohibiting interruption of the branch trace mechanism. This also allows the contents of the breakpoint register to be rewritten each time, eliminating the need to provide many breakpoint registers. The present invention is not limited to the above embodiments. Since the register for determining the upper limit of the address range in the comparator is the same as the content of the breakpoint register, both registers may be shared. Further, the configuration of the comparator may be implemented by software instead of the hardware described above.

【0038】[0038]

【発明の効果】以上説明した本発明のブレークポイント
設定方法は、少なくとも1つのレジスタに複数のブレー
クポイントアドレスを順次設定していくようにしたの
で、次の様な効果がある。 (A)デバッグ対象プログラムを書き直す必要がないた
め、読み出し専用メモリ上のプログラムに対してもブレ
ークポイントが設定出来る。 (B)ブレークポイントの命令をシミュレートする必要
がないため、命令シミュレートのためのルーチン及びデ
ータ領域を不要とすることができる。 (C)任意の複数個数のブレークポイントを設定するこ
とができる。 (D)プログラムの実行状態が通常の動作時と同じにで
きる。従って、命令自身に特別なフラグ等の機構を設け
る必要がない。 (E)分岐命令による分岐先の命令が一定のアドレス範
囲外にある場合にのみ分岐トレース機構の割り込みを実
行するので、ブレークポイントの設定に無駄がない。
The breakpoint setting method of the present invention described above has the following effects since a plurality of breakpoint addresses are sequentially set in at least one register. (A) Since it is not necessary to rewrite the program to be debugged, a breakpoint can be set for a program on a read-only memory. (B) Since it is not necessary to simulate the instruction at the breakpoint, a routine and a data area for simulating the instruction can be eliminated. (C) Any number of breakpoints can be set. (D) The execution state of the program can be made the same as during normal operation. Therefore, there is no need to provide a mechanism such as a special flag in the instruction itself. (E) Since the interrupt of the branch tracing mechanism is executed only when the branch destination instruction by the branch instruction is out of a certain address range, there is no waste in setting a breakpoint.

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

【図1】本発明のブレークポイント設定方法動作説明図
である。
FIG. 1 is a diagram illustrating the operation of a breakpoint setting method according to the present invention.

【図2】割り込み禁止動作説明図である。FIG. 2 is an explanatory diagram of an interrupt disabling operation.

【図3】アドレス範囲説明図である。FIG. 3 is an explanatory diagram of an address range.

【図4】コンパレータの構成ブロック図である。FIG. 4 is a configuration block diagram of a comparator.

【図5】プログラム実行開始時動作フローチャートであ
る。
FIG. 5 is an operation flowchart at the start of program execution.

【図6】プログラム中断再開時動作フローチャートであ
る。
FIG. 6 is an operation flowchart at the time of program interruption / resumption.

【図7】分岐トレース割り込み発生動作フローチャート
である。
FIG. 7 is a flowchart of a branch trace interrupt generation operation.

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

1 ブレークポイントレジスタ 2 ブレークポイント検出機構 3 分岐トレース機構 4 コンパレータ P 対象プログラム T 割込み処理ルーチン D デバッグ支援プログラム BP1、BP2、BP3 ブレークポイント 1 Breakpoint register 2 Breakpoint detection mechanism 3 Branch tracing mechanism 4 Comparator P Target program T Interrupt processing routine D Debugging support program BP1, BP2, BP3 Breakpoint

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数の命令から成るプログラム中で、指
定された各命令で当該プログラムの実行をそれぞれ停止
させる複数のブレークポイントを用意し、 実行中の命令のアドレス以上で、且つ、そのアドレスに
最も近いブレークポイントのアドレスをレジスタ保持
し、 当該レジスタに保持されたアドレスに存在する命令の実
行時に、プログラム実行停止のためにブレークポイント
検出機構に割り込みを要求し、 前記プログラム中の連続したアドレスに存在する命令を
順次実行する途中で、不連続なアドレスに分岐する分岐
命令が出現した場合に、当該分岐命令の実行後に、その
分岐先のアドレス以上で、且つ、そのアドレスに最も近
いブレークポイントのアドレスを前記レジスタに再設定
するために分岐トレース機構に割り込みを要求し、 前記分岐トレース機構は、 分岐先が、予め設定されたアドレス範囲外に有る場合に
のみ前記分岐トレース機構の割り込みを実行することを
特徴とするブレークポイント設定方法。
In a program including a plurality of instructions, a plurality of breakpoints for stopping execution of the program at each designated instruction are prepared, and a plurality of breakpoints are provided at an address equal to or more than the address of the instruction being executed. Holds the address of the nearest breakpoint in the register, and when executing the instruction at the address held in the register, requests an interrupt to the breakpoint detection mechanism to stop the execution of the program. If a branch instruction that branches to a discontinuous address appears during the sequential execution of existing instructions, after the execution of the branch instruction, a breakpoint that is equal to or greater than the address of the branch destination and closest to that address is executed. Requesting an interrupt from the branch trace mechanism to reset the address in said register; Serial branch trace mechanism branch destination, the breakpoint setting method characterized by executing an interrupt of the branch trace mechanism only when there outside address range set in advance.
【請求項2】 プログラムのデバッグのため、プログラ
ムの実行を開始する場合には、 実行開始アドレスと、その実行開始アドレス以上で、且
つ、実行開始アドレスに最も近いブレークポイントのア
ドレス間に、割り込み禁止のためのアドレス範囲を設定
することを特徴とする請求項1記載のブレークポイント
設定方法。
2. When starting execution of a program for debugging the program, interrupts are prohibited between an execution start address and a breakpoint address that is equal to or higher than the execution start address and closest to the execution start address. 2. The method for setting a breakpoint according to claim 1, wherein an address range for setting is set.
【請求項3】 ブレークポイントにおいてプログラムの
実行を中断した後、プログラムの実行を再開する場合に
は、 実行開始アドレスと、その実行再開アドレス以上で、且
つ、その実行再開アドレスに最も近いブレークポイント
のアドレスの間に、割り込み禁止のためのアドレス範囲
を設定することを特徴とする請求項1記載のブレークポ
イント設定方法。
3. When the execution of the program is resumed after the execution of the program is interrupted at the break point, the execution start address and the break point which is equal to or more than the execution restart address and closest to the execution restart address are set. 2. The method according to claim 1, wherein an address range for disabling interrupts is set between addresses.
JP4276698A 1992-09-22 1992-09-22 How to set breakpoints Expired - Lifetime JP2653412B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4276698A JP2653412B2 (en) 1992-09-22 1992-09-22 How to set breakpoints

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4276698A JP2653412B2 (en) 1992-09-22 1992-09-22 How to set breakpoints

Publications (2)

Publication Number Publication Date
JPH06103110A JPH06103110A (en) 1994-04-15
JP2653412B2 true JP2653412B2 (en) 1997-09-17

Family

ID=17573084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4276698A Expired - Lifetime JP2653412B2 (en) 1992-09-22 1992-09-22 How to set breakpoints

Country Status (1)

Country Link
JP (1) JP2653412B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4661854B2 (en) * 2007-11-09 2011-03-30 株式会社デンソー Inspection system and program
JP5526725B2 (en) * 2009-11-20 2014-06-18 富士通株式会社 Debugging method using hardware breakpoint, debugging processing program, and debugging device
JP2018128767A (en) 2017-02-07 2018-08-16 ルネサスエレクトロニクス株式会社 Debug system and semiconductor device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60220437A (en) * 1984-04-16 1985-11-05 Kubota Ltd Program checking device
JPS63303440A (en) * 1987-06-03 1988-12-12 Mitsubishi Electric Corp Measuring instrument
JPH01211129A (en) * 1988-02-19 1989-08-24 Nec Corp Information processor

Also Published As

Publication number Publication date
JPH06103110A (en) 1994-04-15

Similar Documents

Publication Publication Date Title
US6708326B1 (en) Method, system and program product comprising breakpoint handling mechanism for debugging and/or monitoring a computer instruction sequence
JP4476193B2 (en) Information processing method and information processing apparatus
EP0638864B1 (en) Development support system for microcomputer with internal cache
JP2653412B2 (en) How to set breakpoints
US5813039A (en) Guest execution control system, method and computer process for a virtual machine system
JP2653411B2 (en) How to set breakpoints
JPH08171504A (en) Emulation device
JPH0646380B2 (en) Information processing equipment
JPH07152598A (en) Incircuit emulator
JP3119859B2 (en) Computer system
JP2665173B2 (en) Processor trap circuit
JPH07225681A (en) Interruption controller
JPH059815B2 (en)
JPS6270947A (en) Control system for debug interruption
JPH0315949A (en) Debugging system
JPH0391055A (en) Method for setting hardware lock, hardware lock controller, method and device for detecting hardware lock
JPH0772874B2 (en) Interrupt receiving device
JPS6011945A (en) Debugging device
JPH04306743A (en) Debug support system for integrated circuit microprocessor
JP2004185356A (en) Debug system
JPS6382525A (en) Microprocessor with tracing function
JPH0782447B2 (en) DMA data transfer control device
JPH0581068A (en) Debugging support device
JPH05108402A (en) Debugging device
JPS63150732A (en) Program running supervisory equipment

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term