JP2000181748A - Debug system for multi-memory space program and its debug method - Google Patents

Debug system for multi-memory space program and its debug method

Info

Publication number
JP2000181748A
JP2000181748A JP10352384A JP35238498A JP2000181748A JP 2000181748 A JP2000181748 A JP 2000181748A JP 10352384 A JP10352384 A JP 10352384A JP 35238498 A JP35238498 A JP 35238498A JP 2000181748 A JP2000181748 A JP 2000181748A
Authority
JP
Japan
Prior art keywords
memory space
breakpoint
program
debugging
memory
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
JP10352384A
Other languages
Japanese (ja)
Other versions
JP3503504B2 (en
Inventor
Masayasu Asano
正靖 淺野
Masanori Honda
政則 本田
Tomonori Sekiguchi
知紀 関口
Toshiaki Arai
利明 新井
Osamu Tomita
理 冨田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP35238498A priority Critical patent/JP3503504B2/en
Publication of JP2000181748A publication Critical patent/JP2000181748A/en
Application granted granted Critical
Publication of JP3503504B2 publication Critical patent/JP3503504B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To debug a program containing OS operating on a multi-memory space with a debugger corresponding to one memory space. SOLUTION: The processing of a brake point exception shared by the programs of multi-memory spaces 104 and 105 by placing a brake point exception handler in a common memory area 103. If the brake point of the program in the prescribed memory space differs from the first memory space 104 where a debugger 111 starts when it is acquired, the space is switched to the first memory space 104 and the brake point is issued again. Thus, the brake point of the second memory space 105 can be acquired by the debugger 111. The single step execution of the other memory space can be acquired by the debugger 111 by calling the common handler at the time of executing a single step.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、コンピュータ(電
子計算機)上で動作するプログラムのデバッグ技術に係
わり、特に、1台のコンピュータ上でそれぞれ異なるメ
モリ空間で複数のオペレーティングシステム(OS)を
連動させて動作させるマルチOS環境で動作するOSを
含むプログラム(以下、「マルチメモリ空間プログラ
ム」と記載)のデバッグに好適なマルチメモリ空間プロ
グラムのデバッグシステムおよびそのデバッグ方法に関
するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a technique for debugging a program operating on a computer (electronic computer), and more particularly, to linking a plurality of operating systems (OS) in different memory spaces on a single computer. The present invention relates to a debugging system and a debugging method for a multi-memory space program suitable for debugging a program including an OS operating in a multi-OS environment (hereinafter, referred to as a “multi-memory space program”).

【0002】[0002]

【従来の技術】電子計算機のプログラムを開発するにあ
たり、正しく動作するプログラムを開発するために、プ
ログラムの動作の順序や動作の不具合を調査するために
デバッグ装置、すなわちデバッガが用いられる。このデ
バッガには、プログラムの命令において、指定した命令
を実行停止させる機能や、メモリ内部の値の読み書きを
行なう機能などが提供されている。これにより、プログ
ラムが正確に動作するか否かを調べることが可能であ
る。尚、このようなデバッガに関する技術は、Jonathan
B. Rosenberg著、吉川邦夫訳「How Debuggers Work デ
バッガの理論と実装」(1998年、株式会社アスキー発行)
に記載されている。
2. Description of the Related Art In developing a computer program, a debugging device, that is, a debugger, is used to investigate the order of operation of the programs and the malfunctions of the programs in order to develop programs that operate correctly. The debugger is provided with a function of stopping execution of a specified instruction in a program instruction, a function of reading and writing a value in a memory, and the like. This makes it possible to check whether the program operates correctly. The technology related to such a debugger is described in Jonathan
B. Rosenberg, Translated by Kunio Yoshikawa, "Theory and Implementation of How Debuggers Work Debugger" (ASCII, 1998)
It is described in.

【0003】電子計算機環境において、1つの電子計算
機で複数のOSを連動させて動作させるマルチOS環境
を構成するシステムが提供されている。このようなマル
チOSシステムにおけるプログラムのデバッグ支援技術
に関係するものとして、例えば、特開平10−1339
10号公報に記載の技術がある。これは応用プログラム
(アプリケーションプログラム)の開発環境となる汎用
OSと応用プログラムの実行環境となるリアルタイムO
Sが同一電子計算機上で動作するマルチOSシステムに
おいて、デバッグ対象の応用プログラムと非デバッグ対
象の応用プログラムとの連携動作を実現するものであ
る。ここで、連携動作とは、複数のプログラムが通信し
あって、1つの処理を実行する動作である。
[0003] In an electronic computer environment, a system has been provided which constitutes a multi-OS environment in which a plurality of OSs are operated in cooperation with one electronic computer. For example, Japanese Patent Application Laid-Open No. 10-1339 discloses a technique related to a program debugging support technique in such a multi-OS system.
There is a technique described in Japanese Patent Publication No. This is a general-purpose OS that is a development environment for application programs (application programs) and a real-time OS that is an execution environment for application programs.
In a multi-OS system in which S operates on the same computer, cooperation between an application program to be debugged and an application program to be non-debugged is realized. Here, the cooperative operation is an operation in which a plurality of programs communicate with each other and execute one process.

【0004】特開平10−133910号公報で用いら
れるデバッガは、マルチOSシステムが提供するエミュ
レータ装置を利用する。しかし、エミュレータ装置を持
たず、各OSが独立したメモリ空間を持ち、割り込みの
処理手順によりOSの実行をスケジューリングし、複数
のOSを1台の電子計算機で同時に動作させることを特
徴とする、マルチメモリ空間を持つマルチOSシステム
に対するデバッガは提供されていない。このようなマル
チメモリ空間を持つマルチOSシステムの場合、従来の
デバッグ技術では、各OSに対応したデバッガをそれぞ
れ開発して動作させることになる。
The debugger used in Japanese Patent Application Laid-Open No. 10-133910 uses an emulator device provided by a multi-OS system. However, there is no emulator device, each OS has an independent memory space, the execution of the OS is scheduled by an interrupt processing procedure, and a plurality of OSs are operated simultaneously by one computer. No debugger is provided for multi-OS systems with memory space. In the case of a multi-OS system having such a multi-memory space, in the conventional debugging technique, a debugger corresponding to each OS is developed and operated.

【0005】すなわち、ある複数のプログラムがマルチ
メモリ空間で動作している場合、各メモリ空間で動作す
るOSを含む各プログラム(マルチメモリ空間プログラ
ム)をデバッグするには、各メモリ空間毎にデバッガを
起動させなければならない。また各マルチメモリ空間プ
ログラムが互いに連携して動作する場合、各メモリ空間
のプログラム毎にデバッグをしているようでは、その連
携動作に関するデバッグが不十分となる。
That is, when a plurality of programs are operating in a multi-memory space, to debug each program (multi-memory space program) including an OS operating in each memory space, a debugger must be provided for each memory space. Must be started. Further, when the multi-memory space programs operate in cooperation with each other, if the debugging is performed for each program in each memory space, the debugging related to the cooperative operation is insufficient.

【0006】[0006]

【発明が解決しようとする課題】解決しようとする問題
点は、従来の技術では、マルチメモリ空間上で同時に動
作するプログラム(マルチメモリ空間プログラム)を一
つのデバッガでデバッグすることができない点と、マル
チメモリ空間のプログラムの連携動作に対応してデバッ
グすることができない点である。
The problems to be solved are that, in the prior art, a program (a multi-memory space program) operating simultaneously in a multi-memory space cannot be debugged by one debugger. The point is that debugging cannot be performed in accordance with the cooperative operation of programs in a multi-memory space.

【0007】本発明の目的は、これら従来技術の課題を
解決し、1台のコンピュータ上でそれぞれ異なるメモリ
空間で複数のオペレーティングシステム(OS)を連動
させて動作させるマルチOS環境で動作するマルチメモ
リ空間プログラムのデバッグを効率的に行なうことを可
能とするマルチメモリ空間プログラムのデバッグシステ
ムおよびそのデバッグ方法を提供することである。
SUMMARY OF THE INVENTION An object of the present invention is to solve these problems of the prior art, and to provide a multi-memory operating in a multi-OS environment in which a plurality of operating systems (OS) are operated in conjunction in different memory spaces on a single computer. An object of the present invention is to provide a debugging system and a debugging method for a multi-memory space program, which enable efficient debugging of a space program.

【0008】[0008]

【課題を解決するための手段】上記目的を達成するた
め、本発明のマルチメモリ空間プログラムのデバッグシ
ステムおよびそのデバッグ方法は、デバッグ時に使用す
る例外ハンドラを、マルチメモリ空間で動作するプログ
ラム内で共用する。これにより、例外がどのメモリ空間
で起こっても捕獲可能である。そして、デバッグ装置を
実装する空間と別の空間で例外を捕獲した場合、共用の
例外ハンドラは、デバッグ装置を実装する空間へ空間切
り替えを行った後、再びブレークポイント例外を起こ
す。これにより、別空間の例外もデバッグ装置を実装す
る空間で捕獲することが可能となる。
To achieve the above object, the present invention provides a system and a method for debugging a multi-memory space program, wherein an exception handler used at the time of debugging is shared among programs operating in a multi-memory space. I do. This allows the exception to be caught in any memory space. Then, when an exception is caught in a space different from the space in which the debug device is mounted, the shared exception handler switches the space to the space in which the debug device is mounted, and then raises a breakpoint exception again. As a result, an exception in another space can be caught in the space where the debug device is mounted.

【0009】例外ハンドラを共用して管理するために
は、各メモリ空間のプログラムが操作可能な共通メモリ
領域を設け、この共通メモリ領域に、各メモリ空間の設
定情報や割り込みテーブルを設定し、この割り込みテー
ブルに、共用の例外ハンドラ(共用ハンドラ)の情報を
登録する。そして、共用ハンドラは、メモリ空間の設定
情報を利用して、各メモリ空間からデバッガの動作する
メモリ空間への切り替えを行なう。デバッグ用に利用さ
れる例外ハンドラは特権レベルに関わらず有効であり、
各プログラムの特権レベルに関わらず、捕獲可能であ
る。
In order to share and manage the exception handler, a common memory area in which a program in each memory space can be operated is provided, and setting information and an interrupt table for each memory space are set in this common memory area. Register the information of the shared exception handler (shared handler) in the interrupt table. Then, the shared handler switches from each memory space to the memory space in which the debugger operates using the setting information of the memory space. Exception handlers used for debugging are valid regardless of privilege level,
Capture is possible regardless of the privilege level of each program.

【0010】また、共通メモリ領域に、ブレークポイン
ト管理のためのテーブルなど、各メモリ空間のプログラ
ムをデバッグするのに必要な情報を設定し、あるメモリ
空間で動作するデバッガがこの共通メモリ領域のデバッ
グ情報を操作することで、各メモリ空間のプログラムを
デバッグすることが可能となる。
Further, information necessary for debugging a program in each memory space, such as a table for managing breakpoints, is set in the common memory area, and a debugger operating in a certain memory space is used for debugging the common memory area. By manipulating the information, it becomes possible to debug the program in each memory space.

【0011】また、マルチOS環境を構成する場合、汎
用OSを一つのOSとして存在させるとき、汎用OSの
豊富なデバッガを有効利用することにより、デバッガの
開発工数の低下を図ることができる。そして、このデバ
ッガのみを利用して、他のメモリ空間のOSを含むプロ
グラムのデバッグを行なうことにより、デバッグ環境を
共用でき、利便性が高まる。例えば、デバッガが動作す
るメモリ空間と異なるメモリ空間で動作するOS開発に
有効利用できる。
In the case of configuring a multi-OS environment, when a general-purpose OS is provided as one OS, a debugger with a wide variety of general-purpose OSs can be effectively used, thereby reducing the development man-hour of the debugger. Then, by using only this debugger to debug a program including an OS in another memory space, a debug environment can be shared and convenience is improved. For example, it can be effectively used for developing an OS that operates in a memory space different from the memory space in which the debugger operates.

【0012】[0012]

【発明の実施の形態】以下、本発明の実施の形態を、図
面により詳細に説明する。図1は、本発明のマルチメモ
リ空間プログラムのデバッグシステムの本発明に係る構
成の一実施例を示すブロック図である。本図1におい
て、100はデバッグを行なうプログラムが動作してい
るデバッグ対象計算機、110はデバッグ対象計算機1
00上のプログラムをデバッグするデバッガが起動する
デバッガ計算機である。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of a configuration according to the present invention of a debugging system for a multi-memory space program of the present invention. In FIG. 1, reference numeral 100 denotes a computer to be debugged on which a program for debugging is operating, and 110 denotes a computer 1 to be debugged.
00 is a debugger computer that is activated by a debugger that debugs the program on 00.

【0013】デバッグ対象計算機100は、プロセッサ
(図中、「CPU」と記載)101、メモリ102、バ
ス107、通信装置108により構成されている。メモ
リ102においては、複数のプログラムを互いに影響な
く動作させるために、それぞれのプログラムが専用のメ
モリ領域を確保する。つまり、一方のプログラムが他方
のプログラムのメモリ領域を利用できないようにメモリ
領域を確保する。
The computer 100 to be debugged includes a processor (described as “CPU” in the figure) 101, a memory 102, a bus 107, and a communication device 108. In the memory 102, each program secures a dedicated memory area so that a plurality of programs operate without affecting each other. That is, a memory area is secured so that one program cannot use the memory area of the other program.

【0014】本例では、以上の性質をもつ2つのメモリ
空間を確保している。このメモリの領域を、それぞれ、
第1メモリ空間104、第2メモリ空間105とする。
また、互いのプログラムが協調して動作することを考慮
して、共通メモリ領域103を確保する。この共通メモ
リ領域103には、その詳細については後述するが、割
り込みテーブルや各メモリ空間の空間設定情報、およ
び、ブレークポイント情報などを確保する。
In this embodiment, two memory spaces having the above properties are secured. This area of memory is
A first memory space 104 and a second memory space 105 are provided.
In addition, the common memory area 103 is reserved in consideration of the mutual operation of the programs. Although details will be described later, the common memory area 103 secures an interrupt table, space setting information of each memory space, breakpoint information, and the like.

【0015】デバッガ計算機110には、キーボード等
の入力装置112、CRT(Cathode Ray Tube)等の出
力装置113が接続されている。このデバッガ計算機1
10に設けられたデバッガ(図中、「第1メモリ空間を
対象とするデバッガ」と記載)111は、デバッグ対象
計算機100における第1メモリ空間104のプログラ
ムをデバッグするデバッガである。デバッガ111の操
作は入力装置112により行ない、デバッグの結果は出
力装置113により出力される。
An input device 112 such as a keyboard and an output device 113 such as a CRT (Cathode Ray Tube) are connected to the debugger computer 110. This debugger calculator 1
A debugger 111 (described as “a debugger targeting the first memory space” in the figure) 111 provided in 10 is a debugger that debugs a program in the first memory space 104 in the computer 100 to be debugged. The operation of the debugger 111 is performed by the input device 112, and the result of debugging is output by the output device 113.

【0016】デバッグ計算機110は、デバッグ対象計
算機100とケーブル109で接続され、デバッガ11
1のデバッグするための命令を、通信装置114からケ
ーブル109を通り、デバッグ対象計算機100の通信
装置108、バス107を介して、第1メモリ空間10
4にマッピングされているデバッグ支援プログラム10
6に渡す。
The debug computer 110 is connected to the debug target computer 100 by a cable 109, and
1 from the communication device 114 via the cable 109 via the communication device 108 and the bus 107 of the computer 100 to be debugged.
Debug support program 10 mapped to 4
Pass to 6.

【0017】デバッグ支援プログラム106は、デバッ
ガ111からの命令を受け、デバッグ対象プログラムに
対して、デバッグ命令を設定する。デバッガ111は、
ブレークポイントの制御、シングルステップ実行の制御
のほか、仮想アドレス指定のメモリ参照、書き込みか
ら、物理メモリ参照、書き込みを可能とする。
The debug support program 106 receives an instruction from the debugger 111 and sets a debug instruction for the debug target program. The debugger 111
In addition to control of breakpoints and control of single-step execution, it is possible to refer to and write to physical memory from memory reference and write at virtual address designation.

【0018】このように、デバッガ111は、物理メモ
リ参照、書き込みが可能なので、共通メモリ領域103
にある空間情報(次の図2に示す空間情報テーブル21
0)を利用してページングの状況を解析し、第2メモリ
空間105のプログラムの仮想アドレスから、物理メモ
リのマッピングの状況が参照、書き込み可能となる。こ
れにより、第2メモリ空間105のプログラムのブレー
クポイント命令のコードを、第1メモリ空間104で動
作するデバッガ111から設定可能となる。
As described above, the debugger 111 can refer to and write to the physical memory.
(The spatial information table 21 shown in FIG. 2 below)
The paging situation is analyzed by using (0), and the mapping situation of the physical memory can be referred to and written from the virtual address of the program in the second memory space 105. Thus, the code of the breakpoint instruction of the program in the second memory space 105 can be set from the debugger 111 operating in the first memory space 104.

【0019】図2は、図1における共通メモリ領域の構
成例を示す説明図である。共通メモリ領域103には、
空間情報テーブル210と、割り込みテーブル220、
ブレークポイントテーブル230、レジスタテーブル2
40、トレーステーブル250、動作空間フラグ(図
中、「動作空間(第1,第2)」と記載)260、デバ
ッグモードフラグ(図中、「デバッグモード(On or Of
f)」と記載)270、シングルステップ実行停止モー
ドフラグ(図中、「シングルステップ実行停止モード
(On or Off)」と記載)280、トレース実行モード
フラグ(図中、「トレース実行モード(On or Off)」
と記載)281、および、シングルステップ実行判定フ
ラグ(図中、「シングルステップ実行判定(On or Of
f)」と記載)282が設けられている。
FIG. 2 is an explanatory diagram showing a configuration example of the common memory area in FIG. In the common memory area 103,
A spatial information table 210, an interrupt table 220,
Breakpoint table 230, register table 2
40, a trace table 250, an operation space flag (described as “operation space (first, second)” 260), a debug mode flag (“debug mode (On or Of)
f) ”) 270, single-step execution stop mode flag (described as“ single-step execution stop mode (On or Off) ”in the figure) 280, trace execution mode flag (“ trace execution mode (On or Off) "
281) and a single-step execution determination flag (“Single-step execution determination (On or Of
f) ") 282 is provided.

【0020】共通メモリ領域103は、図1の第1メモ
リ空間104のプログラムからも、第2メモリ空間10
5のプログラムからも利用可能である。従って、共通メ
モリ領域103にある各テーブル(210〜250)お
よびフラグ(260〜282)の状態により、デバッガ
の動作が制御可能である。これにより、ブレークポイン
ト例外ハンドラや、シングルステップ実行時に起こる例
外ハンドラは、通常使用する場合とデバッグで使用する
場合とを、フラグの指定で使い分けることが可能であ
る。すなわち、デバッグ専用の例外ハンドラと通常使用
する例外ハンドラとをシステム起動時に別々に設定する
必要はない。
The common memory area 103 is stored in the second memory space 10 from the program in the first memory space 104 shown in FIG.
5 programs are also available. Therefore, the operation of the debugger can be controlled by the states of the tables (210 to 250) and the flags (260 to 282) in the common memory area 103. As a result, the breakpoint exception handler and the exception handler that occurs during single-step execution can be used for normal use and for debug depending on the flag specification. In other words, there is no need to separately set a debug-only exception handler and a normally used exception handler at system startup.

【0021】空間情報テーブル210においては、図1
の第1メモリ空間104と第2メモリ空間105のペー
ジテーブルのアドレスが、ページテーブル位置211と
して、また、各空間で用いるスタックのアドレスがスタ
ックポインタ位置212として格納されており、この空
間情報テーブル210により、各メモリ空間を識別でき
る。
In the spatial information table 210, FIG.
The address of the page table in the first memory space 104 and the address of the page table in the second memory space 105 are stored as a page table position 211, and the address of a stack used in each space is stored as a stack pointer position 212. Thus, each memory space can be identified.

【0022】割り込みテーブル220には、割り込み例
外ハンドラの識別子毎に、各ハンドラのベースアドレス
221と割り込みハンドラの設定(図中、「割込み設
定」と記載)222が格納される。このように、割り込
みテーブル220は、共通メモリ領域103におかれ、
各メモリ空間の割り込み例外ハンドラが共用する。
The interrupt table 220 stores a base address 221 of each handler and an interrupt handler setting (described as "interrupt setting" 222) 222 for each interrupt exception handler identifier. Thus, the interrupt table 220 is located in the common memory area 103,
Shared by interrupt exception handlers in each memory space.

【0023】ブレークポイントテーブル230は、第2
メモリ空間105のブレークポイント設定されたアドレ
スを登録するブレークポイントアドレス231と、ブレ
ークポイントを設定する以前の命令コード、すなわち、
元の命令コードを登録する元コード232、および、テ
ーブル内のブレークポイントが有効であるか無効である
かを登録する領域(図中、「有効or無効」と記載)23
3により構成されている。ブレークポイント設定時に
は、このブレークポイントテーブル230にテーブル内
の各項目を設定することで、ブレークポイントの制御が
可能となる。
The breakpoint table 230 stores the second
A breakpoint address 231 for registering the address of the memory space 105 where a breakpoint has been set, and an instruction code before setting a breakpoint, that is,
An original code 232 for registering an original instruction code, and an area 23 for registering whether a breakpoint in a table is valid or invalid (described as “valid or invalid” in the figure) 23
3. When setting a breakpoint, the breakpoint can be controlled by setting each item in the breakpoint table 230.

【0024】レジスタテーブル240では、レジスタ名
とその値が、レジスタ名241と値242のそれぞれの
項目欄に格納され、トレーステーブル250では、トレ
ースデータがトレースデータ251の項目に格納され
る。また、動作空間フラグ260では、動作空間が第
1,第2メモリ空間のいずれであるかが示され、デバッ
グモードフラグ270では、デバッグモードか通常モー
ドであるかが示され、シングルステップ実行停止モード
フラグ280では、シングルステップ実行停止モードで
あるか否かが示され、そして、トレース実行モードフラ
グ281では、トレース実行モードであるか否かが示さ
れ、そして、シングルステップ実行判定フラグ282で
は、本例の技術でデバッグを行なう場合に、デバッグ例
外ハンドラがブレークポイントを発行したか否かが示さ
れる。
In the register table 240, the register name and its value are stored in the respective item columns of the register name 241 and the value 242. In the trace table 250, the trace data is stored in the item of the trace data 251. The operation space flag 260 indicates whether the operation space is the first or second memory space, the debug mode flag 270 indicates whether the operation mode is the debug mode or the normal mode, and the single step execution stop mode. The flag 280 indicates whether or not the single-step execution stop mode is set, the trace execution mode flag 281 indicates whether or not the trace execution mode is set, and the single-step execution determination flag 282 sets When debugging with the example technique, it indicates whether the debug exception handler has issued a breakpoint.

【0025】以下、このようなテーブルおよびフラグを
用いた図1におけるデバッグシステムの動作を説明す
る。図3は、図1におけるデバッグシステムの本発明に
係わるデバッグ方法の第1の処理手順例を示すフローチ
ャートである。本例は、ブレークポイント例外に対する
処理手順例を示している。各メモリ空間でブレークポイ
ントが発行されたとき、図2の割り込みテーブル220
に登録されているブレークポイント例外ハンドラ(以
下、「共用ハンドラ」と記載)が起動する。
The operation of the debug system in FIG. 1 using such a table and flags will be described below. FIG. 3 is a flowchart showing a first processing procedure example of the debugging method according to the present invention of the debugging system in FIG. This example shows a processing procedure example for a breakpoint exception. When a breakpoint is issued in each memory space, the interrupt table 220 in FIG.
A breakpoint exception handler (hereinafter, referred to as a "shared handler") registered in the program starts.

【0026】起動した共用ハンドラは、まず。第1メモ
リ空間104でプログラムが動作しているかどうか判定
する(ステップ301)。第1メモリ空間104は、デ
バッガ111が動作しているメモリ空間であり、その判
定は、図2の動作空間フラグ260の値により行なう。
First, the activated shared handler starts. It is determined whether a program is operating in the first memory space 104 (step 301). The first memory space 104 is a memory space in which the debugger 111 operates, and its determination is made based on the value of the operation space flag 260 in FIG.

【0027】第1メモリ空間104で動作していれば、
第1メモリ空間104のブレークポイント例外ハンドラ
へ移行する(ステップ302)。すなわち、デバッガ1
11に対するデバッグ支援プログラム106が使用する
ブレークポイント例外ハンドラを用いる。
If operating in the first memory space 104,
The process proceeds to the breakpoint exception handler in the first memory space 104 (step 302). That is, debugger 1
A breakpoint exception handler used by the debug support program 106 for the program 11 is used.

【0028】第1メモリ空間104以外(ここでは、第
2メモリ空間105)で動作している場合、後で割り込
み以前の状態に復帰する場合のために、レジスタの内容
を保存した後(ステップ303)、このハンドラがデバ
ッグのために用いられているかどうか判定する(ステッ
プ304)。この判定は、図2のデバッグモードフラグ
270の値により行なう。デバッグモードでなければ、
第2メモリ空間105のプログラムが通常用いるブレー
クポイント例外ハンドラへ移行する(ステップ30
6)。
When operating outside the first memory space 104 (here, the second memory space 105), the contents of the register are saved (step 303) in order to return to the state before the interruption later. ), It is determined whether or not this handler is used for debugging (step 304). This determination is made based on the value of the debug mode flag 270 in FIG. If not in debug mode,
The program shifts to a breakpoint exception handler normally used by the program in the second memory space 105 (step 30).
6).

【0029】デバッグモードで動作している場合、さら
に、デバッグ例外ハンドラで発行されたブレークポイン
トかどうか判定する(ステップ305)。これは、本例
の技術でデバッグを行なう場合には、図4で後述するよ
うに、デバッグ例外ハンドラがブレークポイントを発行
する場合があるからであり、ここでの判定は、デバッグ
例外ハンドラで設定される図2のシングルステップ実行
判定フラグ282を用いる。すなわち、シングルステッ
プ実行判定フラグ282が設定されていれば、デバッグ
例外ハンドラから発行されたブレークポイントとして判
定する。
When operating in the debug mode, it is further determined whether or not the breakpoint is issued by a debug exception handler (step 305). This is because the debug exception handler may issue a breakpoint as described later with reference to FIG. 4 when debugging with the technique of the present example, and the determination here is set by the debug exception handler. The single step execution determination flag 282 shown in FIG. That is, if the single-step execution determination flag 282 is set, it is determined as a breakpoint issued from the debug exception handler.

【0030】このように、デバッグ例外ハンドラから発
行されたブレークポイントであれば、ステップ309へ
移行する。すなわち、デバッグ例外ハンドラからのブレ
ークポイントのコードは始めから組み込まれているの
で、ブレークポイント発行位置の命令ポインタを操作す
る必要はない。また、デバッグ例外ハンドラ実行中のレ
ジスタの内容を保存しても有効な情報とならない。従っ
て、この場合は、次のステップ307,308の処理は
必要ない。
As described above, if the breakpoint has been issued from the debug exception handler, the flow shifts to step 309. That is, since the code of the breakpoint from the debug exception handler is incorporated from the beginning, there is no need to manipulate the instruction pointer at the breakpoint issue position. Also, even if the contents of the register during execution of the debug exception handler are saved, the information is not valid. Therefore, in this case, the processing of the following steps 307 and 308 is not necessary.

【0031】ステップ305において、デバッグ例外ハ
ンドラから発行されたブレークポイントに対する処理で
ない場合、命令ポインタをブレークポイント発行位置に
変更する(ステップ307)。割込みハンドラがプログ
ラム動作に復帰するとき、通常、命令ポインタは、割込
みの起こったアドレスの次のアドレスに復帰するように
設定される。しかし、通常のプログラムのコードに戻す
ためには、ブレークポイント用のコードをブレークポイ
ント登録前の元のコードに戻し、かつ、ブレークポイン
トコードの位置に戻して、その元のコードから実行する
必要がある。この元コードに戻す処理は後述のステップ
314で行なう。
If it is determined in step 305 that the processing is not for the breakpoint issued from the debug exception handler, the instruction pointer is changed to the breakpoint issue position (step 307). When the interrupt handler returns to program operation, the instruction pointer is typically set to return to the address following the address where the interrupt occurred. However, in order to return to the normal program code, it is necessary to return the breakpoint code to the original code before registering the breakpoint, return to the breakpoint code position, and execute from the original code is there. The process of returning to the original code is performed in step 314 described later.

【0032】次に、ステップ303で保存したレジスタ
の内容を共通メモリ領域103のレジスタテーブル24
0に書き込む(ステップ308)。デバッガ111は、
共通メモリ領域103を仮想アドレス指定で参照できる
ので、テーブルのシンボル、またはアドレスを指定する
ことにより、ブレークポイント発行時のレジスタの値を
参照できる。次に、第2メモリ空間105の空間情報を
空間情報テーブル210に保存する(ステップ30
9)。
Next, the contents of the register stored in step 303 are stored in the register table 24 of the common memory area 103.
Write 0 (step 308). The debugger 111
Since the common memory area 103 can be referred to by specifying a virtual address, the value of the register at the time of issuing a breakpoint can be referred to by specifying a table symbol or address. Next, the space information of the second memory space 105 is stored in the space information table 210 (step 30).
9).

【0033】さらに、第2メモリ空間105から第1メ
モリ空間104にメモリ空間を切り替える(ステップ3
10)。第1メモリ空間104にメモリ空間を切り替え
るための情報は、図2の空間情報テーブル210から獲
得して設定し、図2の動作空間フラグを第1メモリ空間
に変更する。そして、ブレークポイントを発行する(ス
テップ311)。これにより、再び共用ハンドラが実行
され、今度はステップ301において第1メモリ空間1
04のブレークポイントとしてみなし、第1メモリ空間
104のブレークポイント例外ハンドラへ移行する。
Further, the memory space is switched from the second memory space 105 to the first memory space 104 (step 3).
10). The information for switching the memory space to the first memory space 104 is obtained and set from the space information table 210 of FIG. 2, and the operation space flag of FIG. 2 is changed to the first memory space. Then, a breakpoint is issued (step 311). As a result, the shared handler is executed again.
It is regarded as a breakpoint of the first memory space 104, and the process proceeds to a breakpoint exception handler of the first memory space 104.

【0034】このように、共用ハンドラが動作すること
で、第1メモリ空間104を対象に動作するデバッガ1
11が、第2メモリ空間105のブレークポイントを捕
まえることができる。このデバッガ111がブレークポ
イントにより動作を停止することができれば、第2メモ
リ空間105のプログラムも、ステップ311における
ブレークポイント発行の時点で停止することが可能であ
る。すなわち、第2メモリ空間105のブレークポイン
トを設定すれば、第1メモリ空間104を対象とするデ
バッガ111が、第2メモリ空間105のブレークポイ
ントを捕獲することが可能である。
As described above, by operating the shared handler, the debugger 1 operating on the first memory space 104
11 can catch a breakpoint in the second memory space 105. If the operation of the debugger 111 can be stopped by a breakpoint, the program in the second memory space 105 can also be stopped at the time of issuing the breakpoint in step 311. That is, if a breakpoint in the second memory space 105 is set, the debugger 111 targeting the first memory space 104 can capture the breakpoint in the second memory space 105.

【0035】そして、この第1メモリ空間104で発行
したブレークポイント例外ハンドラが終了すると、第2
メモリ空間105へ再び空間を切り替える(ステップ3
12)。これは、ステップ309の処理で、図2の空間
情報テーブル210に保存した第2メモリ空間の空間情
報に基づき行ない、図2の動作空間フラグを第2メモリ
空間に変更する。これにより、再び、第2メモリ空間1
05上で、共用ハンドラが動作することになる。
When the breakpoint exception handler issued in the first memory space 104 ends, the second
The space is switched again to the memory space 105 (step 3
12). This is performed in step 309 based on the space information of the second memory space stored in the space information table 210 of FIG. 2, and the operation space flag of FIG. 2 is changed to the second memory space. As a result, again, the second memory space 1
05, the shared handler will operate.

【0036】その後、再度、デバッグ例外ハンドラで発
行されたブレークポイントであるかどうかを判定する
(ステップ313)。ここでの判定にも、図2のシング
ルステップ実行判定フラグ282を用いる。すなわち、
シングルステップ実行判定フラグ282が設定されてい
れば、デバッグ例外ハンドラから発行されたブレークポ
イントとして判定する。このようにデバッグ例外ハンド
ラで発行されたブレークポイントであれば、デバッグ例
外ハンドラのブレークポイントのコードは始めから組み
込まれているので、ステップ314〜316の処理をす
る必要はなく、ステップ317へ移行する。
Thereafter, it is determined again whether or not the breakpoint has been issued by the debug exception handler (step 313). The single step execution determination flag 282 in FIG. 2 is used for the determination here. That is,
If the single-step execution determination flag 282 is set, it is determined as a breakpoint issued from the debug exception handler. If the breakpoint is issued by the debug exception handler as described above, the code of the breakpoint of the debug exception handler is incorporated from the beginning, so that there is no need to perform the processing of steps 314 to 316, and the process proceeds to step 317. .

【0037】デバッグ例外ハンドラで発行されたブレー
クポイントでなければ、ブレークポイントを指定したア
ドレスに元のコードを書き込む(ステップ314)。こ
れは、図2のブレークポイントテーブル230から、ブ
レークポイントを起こしたアドレスの元コードを取り出
して行なう。これにより、共用ハンドラが終了した後、
ブレークポイント設定したアドレスから元のコードで動
作することになる。
If the breakpoint is not a breakpoint issued by the debug exception handler, the original code is written at the address where the breakpoint is specified (step 314). This is performed by extracting the original code of the address where the breakpoint occurred from the breakpoint table 230 in FIG. This allows the shared handler to exit
The original code will operate from the address where the breakpoint is set.

【0038】さらに、ブレークポイントの指定が有効か
どうか判定する(ステップ315)。これは、図2のブ
レークポイントテーブル230におけるブレークポイン
トアドレス231から、共用ハンドラを起こしたブレー
クポイントのアドレスを検査し、そのアドレスに対応す
る有効か無効かを示す項目233の状態により判定す
る。有効であればステップ316へ処理を移行し、無効
であればステップ317へ処理を移行する。
Further, it is determined whether or not the designation of a breakpoint is valid (step 315). This is done by examining the address of the breakpoint that caused the shared handler from the breakpoint address 231 in the breakpoint table 230 of FIG. If it is valid, the process proceeds to step 316. If it is invalid, the process proceeds to step 317.

【0039】ステップ316では、シングルステップ実
行モードを設定し、その後、ステップ317へ動作を移
行する。このシングルステップ実行モードによる処理動
作は、ブレークポイントの指定を繰り返し使用する場合
に必要である。すなわち、このシングルステップ実行時
に呼ばれる例外ハンドラにより、書き換えたブレークポ
イントのコードをこの時点で再びブレークポイントのコ
ードに書き込む。このようなシングルステップ実行時に
呼ばれる例外ハンドラについては、後の図4を用いて詳
細を説明する。
In step 316, the single-step execution mode is set, and then the operation proceeds to step 317. The processing operation in the single-step execution mode is necessary when the breakpoint is repeatedly used. In other words, the rewritten breakpoint code is rewritten to the breakpoint code at this time by the exception handler called during the single step execution. The exception handler called during the single step execution will be described in detail with reference to FIG.

【0040】ステップ317では、ステップ303の処
理で保存したレジスタの内容を回復する。そして、この
共用ハンドラを終了する。このような共用ハンドラの処
理手順により、通常のデバッガ111のブレークポイン
ト例外ハンドラでは捕獲できない別のメモリ空間(第2
メモリ空間105)のプログラムのブレークポイントが
捕獲可能となる。
In step 317, the contents of the register saved in the processing in step 303 are restored. Then, the shared handler ends. By such a processing procedure of the shared handler, another memory space (second memory space) that cannot be caught by the breakpoint exception handler of the normal debugger 111
Breakpoints of the program in the memory space 105) can be captured.

【0041】図4は、図1におけるデバッグシステムの
本発明に係わるデバッグ方法の第2の処理手順例を示す
フローチャートである。本例は、シングルステップ実行
時に呼ばれるデバッグ例外に対する処理手順例を示して
いる。
FIG. 4 is a flowchart showing a second processing procedure example of the debugging method according to the present invention of the debugging system in FIG. This example shows a processing procedure example for a debug exception called at the time of single step execution.

【0042】デバッグ例外が起こると、第1メモリ空間
104で動作しているか否かを判定する(ステップ40
1)。第1メモリ空間104は、デバッガ111が動作
しているメモリ空間である。また、判定は、図2の動作
空間フラグ260の値により判定する。
When a debug exception occurs, it is determined whether or not operation is in the first memory space 104 (step 40).
1). The first memory space 104 is a memory space in which the debugger 111 operates. The determination is made based on the value of the operation space flag 260 in FIG.

【0043】第1メモリ空間104で動作している場合
は、第1メモリ空間対象のデバッグ例外ハンドラへ移行
する(ステップ402)。また、第1メモリ空間104
以外で動作している場合は、まず、後で割り込み以前の
状態に復帰する場合のために、レジスタの内容を保存す
る(ステップ403)。次に、この例外ハンドラがデバ
ッグのために用いられているかどうか判定する(ステッ
プ404)。この判定は、図2のデバッグモードフラグ
270の値により行なう。
If the operation is in the first memory space 104, the process proceeds to the debug exception handler for the first memory space (step 402). Also, the first memory space 104
Otherwise, first, the contents of the register are saved in order to return to the state before the interruption later (step 403). Next, it is determined whether or not this exception handler is used for debugging (step 404). This determination is made based on the value of the debug mode flag 270 in FIG.

【0044】デバッグモードでなければ、第2メモリ空
間105のプログラムが通常用いるデバッグ例外ハンド
ラへ移行する(ステップ405)。デバッグモードが起
動している場合は、まず、有効とするブレークポイント
の位置にブレークポイント命令を書き込んだか否かを判
定する(ステップ406)。この判定は、シングルステ
ップ実行が起こったアドレスと、図2のブレークポイン
トテーブル230のブレークポイントアドレス231と
が等しいか否かで行なう。
If the mode is not the debug mode, the program shifts to a debug exception handler normally used by the program in the second memory space 105 (step 405). If the debug mode has been activated, first, it is determined whether or not a breakpoint instruction has been written at the position of a breakpoint to be enabled (step 406). This determination is made based on whether or not the address at which the single-step execution has occurred is equal to the breakpoint address 231 of the breakpoint table 230 in FIG.

【0045】ここで判定されたアドレスがあれば、ブレ
ークポイント命令をそのアドレス位置に書き込む(ステ
ップ407)。このように、ブレークポイントを再び有
効とすることで、ブレークポイント設定時の状態にし
て、ブレークポイントの設定の状態を継続させる。
If there is an address determined here, a breakpoint instruction is written at that address (step 407). In this manner, by setting the breakpoints to be valid again, the state at the time of setting the breakpoint is maintained, and the state of setting the breakpoint is continued.

【0046】次に、シングルステップ実行を解除するか
どうか判定する(ステップ408)。これは、図2にお
ける共通メモリ領域103のシングルステップ実行停止
モードフラグ280とトレース実行モードフラグ281
の値により判定する。ここで、シングルステップ実行停
止モードとは、シングルステップ実行させる毎に動作を
停止させてデバッグするために用いるモードである。
Next, it is determined whether or not the single step execution is canceled (step 408). This is because the single step execution stop mode flag 280 and the trace execution mode flag 281 of the common memory area 103 in FIG.
Is determined by the value of Here, the single step execution stop mode is a mode used for stopping and debugging each time a single step is executed.

【0047】どちらのフラグも指定されていなければ、
シングルステップ実行を解除する(ステップ409)。
これはプロセッサの設定の変更により実現する。このよ
うに、シングルステップ実行を解除することにより、こ
の例外ハンドラが終了した後、ブレークポイント設定時
と同じ通常の実行状況となり、その後、レジスタを回復
して(ステップ410)、デバッグ例外ハンドラを終了
する。
If neither flag is specified,
The single step execution is canceled (step 409).
This is achieved by changing the processor settings. In this way, by canceling the single-step execution, after the exception handler ends, the normal execution state is the same as that at the time of setting the breakpoint. Thereafter, the register is restored (step 410), and the debug exception handler ends. I do.

【0048】また、ステップ408の処理において、シ
ングルステップ実行を解除しない場合には、ステップ4
03の処理において保存したレジスタの内容を図2のレ
ジスタテーブル240に書き込む(ステップ411)。
デバッガ111は、共通メモリ領域103を仮想アドレ
ス指定で参照できるので、テーブルのシンボル、または
アドレスを指定することにより、シングルステップ実行
時のレジスタの値を参照できる。
If the single-step execution is not canceled in the processing of step 408,
The contents of the register stored in the process of step 03 are written in the register table 240 of FIG. 2 (step 411).
Since the debugger 111 can refer to the common memory area 103 by specifying a virtual address, the debugger 111 can refer to the register value at the time of single step execution by designating the symbol or address of the table.

【0049】そして、シングルステップ実行停止モード
が指定されているかどうかを判定する(ステップ41
2)。これは、図2のシングルステップ実行停止モード
フラグ280が指定されているかどうかで判定する。こ
の処理は、シングルステップ実行毎に停止して、その状
態をデバッガで見るか、トレースのみを行い、シングル
ステップ実行毎には停止せずに実行するかどうかを判定
するものである。
Then, it is determined whether the single step execution stop mode is designated (step 41).
2). This is determined based on whether the single step execution stop mode flag 280 in FIG. 2 is designated. This processing is to stop each time a single step is executed, to see whether the state is viewed by a debugger, or to perform only a trace, and to determine whether to execute without stopping each time a single step is executed.

【0050】シングルステップ実行停止モードが指定さ
れていれば、図2のシングルステップ実行判定フラグ2
82を設定する(ステップ413)。そして、シングル
ステップ実行毎に停止をするために、ブレークポイント
を発行する(ステップ414)。ここで発行するブレー
クポイントは、デバッガ111より設定したブレークポ
イントの処理とは異なる部分であるので、ステップ41
4で発行したブレークポイントであることを、図3の処
理を行なうブレークポインタ例外ハンドラ(共用ハンド
ラ)が判定可能となるように、シングルステップ実行判
定フラグを設定する。
If the single step execution stop mode is designated, the single step execution determination flag 2 shown in FIG.
82 is set (step 413). Then, a breakpoint is issued to stop each time a single step is executed (step 414). Since the breakpoint issued here is different from the processing of the breakpoint set by the debugger 111, step 41 is executed.
The single-step execution determination flag is set so that the breakpoint exception handler (shared handler) that performs the processing in FIG. 3 can determine that the breakpoint is issued in step 4.

【0051】ステップ414でのブレークポイントの発
行により、シングルステップ実行毎にブレークポイント
で停止することが可能となり、前記共用ハンドラは、デ
バッガが動作しているメモリ空間以外のブレークポイン
トも捕獲できるので、第2メモリ空間105のシングル
ステップ実行した状態を、第1メモリ空間104で動作
するデバッガ111で参照することが可能となる。
By issuing a breakpoint at step 414, it is possible to stop at a breakpoint each time a single step is executed, and the shared handler can capture breakpoints other than the memory space where the debugger is operating. The state in which the single step is executed in the second memory space 105 can be referred to by the debugger 111 operating in the first memory space 104.

【0052】その後、シングルステップ実行判定フラグ
282の設定を解除する(ステップ415)。そして、
次にトレース実行モードを指定しているかどうかを判定
する(ステップ416)。トレース実行モードが指定さ
れていれば、ステップ417の処理へ移行する。
Thereafter, the setting of the single step execution determination flag 282 is released (step 415). And
Next, it is determined whether or not the trace execution mode has been designated (step 416). If the trace execution mode has been designated, the process proceeds to step 417.

【0053】このステップ417では、トレースデータ
を図2における共有領域103のトレーステーブル25
0に保存する。これにより、デバッガ111からトレー
スデータを参照することが可能となる。また、第1メモ
リ空間104のプログラムからも参照可能となる。この
ステップ417の処理後、または、ステップ416にお
いて、トレース実行モードが指定されていなければ、ス
テップ418の処理へ移行する。
In step 417, the trace data is stored in the trace table 25 of the shared area 103 in FIG.
Store to 0. As a result, the debugger 111 can refer to the trace data. In addition, the program can be referred to from the program in the first memory space 104. After the processing in step 417 or in step 416, if the trace execution mode has not been designated, the processing shifts to step 418.

【0054】ステップ418では、シングルステップ実
行モードを終了するかどうか判定する。これは、図2の
シングルステップ実行モードフラグ280とトレース実
行モードフラグ281の値により判定する。すなわち、
どちらのフラグも指定されていなければシングルステッ
プ実行を終了するものとし、ステップ409の処理へ移
行する。また、どちらかのフラグが設定されていれば、
シングルステップ実行を続けるものとし、ステップ41
0の処理へ移行する。
In step 418, it is determined whether the single step execution mode is to be ended. This is determined by the values of the single step execution mode flag 280 and the trace execution mode flag 281 in FIG. That is,
If neither flag is specified, the single-step execution is terminated, and the process proceeds to step 409. Also, if either flag is set,
Single-step execution shall be continued, and step 41
Shift to the processing of 0.

【0055】以上の図3および図4で述べた処理を行な
う例外ハンドラは、マルチメモリ空間のプログラムによ
り共通であり、ブレークポイント、シングルステップ実
行を、メモリ空間の相違に関わらず、例外が発生する毎
に捕獲可能である。従って、それぞれ異なる仮想メモリ
空間を持つ複数のプログラムが連携して動作するマルチ
OS環境においても、その連携動作の順序に従い、マル
チメモリ空間のプログラムのデバッグが可能である。
The exception handler that performs the processing described in FIGS. 3 and 4 is common to programs in a multi-memory space, and an exception occurs at a breakpoint and single-step execution regardless of the difference in the memory space. Can be caught every time. Therefore, even in a multi-OS environment in which a plurality of programs each having a different virtual memory space operate in cooperation, it is possible to debug a program in the multi-memory space according to the order of the cooperative operation.

【0056】また、マルチメモリ空間におけるプログラ
ムのデバッグにおいて、空間情報テーブルの各メモリ空
間情報を設定し、ブレークポイントテーブル230を各
メモリ空間(104,105)毎に設定することで、メ
モリ空間の増減に対して、容易に対応可能である。
In debugging a program in a multi-memory space, the memory space information in the space information table is set, and the breakpoint table 230 is set for each memory space (104, 105). Can be easily dealt with.

【0057】以上、図1〜図4を用いて説明したよう
に、本例のマルチメモリ空間プログラムのデバッグシス
テムおよびそのデバッグ方法では、ブレークポイント例
外発生時に呼ばれる例外ハンドラ(共用ハンドラ)とシ
ングルステップ実行時に呼ばれる例外ハンドラ(デバッ
グ例外ハンドラ)を、各メモリ空間のプログラム共用す
る。
As described above with reference to FIGS. 1 to 4, in the debugging system and the debugging method of the multi-memory space program of this embodiment, the exception handler (shared handler) called when a breakpoint exception occurs and the single-step execution The exception handler (debug exception handler) that is sometimes called is shared by the programs in each memory space.

【0058】そして、デバッガの動作する第1のメモリ
空間とは異なる第2のメモリ空間のプログラムでも、第
2のメモリ空間のプログラムで発行されたブレークポイ
ント例外の例外ハンドラ(共用ハンドラ)が、デバッガ
の動作するメモリ空間に空間を切り替えて、再び、ブレ
ークポイントを発行することで、デバッガは、異なるメ
モリ空間のプログラムのブレークポイントを捕獲する。
Then, even in the program in the second memory space different from the first memory space in which the debugger operates, the exception handler (shared handler) of the breakpoint exception issued in the program in the second memory space is used as the debugger. By switching the space to the memory space in which the debugger operates, and issuing a breakpoint again, the debugger captures a breakpoint of a program in a different memory space.

【0059】これにより、マルチメモリ空間で同時に動
作するOSを含む複数のプログラム(マルチメモリ空間
プログラム)に対しても、1つのデバッガでデバッグ可
能であり、マルチメモリ空間プログラムの連携動作にも
対応してデバッグ可能であり、また、ブレークポイント
の設定を継続して利用可能であり、例えば、第2メモリ
空間で動作するOSの開発のため等に、本例のデバッグ
技術を有効に用いることができる。
Thus, a single debugger can debug a plurality of programs including an OS operating simultaneously in a multi-memory space (multi-memory space program), and can cooperate with a multi-memory space program. The debug technology of the present example can be used effectively, for example, for the development of an OS that operates in the second memory space. .

【0060】また、本例によれば、各マルチメモリ空間
プログラムに対して、シングルステップ実行が設定され
ているとき、シングルステップ実行時の例外ハンドラ
が、ブレークポイントを発行し、前記共用ハンドラを呼
ぶことで、各プログラムはどのメモリ空間であるかに関
係なく、第1のメモリ空間で動作するデバッガがシング
ルステップ実行を捕獲することが可能である。
According to this embodiment, when single-step execution is set for each multi-memory space program, the exception handler at the time of single-step execution issues a breakpoint and calls the shared handler. This allows a debugger operating in the first memory space to capture single-step execution regardless of which memory space each program is in.

【0061】また、本例によれば、各マルチメモリ空間
プログラムに対して、シングルステップ実行が設定され
ているとき、シングルステップ実行時の例外ハンドラ
が、共通メモリ領域にトレースデータを格納すること
で、一つのメモリ空間上で各プログラムのトレースデー
タを参照することが可能である。
According to this embodiment, when single-step execution is set for each multi-memory space program, the exception handler for single-step execution stores trace data in the common memory area. It is possible to refer to the trace data of each program on one memory space.

【0062】また、本例では、デバッガの動作するメモ
リ空間とは異なるプログラムのデータの状況を、各メモ
リ空間からアクセス可能な共通メモリ領域に書き込むこ
とで、デバッグに必要なデータを捕獲することが可能で
ある。これにより、ブレークポイント発行時のレジスタ
の状態を共通メモリ領域に格納し、これをデバッガまた
はアプリケーションで参照することが可能である。
Further, in this example, it is possible to capture data necessary for debugging by writing the data status of a program different from the memory space in which the debugger operates into a common memory area accessible from each memory space. It is possible. As a result, the state of the register at the time of issuing the breakpoint can be stored in the common memory area, and this can be referred to by the debugger or the application.

【0063】また、本例では、共通メモリ領域に、デバ
ッグ用の例外ハンドラの設定するフラグを用意すること
で、フラグの値に従い、例外ハンドラの処理が変更可能
である。これにより、例外ハンドラのコードを変更する
ことなく、デバッグ時に用いる例外ハンドラと、通常用
いる例外ハンドラの処理とを区別することが可能であ
る。
In this example, by preparing a flag for setting an exception handler for debugging in the common memory area, the processing of the exception handler can be changed according to the value of the flag. This makes it possible to distinguish between the exception handler used during debugging and the processing of the normally used exception handler without changing the code of the exception handler.

【0064】尚、本発明は、図1〜図4を用いて説明し
た実施例に限定されるものではなく、その要旨を逸脱し
ない範囲において種々変更可能である。例えば、本例で
は、図1に示すように、デバッガ計算機110により、
通信装置114,108を介して、デバッグ対象計算機
100に対するデバッグを行なう構成としているが、こ
れは、デバッグ対象計算機100のOSにおける障害に
よりデバッグ対象計算機100がダウンした場合にも、
その情報が得られるようにしたものであり、そのような
危険性がなければ、デバッグ対象計算機100上でデバ
ッガ111を実行させる構成でも良い。
The present invention is not limited to the embodiment described with reference to FIGS. 1 to 4 and can be variously modified without departing from the gist thereof. For example, in this example, as shown in FIG.
The configuration is such that debugging is performed on the debug target computer 100 via the communication devices 114 and 108. This is because even if the debug target computer 100 goes down due to a failure in the OS of the debug target computer 100, the debug is performed.
The information is obtained so that the debugger 111 may be executed on the computer 100 to be debugged if there is no such danger.

【0065】[0065]

【発明の効果】本発明によれば、マルチメモリ空間上で
同時に動作するOSを含むプログラム(マルチメモリ空
間プログラム)を一つのデバッガでデバッグすることが
でき、また、マルチメモリ空間プログラムの連携動作に
対応してデバッグすることができ、1台のコンピュータ
上でそれぞれ異なるメモリ空間で複数のオペレーティン
グシステム(OS)を連動させて動作させるマルチOS
環境で動作するマルチメモリ空間プログラムのデバッグ
を効率的に行なうことが可能である。
According to the present invention, a program including an OS (a multi-memory space program) operating simultaneously in a multi-memory space can be debugged by one debugger, and a cooperative operation of the multi-memory space program can be achieved. Multi-OS capable of debugging and operating multiple operating systems (OS) in different memory spaces on a single computer
It is possible to efficiently debug a multi-memory space program operating in an environment.

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

【図1】本発明のマルチメモリ空間プログラムのデバッ
グシステムの本発明に係る構成の一実施例を示すブロッ
ク図である。
FIG. 1 is a block diagram showing an embodiment of a configuration according to the present invention of a debugging system for a multi-memory space program of the present invention.

【図2】図1における共通メモリ領域の構成例を示す説
明図である。
FIG. 2 is an explanatory diagram showing a configuration example of a common memory area in FIG. 1;

【図3】図1におけるデバッグシステムの本発明に係わ
るデバッグ方法の第1の処理手順例を示すフローチャー
トである。
FIG. 3 is a flowchart showing a first processing procedure example of a debugging method according to the present invention of the debugging system in FIG. 1;

【図4】図1におけるデバッグシステムの本発明に係わ
るデバッグ方法の第2の処理手順例を示すフローチャー
トである。
FIG. 4 is a flowchart showing a second processing procedure example of the debugging method according to the present invention of the debugging system in FIG. 1;

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

100:デバッグ対象計算機、101:プロセッサ、1
02:メモリ、103:共通メモリ領域、104:第1
メモリ空間、105:第2メモリ空間、106:デバッ
グ支援プログラム、107:バス、108:通信装置、
109:ケーブル、110:デバッガ計算機、111:
デバッガ(第1メモリ空間を対象とするデバッガ)、1
12:入力装置、113:出力装置、114:通信装
置、210:空間情報テーブル、211:ページテーブ
ル位置、212:スタックポインタ位置、220:割り
込みテーブル、221:ベースアドレス、222:割り
込みハンドラの設定(割込み設定)、230:ブレーク
ポイントテーブル、231:ブレークポイントアドレ
ス、232:元コード、233:領域(有効or無効)、
240:レジスタテーブル、241:レジスタ名、24
2:値、250:トレーステーブル、251:トレース
データ、260:動作空間フラグ(動作空間(第1,第
2))、270:デバッグモードフラグ(デバッグモー
ド(On or Off))、280:シングルステップ実行停
止モードフラグ(シングルステップ実行停止モード(On
or Off))、281:トレース実行モードフラグ(ト
レース実行モード(On or Off))、282:シングル
ステップ実行判定フラグ(シングルステップ実行判定
(On or Off))。
100: computer to be debugged, 101: processor, 1
02: memory, 103: common memory area, 104: first
Memory space, 105: second memory space, 106: debug support program, 107: bus, 108: communication device,
109: cable, 110: debugger computer, 111:
Debugger (a debugger targeting the first memory space), 1
12: input device, 113: output device, 114: communication device, 210: space information table, 211: page table position, 212: stack pointer position, 220: interrupt table, 221: base address, 222: interrupt handler setting ( Interrupt setting), 230: breakpoint table, 231: breakpoint address, 232: original code, 233: area (valid or invalid),
240: register table, 241: register name, 24
2: value, 250: trace table, 251: trace data, 260: operation space flag (operation space (first and second)), 270: debug mode flag (debug mode (On or Off)), 280: single step Execution stop mode flag (Single step execution stop mode (On
or Off)), 281: Trace execution mode flag (trace execution mode (On or Off)), 282: Single step execution determination flag (Single step execution determination (On or Off)).

フロントページの続き (72)発明者 関口 知紀 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 新井 利明 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 冨田 理 愛知県尾張旭市晴丘町池上1番地 株式会 社日立製作所情報機器事業部内 Fターム(参考) 5B042 GA22 HH25 LA00 5B098 BA05 GA02 GD03 HH01 JJ06Continued on the front page (72) Inventor Tomoki Sekiguchi 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture Inside System Development Laboratory, Hitachi, Ltd. (72) Toshiaki Arai 1099 Ozenji Temple, Ozenji, Aso-ku, Kawasaki City, Kanagawa Prefecture Hitachi, Ltd. Within the System Development Laboratory (72) Inventor Osamu Tomita 1 Ikegami, Haruoka-cho, Owariasahi-shi, Aichi Prefecture F-term (reference), Information Equipment Division, Hitachi, Ltd. 5B042 GA22 HH25 LA00 5B098 BA05 GA02 GD03 HH01 JJ06

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】 1つの計算機で、それぞれ異なるメモリ
空間を持つ複数のオペレーティングシステム(OS)を
連動させるマルチOS環境で動作するOSを含むプログ
ラム(マルチメモリ空間プログラム)のデバッグを、一
つのOSに対応したデバッガを用いて行なうシステムで
あって、各OSが共用する共通メモリ領域に設けられ、
各メモリ空間で発生するブレークポイント例外により起
動され、該ブレークポイント例外の発生が、上記デバッ
ガが動作するOSの第1のメモリ空間以外の第2のメモ
リ空間での発生あれば、該第2のメモリ空間から上記第
1のメモリ空間へメモリ空間を切り替えて、該第1のメ
モリ空間でブレークポイントを発行し、上記第2のメモ
リ空間で発生したブレークポイント例外を上記第1のメ
モリ空間に対応したOSで動作するデバッガで捕獲させ
るブレークポイント例外ハンドラを有することを特徴と
するマルチメモリ空間プログラムのデバッグシステム。
A single computer can debug a program (multi-memory space program) including an OS operating in a multi-OS environment in which a plurality of operating systems (OS) each having a different memory space are linked to one OS. A system using a corresponding debugger, provided in a common memory area shared by each OS,
Triggered by a breakpoint exception that occurs in each memory space, and if the breakpoint exception occurs in a second memory space other than the first memory space of the OS on which the debugger operates, the second A memory space is switched from the memory space to the first memory space, a breakpoint is issued in the first memory space, and a breakpoint exception occurring in the second memory space corresponds to the first memory space. A debug system for a multi-memory space program, comprising: a breakpoint exception handler to be caught by a debugger operating on an OS.
【請求項2】 1つの計算機で、それぞれ異なるメモリ
空間を持つ複数のオペレーティングシステム(OS)を
連動させるマルチOS環境で動作するOSを含むプログ
ラム(マルチメモリ空間プログラム)のデバッグを、一
つのOSに対応したデバッガを用いて行なうマルチメモ
リ空間プログラムのデバッグ方法であって、次の各手順
を有するブレークポイント例外ハンドラ(共有ハンド
ラ)を、各OSが共用する共通メモリ領域に登録して、
各メモリ空間で発生するブレークポイント例外により上
記共有ハンドラを起動し、上記デバッガが動作するOS
の第1のメモリ空間以外の第2のメモリ空間で発生した
上記ブレークポイント例外を、上記第1のメモリ空間の
デバッガで捕獲することを特徴とするマルチメモリ空間
プログラムのデバッグ方法。 (1)上記ブレークポイント例外が上記第2のメモリ空
間で発生すれば、該第2のメモリ空間から上記第1のメ
モリ空間へメモリ空間を切り替える手順 (2)切り替えた第1のメモリ空間でブレークポイント
を発行する手順
2. A method in which a single computer debugs a program (multi-memory space program) including an OS operating in a multi-OS environment in which a plurality of operating systems (OSs) having different memory spaces are linked to each other. A method of debugging a multi-memory space program using a corresponding debugger, wherein a breakpoint exception handler (shared handler) having the following procedures is registered in a common memory area shared by each OS,
An OS on which the above-mentioned shared handler is activated by a breakpoint exception occurring in each memory space and the above-mentioned debugger operates
A method for debugging a multi-memory space program, wherein the breakpoint exception that has occurred in a second memory space other than the first memory space is captured by a debugger in the first memory space. (1) If the breakpoint exception occurs in the second memory space, a procedure for switching the memory space from the second memory space to the first memory space (2) Break in the switched first memory space Procedure for issuing points
【請求項3】 1つの計算機で、それぞれ異なるメモリ
空間を持つ複数のオペレーティングシステム(OS)を
連動させるマルチOS環境で動作するOSを含むプログ
ラム(マルチメモリ空間プログラム)のデバッグを、一
つのOSに対応したデバッガを用いて行なうマルチメモ
リ空間プログラムのデバッグ方法であって、次の各手順
を有するブレークポイント例外ハンドラ(共有ハンド
ラ)を、各OSが共用する共通メモリ領域に登録して、
各メモリ空間で発生するブレークポイント例外により上
記共有ハンドラを起動し、上記デバッガが動作するOS
の第1のメモリ空間以外の第2のメモリ空間で発生した
上記ブレークポイント例外を、上記第1のメモリ空間の
デバッガで捕獲することを特徴とするマルチメモリ空間
プログラムのデバッグ方法。 (1)上記ブレークポイント例外が上記第1のメモリ空
間で発生すれば、該第1のメモリ空間のOSのブレーク
ポイント例外ハンドラへ処理を移す手順 (2)上記ブレークポイント例外が上記第2のメモリ空
間で発生し、かつ、デバッグモードでなければ、上記第
2のメモリ空間のOSのブレークポイント例外ハンドラ
へ処理を移す手順 (3)上記ブレークポイント例外が上記第2のメモリ空
間で発生し、かつ、デバッグモードであれば、上記第2
のメモリ空間から上記第1のメモリ空間へメモリ空間を
切り替え、切り替えた第1のメモリ空間でブレークポイ
ントを発行する手順
3. A single computer can debug a program (multi-memory space program) including an OS operating in a multi-OS environment in which a plurality of operating systems (OS) each having a different memory space are linked to one OS. A method of debugging a multi-memory space program using a corresponding debugger, wherein a breakpoint exception handler (shared handler) having the following procedures is registered in a common memory area shared by each OS,
An OS on which the above-mentioned shared handler is activated by a breakpoint exception occurring in each memory space and the above-mentioned debugger operates
A debug method for a multi-memory space program, wherein the breakpoint exception generated in a second memory space other than the first memory space is captured by a debugger in the first memory space. (1) If the breakpoint exception occurs in the first memory space, a procedure for transferring processing to a breakpoint exception handler of the OS in the first memory space (2) The breakpoint exception is generated in the second memory space If the error occurs in the space and the debug mode is not set, the procedure is shifted to the OS breakpoint exception handler in the second memory space. (3) The breakpoint exception occurs in the second memory space, and If in debug mode, the second
Switching the memory space from the first memory space to the first memory space, and issuing a breakpoint in the switched first memory space
【請求項4】 請求項2、もしくは、請求項3のいずれ
かに記載のマルチメモリ空間プログラムのデバッグ方法
において、上記共通メモリ領域内に、ブレークポイント
を設定するアドレスを登録するテーブルを有し、該テー
ブルを用いて上記ブレークポイントの設定および解除を
行なうことを特徴とするマルチメモリ空間プログラムの
デバッグ方法。
4. The multi-memory space program debugging method according to claim 2, further comprising: a table for registering an address for setting a breakpoint in the common memory area. A method for debugging a multi-memory space program, wherein the breakpoint is set and released using the table.
【請求項5】 請求項2から請求項4のいずれかに記載
のマルチメモリ空間プログラムのデバッグ方法におい
て、上記共有ハンドラは、切り替えた上記第1のメモリ
空間でのブレークポイントの発行に伴う上記デバッガの
ブレークポイント例外ハンドラの処理終了後、上記第1
のメモリ空間から上記第2のメモリ空間への切り替え時
に上記共通メモリ領域に登録した上記第1のメモリ空間
と上記第2のメモリ空間のアドレス情報に基づき上記第
1のメモリ空間から上記第2のメモリ空間に戻す手順
と、上記ブレークポイントの発行で書き換えたプログラ
ムコードを元に戻す手順と、上記第2のメモリ空間での
上記マルチメモリ空間プログラムの実行を再開させる手
順と、上記プログラムコードを元に戻した後、上記共通
メモリ領域内で上記ブレークポイント例外に対応して登
録された指示に基づきシングルステップ実行を設定する
手順とを有することを特徴とするマルチメモリ空間プロ
グラムのデバッグ方法。
5. The method for debugging a multi-memory space program according to claim 2, wherein the debugger is configured to issue a breakpoint in the switched first memory space. After the breakpoint exception handler has finished processing,
From the first memory space to the second memory space based on the address information of the first memory space and the second memory space registered in the common memory area when switching from the memory space to the second memory space. A procedure for returning to the memory space, a procedure for returning the program code rewritten by issuing the breakpoint, a procedure for restarting the execution of the multi-memory space program in the second memory space, And setting a single-step execution based on an instruction registered in the common memory area in response to the breakpoint exception.
【請求項6】 請求項5に記載のマルチメモリ空間プロ
グラムのデバッグ方法において、上記共有ハンドラで設
定された上記シングルステップ実行が、上記第2のメモ
リ空間での上記マルチメモリ空間プログラムの実行の再
開直後に発行された場合に呼ばれるデバッグ例外ハンド
ラを、上記共通メモリ領域に登録して、各メモリ空間で
発生する全てのデバッグ例外で起動させることを特徴と
するマルチメモリ空間プログラムのデバッグ方法。
6. The method for debugging a multi-memory space program according to claim 5, wherein the single-step execution set by the shared handler resumes execution of the multi-memory space program in the second memory space. A debugging method for a multi-memory space program, characterized in that a debugging exception handler called when issued immediately after is registered in the common memory area and activated by all debugging exceptions occurring in each memory space.
【請求項7】 請求項6に記載のマルチメモリ空間プロ
グラムのデバッグ方法において、上記デバッグ例外ハン
ドラは、上記デバッグ例外が上記第2のメモリ空間でデ
バッグ中に発生すれば、該デバッグ例外が発生したアド
レス位置にブレークポイントを発生させるためにブレー
クポイントの命令を書き込む手順を有することを特徴と
するマルチメモリ空間プログラムのデバッグ方法。
7. The method for debugging a multi-memory space program according to claim 6, wherein the debug exception handler generates the debug exception if the debug exception occurs during debugging in the second memory space. A method of debugging a multi-memory space program, comprising a step of writing a breakpoint instruction to generate a breakpoint at an address position.
【請求項8】 請求項6、もしくは、請求項7のいずれ
かに記載のマルチメモリ空間プログラムのデバッグ方法
において、上記デバッグ例外ハンドラは、上記共有メモ
リ領域に設定されたシングルステップ実行停止指示情報
に基づき、上記ブレークポイントを発行して、上記共有
ハンドラを起動させる手順を有することを特徴とするマ
ルチメモリ空間プログラムのデバッグ方法。
8. The method for debugging a multi-memory space program according to claim 6, wherein the debug exception handler includes a single-step execution stop instruction information set in the shared memory area. A method of debugging a multi-memory space program, comprising the steps of issuing the breakpoint and activating the shared handler.
【請求項9】 請求項6から請求項8のいずれかに記載
のマルチメモリ空間プログラムのデバッグ方法におい
て、上記デバッグ例外ハンドラは、上記共有メモリ領域
に設定されたトレース実行指示情報に基づき、トレース
情報を上記共通メモリ領域内のトレースデータテーブル
に書き込む手順と、上記ブレークポイントの発行前に、
レジスタ情報を上記共通メモリ領域内のレジスタテーブ
ルに書き込む手順とを有することを特徴とするマルチメ
モリ空間プログラムのデバッグ方法。
9. The method for debugging a multi-memory space program according to claim 6, wherein the debug exception handler is configured to execute trace information based on trace execution instruction information set in the shared memory area. Into the trace data table in the common memory area, and before issuing the breakpoint,
Writing the register information into a register table in the common memory area.
【請求項10】 請求項6から請求項9のいずれかに記
載のマルチメモリ空間プログラムのデバッグ方法におい
て、上記共通メモリ領域に登録されたデバッグ処理の指
示とシングルステップ実行停止処理指示およびトレース
処理指示の各情報を、上記デバッガもしくは上記マルチ
メモリ空間プログラムで変更して、上記デバッグ例外ハ
ンドラの処理手順を変更することを特徴とするマルチメ
モリ空間プログラムのデバッグ方法。
10. The method for debugging a multi-memory space program according to claim 6, wherein instructions for debugging processing, instructions for stopping single-step execution, and instructions for tracing are registered in the common memory area. Characterized in that the above information is changed by the debugger or the multi-memory space program to change the processing procedure of the debug exception handler.
【請求項11】 請求項2から請求項10のいずれかに
記載のマルチメモリ空間プログラムのデバッグ方法にお
いて、上記共有ハンドラは、上記ブレークポイントの発
行前に、レジスタ情報を上記共通メモリ領域内に書き込
む手順を有することを特徴とするマルチメモリ空間プロ
グラムのデバッグ方法。
11. The method of debugging a multi-memory space program according to claim 2, wherein said shared handler writes register information in said common memory area before issuing said breakpoint. A method for debugging a multi-memory space program, comprising the steps of:
【請求項12】 請求項2から請求項11のいずれかに
記載のマルチメモリ空間プログラムのデバッグ方法にお
いて、上記共通メモリ領域に登録されたデバッグ処理の
指示とシングルステップ実行停止処理指示およびトレー
ス処理指示の各情報を、上記デバッガもしくは上記マル
チメモリ空間プログラムで変更して、上記共有ハンドラ
の処理手順を変更することを特徴とするマルチメモリ空
間プログラムのデバッグ方法。
12. The method for debugging a multi-memory space program according to claim 2, wherein instructions for debugging processing, instructions for stopping single-step execution, and instructions for tracing are registered in said common memory area. A method of changing the processing procedure of the shared handler by changing each piece of information by the debugger or the multi-memory space program.
JP35238498A 1998-12-11 1998-12-11 Debug processing system, computer and debug processing method Expired - Fee Related JP3503504B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35238498A JP3503504B2 (en) 1998-12-11 1998-12-11 Debug processing system, computer and debug processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35238498A JP3503504B2 (en) 1998-12-11 1998-12-11 Debug processing system, computer and debug processing method

Publications (2)

Publication Number Publication Date
JP2000181748A true JP2000181748A (en) 2000-06-30
JP3503504B2 JP3503504B2 (en) 2004-03-08

Family

ID=18423713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35238498A Expired - Fee Related JP3503504B2 (en) 1998-12-11 1998-12-11 Debug processing system, computer and debug processing method

Country Status (1)

Country Link
JP (1) JP3503504B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004516A (en) * 2005-06-24 2007-01-11 Hitachi Software Eng Co Ltd Program debugging method of built-in system
JP2007507779A (en) * 2003-10-01 2007-03-29 ジャルナ エスアー operating system
JP2007522554A (en) * 2004-02-09 2007-08-09 コンティネンタル・テーベス・アクチエンゲゼルシヤフト・ウント・コンパニー・オッフェネ・ハンデルスゲゼルシヤフト Embedded system analysis apparatus and method for in-vehicle security problematic computer systems
JP2009175960A (en) * 2008-01-23 2009-08-06 Panasonic Corp Virtual multiprocessor system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007507779A (en) * 2003-10-01 2007-03-29 ジャルナ エスアー operating system
JP2007522554A (en) * 2004-02-09 2007-08-09 コンティネンタル・テーベス・アクチエンゲゼルシヤフト・ウント・コンパニー・オッフェネ・ハンデルスゲゼルシヤフト Embedded system analysis apparatus and method for in-vehicle security problematic computer systems
JP2007004516A (en) * 2005-06-24 2007-01-11 Hitachi Software Eng Co Ltd Program debugging method of built-in system
JP2009175960A (en) * 2008-01-23 2009-08-06 Panasonic Corp Virtual multiprocessor system

Also Published As

Publication number Publication date
JP3503504B2 (en) 2004-03-08

Similar Documents

Publication Publication Date Title
US8856742B2 (en) Distributed debugging
US6718294B1 (en) System and method for synchronized control of system simulators with multiple processor cores
US7950001B2 (en) Method and apparatus for instrumentation in a multiprocessing environment
US7536605B2 (en) Injection of software faults into an operational system
US6988264B2 (en) Debugging multiple threads or processes
US5630049A (en) Method and apparatus for testing software on a computer network
US8051409B1 (en) Monitoring memory accesses for multiple computer processes
JP5905904B2 (en) Controlling debug exception generation
US7793160B1 (en) Systems and methods for tracing errors
US7043717B2 (en) Debugging apparatus and method
US8612720B2 (en) System and method for implementing data breakpoints
JP2003015906A (en) Remote debugging method and device
JP2000181748A (en) Debug system for multi-memory space program and its debug method
CN112711527A (en) Debugging method and device of real-time process, target machine and storage medium
JP3085730B2 (en) Parallel simulation method for complex CPU system
JPS62290942A (en) Debugger starting system
JP2659366B2 (en) Debugging method and device
JP2788353B2 (en) Task trace method
JPH02135545A (en) Execution control processing system for debugger
JPH06161817A (en) Thread on-line debugging device
CN117724664A (en) Data writing method, device, equipment and storage medium
JP3120841B2 (en) In-circuit emulator
CN117707969A (en) ARMv 8-based operation system adjustment and measurement system
JP2007041887A (en) Debugging apparatus, its memory access method and program for realizing memory access method
JPH01145740A (en) Emulator for multi-process

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031201

LAPS Cancellation because of no payment of annual fees