JPH09259002A - Debug support device - Google Patents

Debug support device

Info

Publication number
JPH09259002A
JPH09259002A JP8066412A JP6641296A JPH09259002A JP H09259002 A JPH09259002 A JP H09259002A JP 8066412 A JP8066412 A JP 8066412A JP 6641296 A JP6641296 A JP 6641296A JP H09259002 A JPH09259002 A JP H09259002A
Authority
JP
Japan
Prior art keywords
task
breakpoint
break
instruction
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8066412A
Other languages
Japanese (ja)
Inventor
Shigeru Endo
茂 遠藤
Akibumi Nakabashi
晃文 中橋
Hiroshi Suzuki
弘 鈴木
Junichi Kobayashi
淳一 小林
Keiji Kuwabara
啓二 桑原
Wataru Sasaki
亘 笹木
Shuji Nishiyama
修治 西山
Naoya Masuko
直也 益子
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
Hitachi Information and Control Systems Inc
Original Assignee
Hitachi Ltd
Hitachi Process Computer Engineering Inc
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, Hitachi Process Computer Engineering Inc filed Critical Hitachi Ltd
Priority to JP8066412A priority Critical patent/JPH09259002A/en
Publication of JPH09259002A publication Critical patent/JPH09259002A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To permit plural users to individually debug an arbitrary task group under the control of OS of a multi-task. SOLUTION: A debugger command 102 is individually started by the plural users. The task group being the object of debugging and a brake point are designated and information on the task stopped by the brake point is provided. A debugger task 103 stores the debugger command 102 and information for specifying the task group being the object of debugging in a table 106 at every brake point and sets the brake point in the task. When the task stops at the brake point, OS 104 suppresses the execution of all the tasks becoming the objects of debugging with the stopped task. A brake report task gives the notice of stop to the debugger command 102 designating the brake point of the stopped task. OS 104 resumes the execution of the stopped task when the task becoming the object of debugging with the stopped task does not exist.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、マルチタスクのO
S(Operating system)の管理下で並行に実行される複
数タスクのデバッグを支援するデバッグ支援装置に関す
るものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to multitasking O
The present invention relates to a debug support device that supports debugging of a plurality of tasks executed in parallel under the control of an S (Operating system).

【0002】[0002]

【従来の技術】計算機で実行されるタスク(プログラ
ム)のデバッグでは、利用者は、タスク内にブレークポ
イントを設定し、タスクの実行がブレークポイントで停
止した時にそのタスクの動作を反映する変数やテーブル
の値を調べることで、タスクが期待通りの動作を行って
いるかを検証する。一方、マルチタスクのOSを備えた
計算機では、複数のタスクの各々を並行して実行するこ
とが可能となる。ただし、このOSの管理下で、変数や
テーブルを共有する、並行して実行する必用のある複数
のタスクのデバッグを行う場合、あるタスクがブレーク
ポイントで動作を停止した後に、他のタスクが動作して
共有の変数やテーブルの設定値を変更してしまい、これ
によりタスクの検証ができなくなることがある。
2. Description of the Related Art In debugging a task (program) executed on a computer, a user sets a breakpoint in the task, and when a task execution stops at the breakpoint, a variable or Verify the task is working as expected by examining the values in the table. On the other hand, in a computer equipped with a multitasking OS, each of a plurality of tasks can be executed in parallel. However, under the control of this OS, when debugging multiple tasks that share variables or tables and need to be executed in parallel, after one task stops operating at a breakpoint, another task starts operating. Then, the shared variable and the setting value of the table are changed, which may make it impossible to verify the task.

【0003】特開平4−314141号公報記載のデバ
ッグ方式では、複数のタスクをグループ化し、あるタス
クの動作がブレークポイントで停止した場合に、停止し
たタスクと同じグループに属する全てのタスクの実行を
抑止することで、上記の問題を解消している。また、特
開平7−160530号公報記載の方式では、システム
内のあるタスクの動作がブレークポイントで停止した場
合には、システム内の全てのタスクの動作を停止させ
る。
In the debugging method described in Japanese Patent Laid-Open No. 4-314141, when a plurality of tasks are grouped and the operation of a certain task is stopped at a breakpoint, the execution of all tasks belonging to the same group as the stopped task is executed. By suppressing, the above problems are solved. Further, in the method described in Japanese Patent Laid-Open No. 7-160530, when the operation of a task in the system stops at a breakpoint, the operation of all tasks in the system is stopped.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、上記従
来の技術は1人の利用者を対象としており、1つのシス
テムにおいて複数の利用者が個別にタスクのデバッグを
行うことは考慮していない。このため、複数の利用者が
並行して利用できるシステムに適用した場合にも、特開
平7−160530号公報記載の技術ではシステム内の
全てのタスクが同一のデバッグ対象とみなされるため、
ある利用者が設定したブレークポイントでタスクが停止
すると、他の利用者のタスクの実行も停止してしまう。
このため、各利用者が個別にデバッグを行うことはでき
ない。
However, the above-mentioned conventional technique is intended for one user, and does not consider that a plurality of users individually perform task debugging in one system. Therefore, even when applied to a system that can be used by a plurality of users in parallel, all the tasks in the system are regarded as the same debug target in the technique described in JP-A-7-160530.
When a task stops at a breakpoint set by one user, the execution of tasks by other users also stops.
Therefore, each user cannot debug individually.

【0005】特開平4−314141号公報記載の技術
では、タスクのグループの指定を各利用から任意に受け
付けることや、タスクにブレークポイントを設定した利
用者にそのタスクの実行停止を通知することはできな
い。すなわち、この技術でも、各利用者が個別にデバッ
グを行うことはできない。また、複数のグループのタス
クから共通に呼び出される共有サブルーチンに、ある利
用者がブレイクポイントを設定した場合には、その利用
者以外の利用者のタスクに呼び出された上記共有サブル
ーチンの処理においても、タスクの実行が停止してしま
う。
In the technique described in Japanese Patent Application Laid-Open No. 4-314141, it is possible to arbitrarily accept the designation of a group of tasks from each use, and to notify the user who has set a breakpoint on the task that the execution of the task has been stopped. Can not. That is, even with this technique, each user cannot individually perform debugging. Also, when a user sets a breakpoint in a shared subroutine that is commonly called from tasks of multiple groups, even in the processing of the shared subroutine called by a task of a user other than that user, Task execution stops.

【0006】そこで、本発明は、マルチタスクのOSの
管理下で、複数の利用者の各々が個別に任意のタスク群
のデバッグを行うことを可能とするデバッグ支援装置を
提供することを目的とする。
Therefore, it is an object of the present invention to provide a debug support device that enables each of a plurality of users to individually debug an arbitrary task group under the control of a multitasking OS. To do.

【0007】[0007]

【課題を解決するための手段】本発明は、プロセッサ
と、複数のタスクを並行して実行するように前記プロセ
ッサを制御するマルチタスクのOSを備え、前記タスク
の実行を、当該タスクに割り当てた識別情報により管理
するデバッグ支援装置であって、複数の利用者の各々か
ら、デバッグ対象の複数のタスクの各々に割り当てられ
た識別情報と、前記デバッグ対象のタスクの内の少なく
とも1つのタスクにおけるブレークポイントの位置情報
とを受け付けるユーザインタフェース手段と、当該受け
付けたブレークポイントの位置情報に応じて、前記デバ
ッグ対象のタスクにブレークポイントを指定する命令を
設定する手段と、当該ブレークポイントを指定する命令
が実行された場合に、当該命令が設定された実行中のタ
スクの識別情報を検出し、検出した識別情報のタスク
と、当該識別情報に一致する識別情報と一緒に受け付け
た識別情報のタスクの実行を停止する手段を備えること
を特徴とする。
The present invention comprises a processor and a multitasking OS that controls the processor to execute a plurality of tasks in parallel, and the execution of the task is assigned to the task. A debug support device managed by identification information, the identification information being assigned to each of a plurality of tasks to be debugged by each of a plurality of users, and a break in at least one task of the tasks to be debugged. The user interface means for receiving the position information of the point, the means for setting the instruction for specifying the breakpoint in the task to be debugged according to the received position information for the breakpoint, and the instruction for specifying the breakpoint are provided. When executed, the identification information of the task being executed in which the instruction is set is checked. And the tasks of the detected identification information, characterized in that it comprises means for stopping the execution of the tasks of the identification information received together with identification information corresponding to the identification information.

【0008】この発明のデバッグ支援装置では、ブレー
クポイントを指定する命令が実行された場合に、その命
令が設定されたタスクと、そのタスク一緒に利用者が識
別情報でデバッグ対象に指定したタスクの実行が停止さ
れる。すなわち、他の利用者が指定したタスクがこの時
に停止されることはなく、各利用者は個別に任意のタス
ク群のデバッグを行うことができる。
In the debug support apparatus of the present invention, when an instruction specifying a breakpoint is executed, the task in which the instruction is set and the task together with the task specified by the user as the debug target by the identification information are executed. Execution is stopped. That is, the tasks designated by other users are not stopped at this time, and each user can individually debug an arbitrary task group.

【0009】また、本発明は、上記のデバッグ支援装置
であって、前記ブレークポイントを指定する命令は、前
記複数のタスクより共通に呼び出されるサブルーチンに
も設定され、前記ユーザインタフェース手段は、当該サ
ブルーチンにおけるブレークポイントの位置情報も入力
し、前記ブレークポイントを指定する命令が実行された
場合に、当該実行された命令の位置情報と、実行中のタ
スクの識別情報を検出し、当該検出したタスクの識別情
報が、前記検出した位置情報に一致する位置情報と一緒
に受け付けた識別情報に含まれない場合には、前記命令
の実行に応じてなされるタスクの実行停止を解除する手
段を備えることを特徴とする。
Further, the present invention is the above debug support apparatus, wherein the instruction for designating the breakpoint is also set in a subroutine commonly called by the plurality of tasks, and the user interface means is the subroutine. When the instruction specifying the breakpoint is executed, the positional information of the breakpoint is also input, and the positional information of the executed instruction and the identification information of the task being executed are detected, and the detected task When the identification information is not included in the identification information received together with the position information that matches the detected position information, a means for canceling the execution stop of the task performed according to the execution of the instruction is provided. Characterize.

【0010】この発明のデバッグ支援装置では、上記の
サブルーチンに設定されたブレークポイントを指定する
命令が実行された場合、その命令の位置情報に一致する
位置情報が、そのサブルーチンを呼び出したタスクの識
別情報と一緒に利用者から指定されていない場合には、
タスクの実行は停止されない。すなわち、上記のサブル
ーチンに設定された命令は、その設定を指定した利用者
のデバッグ対象のタスクから呼び出された場合にのみ有
効となり、他の利用者のデバッグ対象のタスクの実行を
停止させることはない。
In the debug support apparatus according to the present invention, when the instruction designating the breakpoint set in the above subroutine is executed, the position information matching the position information of the instruction identifies the task that called the subroutine. If it is not specified by the user along with the information,
Task execution is not stopped. That is, the instruction set in the above subroutine is valid only when it is called from the task to be debugged by the user who specified the setting, and the execution of the task to be debugged by another user cannot be stopped. Absent.

【0011】また、本発明は、上記のデバッグ支援装置
を、前記複数の利用者の各々が入力を行う複数の計算機
を含む、ネットワークにより接続された複数の計算機に
より構成することで、遠離地の利用者のデバッグを可能
とする。
Further, according to the present invention, by configuring the above-mentioned debug support device by a plurality of computers connected by a network, including a plurality of computers for which each of the plurality of users inputs, Enables user debugging.

【0012】さらに、本発明は、上記のデバッグ支援装
置で、前記ブレークポイントを指定する命令が実行され
た場合に、当該ブレークポイントを指定した利用者に、
タスクの実行停止を通知することを可能にする。
Further, according to the present invention, when the instruction for designating the breakpoint is executed in the debug support device, the user who has designated the breakpoint is provided with:
Allows notification of task execution stop.

【0013】[0013]

【発明の実施の形態】以下で、本発明の実施形態を、図
面を用いて詳細に説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0014】図1に、本発明の実施形態に係る計算機10
1のソフトウェア構成を示す。
FIG. 1 shows a computer 10 according to an embodiment of the present invention.
The software configuration of 1 is shown.

【0015】計算機101は、マルチタスクのOS104を備
え、OS104の管理により複数のタスクを並行して実行
することができる。また、ネットワークにより複数の端
末に接続され、OS104により複数タスクの実行を端末
別に管理することもできる。さらに、計算機101はデバ
ッグに係わるソフトウェアとして、ブレークポイントに
関する情報を格納するブレーク情報管理テーブル106
と、利用者との間のインタフェースとして機能するデバ
ッガコマンド102と、ブレークポイントの設定やブレー
ク情報管理テーブル106の設定を行うデバッガタスク103
と、ブレークポイントで停止したタスクに関する情報を
格納するブレーク報告テーブルA107とブレーク報告テ
ーブルB108と、デバッグ対象のタスクの実行がブレー
クポイントで停止したことをデバッガコマンド102に報
告するブレーク報告タスク105と、OS104の管理により
並行して実行されるユーザタスク109〜111と、ユーザタ
スク109〜111の内の複数のタスクから呼び出され特定の
処理を行うサブルーチン(共有サブルーチン)112とを
有する。なお、図1におけるユーザタスクと共有サブル
ーチンは、それぞれ任意の数設けることができる。ま
た、ここでは、利用者が直接起動するプログラムをコマ
ンドとし、コマンドやOS104によって起動されるプロ
グラムをタスクとして両者を区別している。
The computer 101 includes a multitasking OS 104, and a plurality of tasks can be executed in parallel under the control of the OS 104. It is also possible to connect to a plurality of terminals via a network and manage the execution of a plurality of tasks for each terminal by the OS 104. Further, the computer 101, as software related to debugging, stores a break information management table 106 for storing information about breakpoints.
And a debugger command 102 that functions as an interface between the user and a user, and a debugger task 103 that sets a breakpoint and a break information management table 106.
A break report table A107 and a break report table B108 for storing information about the task stopped at the breakpoint, and a break report task 105 for reporting to the debugger command 102 that the execution of the task to be debugged has stopped at the breakpoint. It has user tasks 109 to 111 that are executed in parallel under the management of the OS 104, and a subroutine (shared subroutine) 112 that is called from a plurality of tasks among the user tasks 109 to 111 and that performs specific processing. The user tasks and shared subroutines in FIG. 1 can be provided in arbitrary numbers. In addition, here, the program directly activated by the user is referred to as a command, and the command or the program activated by the OS 104 is referred to as a task to distinguish the two.

【0016】<デバッガコマンドの処理>図2は、デバ
ッガコマンド102の処理を示す流れ図である。
<Processing of Debugger Command> FIG. 2 is a flowchart showing the processing of the debugger command 102.

【0017】デバッガコマンド102は、OS104の管理下
で、複数の利用者により個別に起動され、利用者毎に各
種デバッグ処理を実施する。デバッガコマンド102は起
動後、まず、ブレーク報告タスク105の報告に対応する
ための処理を設定し(201)、デバッグ処理種別の入力待
ち状態となる(202)。利用者からデバッグ処理種別の入
力があると、その入力値に応じて、ブレークポイント設
定要求処理(203)、ブレークポイント設定取り消し処理
(204)、ブレーク解除(タスクの再実行)要求処理(20
5)、レジスタ内容読み書き処理(206)および、タスクの
起動処理(207)の内のいずれかの処理を行う。そして、
処理の終了後に、再びデバッグ処理種別の入力待ち状態
となる(201)。
The debugger command 102 is individually activated by a plurality of users under the control of the OS 104 and carries out various debugging processes for each user. After the debugger command 102 is activated, first, a process for responding to the report of the break report task 105 is set (201), and the input of the debug process type waits (202). When the debug processing type is input by the user, the breakpoint setting request processing (203) and the breakpoint setting cancellation processing are performed according to the input value.
(204), Break release (task re-execution) request processing (20
5) One of the register content read / write process (206) and the task activation process (207) is performed. And
After the processing is completed, the state of waiting for input of the debug processing type is entered again (201).

【0018】ブレークポイント設定要求処理203では、
ブレークポイントの設定に必要となる情報を利用者から
受け取り、受け取った情報の設定をデバッガタスク103
に要求する。利用者より受け取る情報は、利用者がブレ
ークポイントをタスクと共有サブルーチンのいずれに設
定するかにより異なる。すなわち、タスクに設定する場
合は、そのタスクに割り当てられたID(識別名称)
と、そのタスクの実行モジュールの先頭位置に対するブ
レークポイントの相対アドレスを受け付ける。共有サブ
ルーチンに設定する場合には、その共有サブルーチンに
割り当てられたIDと、その共有サブルーチンにおける
ブレークポイントの相対アドレスと、その共有サブルー
チンを呼び出すタスクのIDを受け取る。
In the breakpoint setting request processing 203,
Receive the information required to set a breakpoint from the user and set the received information in Debugger Task 103.
Request to. The information received from the user depends on whether the user sets a breakpoint at a task or a shared subroutine. That is, when setting to a task, the ID (identification name) assigned to that task
And the address of the breakpoint relative to the start position of the execution module of the task. When setting the shared subroutine, the ID assigned to the shared subroutine, the relative address of the breakpoint in the shared subroutine, and the ID of the task that calls the shared subroutine are received.

【0019】ブレークポイント設定取り消し処理204で
は、ブレークポイント設定要求処理203でブレークポイ
ントを設定されたタスク(または、共有サブルーチン)
のIDと、ブレークポイントの相対アドレスを利用者か
ら受け取り、当該ブレークポイントの設定の取り消しを
デバッガタスク103に要求する。ブレーク解除要求処理2
05では、ブレークポイントで停止しているタスクのID
を利用者から受け取り、当該タスクの実行再開をデバッ
ガタスク103に要求する。レジスタ内容読み書き処理206
では、ブレークポイントで停止しているタスクのID
と、レジスタ(変数)の名称を利用者から受け取り、当
該レジスタに対する読み出しや、書き込みをデバッガタ
スク103に要求する。タスクの起動処理207では、利用者
から起動対象のタスクのIDを受け取り、当該タスクの
起動をデバッガタスク103に要求する。
In the breakpoint setting cancellation processing 204, the task (or shared subroutine) for which the breakpoint was set in the breakpoint setting request processing 203
And the relative address of the breakpoint are received from the user, and the debugger task 103 is requested to cancel the setting of the breakpoint. Break release request processing 2
In 05, the ID of the task stopped at the breakpoint
Is received from the user, and the debugger task 103 is requested to resume execution of the task. Register contents read / write process 206
Then, the ID of the task stopped at the breakpoint
Then, the name of the register (variable) is received from the user, and the debugger task 103 is requested to read or write the register. In the task activation process 207, the ID of the task to be activated is received from the user, and the debugger task 103 is requested to activate the task.

【0020】なお、ブレークポイントの位置情報を、計
算機101が直接実行できる実行モジュールにおける相対
アドレスに制限すると、高級言語やアセンブラ言語で記
述されるプログラムをデバッグする利用者は、コンパイ
ル後の実行モジュールにおけるブレークポイントのアド
レスを求めなければならず、不便である。このため、デ
バッガコマンド102に、高級言語などのプログラムの任
意の命令行を実行可能モジュールにおけるアドレスに変
換する機能を備えてもよい。
If the breakpoint position information is limited to the relative address in the execution module that can be directly executed by the computer 101, a user who debugs a program written in a high-level language or an assembler language can execute the program in the compiled execution module. It is inconvenient because you have to find the address of the breakpoint. Therefore, the debugger command 102 may have a function of converting an arbitrary instruction line of a program such as a high-level language into an address in an executable module.

【0021】<ブレークポイントの設定処理>図3は、
図2におけるブレークポイント設定要求処理203の流れ
図である。
<Breakpoint Setting Processing> FIG.
3 is a flowchart of a breakpoint setting request process 203 in FIG.

【0022】この処理では、まず、入力待ち状態となっ
て、利用者から、ブレークポイントの設定対象のタスク
(共有サブルーチンを含む)のIDと、ブレークポイン
トの相対アドレスを受け取る(301)。さらに、ブレーク
ポイントを設定するタスクと並行して実行する必要のあ
るタスクのIDを受け取る(302)。以上により得たID
がデバッグ対象のタスクのIDとなる。次に、プロセス
の切替え制御のためにOS104により実行対象の各プロ
セスに割り当てられたID(プロセスID)の内、実行
中の本デバッガコマンド102に割り当てられたプロセス
IDを取り込む(303)。そして、処理301で得たタスクの
IDと相対アドレスに基づいて、ブレークポイントの絶
対アドレスを計算し(304)、計算した絶対アドレス、デ
バッグ対象のタスクのID、および本デバッガコマンド
102のプロセスIDを、ブレーク情報としてデバッガタ
スク103に送信して、デバッグ処理を要求する (305)。
In this process, first, the system waits for input and receives from the user the ID of the task (including the shared subroutine) for which the breakpoint is set and the relative address of the breakpoint (301). Further, the ID of the task that needs to be executed in parallel with the task for setting the breakpoint is received (302). ID obtained from the above
Is the ID of the task to be debugged. Next, of the IDs (process IDs) assigned to each process to be executed by the OS 104 for process switching control, the process ID assigned to the debugger command 102 being executed is fetched (303). Then, the absolute address of the breakpoint is calculated based on the task ID and the relative address obtained in processing 301 (304), the calculated absolute address, the task ID of the debug target, and the debugger command.
The process ID of 102 is transmitted to the debugger task 103 as break information to request debug processing (305).

【0023】ここで、デバッガコマンド102とデバッガ
タスク103間のデータ転送は、IPC(Inter Process C
ommunication:プロセス間通信)により行われる。IP
Cを用いることで、デバッガタスク103は、任意のタイ
ミングで複数起動されるデバッガコマンド102に対応で
きる。また、ネットワークにより接続された他の端末に
おいてデバッガコマンドが起動される場合には、そのデ
バッガコマンドからの処理要求を、ネットワークを介し
て受け取り処理することができる。
Here, the data transfer between the debugger command 102 and the debugger task 103 is performed by IPC (Inter Process C
ommunication: interprocess communication). IP
By using C, the debugger task 103 can deal with a plurality of debugger commands 102 activated at arbitrary timing. Further, when a debugger command is activated in another terminal connected via the network, a processing request from the debugger command can be received and processed via the network.

【0024】図4は、デバッガタスク103の処理の流れ
図である。
FIG. 4 is a flow chart of the processing of the debugger task 103.

【0025】デバッガタスク103は、デバッガコマンド1
02からのデバッグ処理の要求に常時対応できるように、
OS104の立ち上げ時に起動されて、ブレーク情報の受
信待ち状態となる(401)。デバッガコマンド102からブレ
ーク情報を受信すると、受信した情報に含まれるIDと
絶対アドレスにより定まるタスク上の1命令を、OS10
4にブレークの発生を認識させるトラップ命令に書き換
える(402)。次に、OS104にシステムコールを送ること
で、トラップ命令の書き換えが行われた位置にあった書
き換え前の命令と、上記受信した情報内の絶対アドレ
ス、プロセスID、およびデバッグ対象のタスクのID
を、ブレーク情報管理テーブル106に設定させる(403)。
そして、再びデバッガコマンド102からのブレーク情報
受信待ち状態となり(401)、他の利用者によって起動さ
れるデバッガコマンド102からの設定要求を受け付け
る。
The debugger task 103 is the debugger command 1
In order to be able to always respond to the debug processing request from 02,
It is activated when the OS 104 is started up, and enters a waiting state for receiving break information (401). When the break information is received from the debugger command 102, one instruction on the task determined by the ID and the absolute address included in the received information is sent to the OS 10
Rewrite the trap instruction in 4 to recognize the occurrence of a break (402). Next, by sending a system call to the OS 104, the instruction before rewriting at the position where the trap instruction was rewritten, the absolute address in the received information, the process ID, and the ID of the task to be debugged
Is set in the break information management table 106 (403).
Then, the state again waits for the break information to be received from the debugger command 102 (401), and the setting request from the debugger command 102 activated by another user is accepted.

【0026】図5に、ブレーク情報管理テーブル108の
構成を示す。ブレーク情報管理テーブル106は、上記絶
対アドレスの格納エリア501と、上記プロセスIDの格
納エリア502と、上記書き換え前の命令の格納エリア503
と、上記デバッグ対象のタスクのIDの格納エリア5041
〜504nとを有し、ブレークポイントの設定毎に、以上の
絶対アドレス、書き換え前の命令、デバッグ対象のタス
クのIDを、組で格納する。
FIG. 5 shows the configuration of the break information management table 108. The break information management table 106 includes a storage area 501 for the absolute address, a storage area 502 for the process ID, and a storage area 503 for the instruction before rewriting.
And the storage area 5041 for the ID of the task to be debugged
.About.504n, each time the breakpoint is set, the above absolute address, the instruction before rewriting, and the ID of the task to be debugged are stored as a set.

【0027】図6は、デバッガタスク103の処理403(図
4)によりOS104がブレーク情報管理テーブル108に対
して行う処理の流れ図である。OS104はデバッガタス
ク103からのシステムコールに応じて、まず、ブレーク
情報管理テーブル106内の空きエリアを検索する(601)。
そして、検索により得た空きの格納エリア501、502、50
3、5041〜504nにそれぞれ、指定された絶対アドレス、
プロセスID、書き換え前の命令、およびデバッグ対象
のタスクのIDを設定する(602〜605)。
FIG. 6 is a flow chart of processing performed by the OS 104 on the break information management table 108 by the processing 403 (FIG. 4) of the debugger task 103. In response to the system call from the debugger task 103, the OS 104 first searches for an empty area in the break information management table 106 (601).
Then, the empty storage areas 501, 502, 50 obtained by the search
3, 5041 to 504n respectively, the specified absolute address,
The process ID, the instruction before rewriting, and the ID of the task to be debugged are set (602 to 605).

【0028】<ブレーク発生時の報告処理>図7は、ブ
レークポイントとして設定されたトラップ命令の実行に
より割り込みが生じたときのOS104の処理の流れ図で
ある。
<Report Processing When Break Occurs> FIG. 7 is a flow chart of processing of the OS 104 when an interrupt occurs due to execution of a trap instruction set as a breakpoint.

【0029】OS104は、トラップ命令による割り込み
を受けると、当該トラップ命令のアドレス(絶対アドレ
ス)と、当該トラップ命令実行時に実行中であったタス
クのIDを検出し(701)、検出したアドレスと組でブレ
ーク情報管理テーブル106に格納されているタスクのI
Dに、検出したIDと一致するものがあるか調べる(70
2)。そして、一致するIDが存在しない場合には、デバ
ッグ対象のタスクの動作によって生じた割り込み(ブレ
ーク)ではないと判断して、停止しているタスクの実行
を再開する(704)。この処理は、ブレークポイントの設
定された共有サブルーチンが、デバッグ対象でないタス
クから呼び出された場合に、ブレークポイントでそのタ
スクの実行が停止することを防ぐために行う。
Upon receiving the interrupt by the trap instruction, the OS 104 detects the address (absolute address) of the trap instruction and the ID of the task being executed when the trap instruction is executed (701), and combines it with the detected address. Of the task stored in the break information management table 106 at
Check if there is a match with the detected ID in D (70
2). Then, when the matching ID does not exist, it is judged that the interrupt (break) is not caused by the operation of the task to be debugged, and the execution of the stopped task is restarted (704). This processing is performed in order to prevent the execution of the task at the breakpoint from being stopped when the shared subroutine in which the breakpoint is set is called from the task that is not the debug target.

【0030】一致するIDが存在する場合は、デバッグ
対象のタスクにおいて生じたブレークと判断して、一致
するIDと組でエリア5041〜504nに格納されている全て
のIDのタスクの実行を抑止する(703)。次に、一致し
たタスクのIDと、それと組で格納されている絶対アド
レスとプロセスIDを、ブレーク報告テーブル1107に
格納し(705)、ブレーク報告タスク105の待ち状態を解除
する(706)。
If there is a matching ID, it is determined that the break has occurred in the task to be debugged, and execution of the tasks of all the IDs stored in the areas 5041 to 504n in pairs with the matching ID is suppressed. (703). Next, the ID of the matching task, the absolute address and the process ID stored together with it are stored in the break report table 1107 (705), and the wait state of the break report task 105 is released (706).

【0031】ブレーク報告テーブル1107の構成を図8
に示す。ブレーク報告テーブル1107は、OS104とブレ
ーク報告タスク105間のデータ受け渡し用のテーブルで
あり、上記絶対アドレスの格納エリア801と、上記プロ
セスIDの格納エリア802と、上記タスクIDの格納エ
リア803とで構成される。
The structure of the break report table 1107 is shown in FIG.
Shown in The break report table 1107 is a table for data transfer between the OS 104 and the break report task 105, and is composed of an absolute address storage area 801, a process ID storage area 802, and a task ID storage area 803. To be done.

【0032】図9は、ブレーク報告タスク105の処理の
流れ図である。
FIG. 9 is a flowchart showing the processing of the break report task 105.

【0033】ブレーク報告タスク105は、デバッグ対象
のタスクの実行がブレークポイントにおいて停止した場
合に、当該ブレークポイントを設定したデバッガコマン
ド102にその停止を報告するものである。
The break report task 105 reports, when the execution of the task to be debugged stops at a breakpoint, to the debugger command 102 that has set the breakpoint.

【0034】ブレーク報告タスク105は、ブレークの発
生に常時対応できるように、OS104の立ち上げ時に起
動されて、OS104からの通知待ち状態となる(901)。O
S104からのブレーク発生の通知により待ち状態が解除
されると、ブレーク報告テーブル1107に格納されてい
る絶対アドレスとタスクのIDを読み出して、ブレーク
報告テーブル2108に格納する(902)。ブレーク報告テー
ブル2108は、ブレーク報告タスク105とデバッガコマン
ド102間のデータ受け渡しに用いられるもので、図10
に示す構成を有する。次に、ブレーク報告テーブル110
7に格納されているプロセスIDにより1つのデバッガ
コマンド102を特定し、特定したデバッガコマンド102に
ブレークの発生を通知する(903)。そして、再びイベン
ト待ち状態となる(901)。
The break report task 105 is activated at the time of booting the OS 104 and waits for a notification from the OS 104 so that it can always respond to the occurrence of a break (901). O
When the wait state is released by the notification of break occurrence from S104, the absolute address and task ID stored in the break report table 1107 are read and stored in the break report table 2108 (902). The break report table 2108 is used for data transfer between the break report task 105 and the debugger command 102.
The configuration shown in FIG. Next, break report table 110
One debugger command 102 is specified by the process ID stored in 7, and the specified debugger command 102 is notified of the occurrence of a break (903). Then, it again enters the event waiting state (901).

【0035】図11は、ブレーク発生の通知を受けた時
のデバッガコマンド102の処理の流れ図である。デバッ
ガコマンド102は、ブレーク発生の通知を受けると、ブ
レーク報告テーブル2108内のエリア1001,1002に格納
されているブレークポイントの絶対アドレスとタスクの
IDを読み出し(1101)、読み出した情報をブレークポイ
ント到達メッセージとして、本デバッガコマンド102を
起動した端末に表示させる(1102)。これにより、利用者
は自分の指定したブレークポイントにおいてブレークが
生じた旨を知ることができる。なお、この処理は、図2
の処理201で設定され、デバッグ処理種別の入力待ち状
態(202)において実施される。
FIG. 11 is a flow chart of the processing of the debugger command 102 when the notification of the break occurrence is received. When the debugger command 102 is notified of the break occurrence, it reads the absolute address of the breakpoint and the task ID stored in the areas 1001 and 1002 in the break report table 2108 (1101), and the read information reaches the breakpoint. As a message, this debugger command 102 is displayed on the activated terminal (1102). This allows the user to know that a break has occurred at the breakpoint specified by the user. In addition, this process is shown in FIG.
It is set in the process 201 of No. 201 and is executed in the input waiting state (202) of the debug process type.

【0036】<動作例>次に、利用者1と利用者2の2
人が個別にデバッグを行う場合の計算機101の動作例
を、図12を用いて説明する。なお、以下では利用者1
に係わるものには符号の末尾に(1)を付し、利用者2に
係わるものには(2)を付す。
<Operation Example> Next, two of user 1 and user 2
An operation example of the computer 101 when a person individually debugs will be described with reference to FIG. In the following, user 1
Those related to (1) are added to the end of the reference numerals, and those related to the user 2 are added (2).

【0037】図12において、利用者1は、デバッガコ
マンド102(1)を起動してブレークポイント設定要求処理
を指定する。このときデバッガコマンド102(1)にはプロ
セスID=P1が割り当てられる。そして、利用者1は
ブレークポイント設定要求処理において、ブレークポイ
ントの設定対象のタスクにID=T3のタスクC12013
を指定し、タスクC12013におけるブレークポイント120
3の相対アドレスを指定する。さらに、タスクC12013と
並行して動作させる必要のある、ID=T1,T2のタ
スクA12011とタスクB12012を指定する。これにより、
利用者1のデバッグ対象のタスク1201は、タスクA1201
1、タスクB12012、およびタスクC12013となる。次
に、デバッガコマンド102(1)は、自らのプロセスID=
P1を得た後、計算によりブレークポイントの絶対アド
レス=AD1を求め、求めた絶対アドレス=AD1と、
デバッグ対象のタスクID=T1,T2,T3と、自プ
ロセスID=P1をブレーク情報としてデバッガタスク
103に送信する。
In FIG. 12, the user 1 activates the debugger command 102 (1) to specify the breakpoint setting request process. At this time, the process ID = P1 is assigned to the debugger command 102 (1). Then, in the breakpoint setting request process, the user 1 selects the task C12013 with ID = T3 as the task for which the breakpoint is set.
And specify breakpoint 120 in task C12013.
Specify a relative address of 3. Further, a task A12011 and a task B12012 with ID = T1 and T2 that need to be operated in parallel with the task C12013 are designated. This allows
The task 1201 to be debugged by the user 1 is task A1201.
1, task B12012, and task C12013. Next, the debugger command 102 (1) has its own process ID =
After obtaining P1, the absolute address of the breakpoint = AD1 is calculated, and the calculated absolute address = AD1.
Debugger task with debug target task ID = T1, T2, T3 and own process ID = P1 as break information
Send to 103.

【0038】ブレーク情報待ち状態となっていたデバッ
ガタスク103は、デバッガコマンド102(1)からのブレー
ク情報を受信すると、絶対アドレス=AD1の命令をト
ラップ命令に書き換える。次に、ブレーク情報管理テー
ブル106への設定を指示するシステムコールをOS104へ
送り、設定情報として絶対アドレス=AD1、自プロセ
スID=P1、書き換え前の命令([add rD,rA,
rB]とする)、デバッグ対象のタスクのID=T1,
T2,T3を指定する。
When the debugger task 103 in the break information waiting state receives the break information from the debugger command 102 (1), it rewrites the instruction of absolute address = AD1 into a trap instruction. Next, a system call for instructing the setting in the break information management table 106 is sent to the OS 104, and absolute address = AD1, own process ID = P1, and an instruction before rewriting ([add rD, rA,
rB]), ID of task to be debugged = T1,
Specify T2 and T3.

【0039】OS104は、上記システムコールを受ける
と、ブレーク情報管理テーブル106の空きエリアを検索
し、ブレークポイントの絶対アドレスの格納エリア501
(1)にAD1を設定し、デバッガコマンドのプロセスI
Dの格納エリア502(1)にP1を設定し、トラップ命令書
き換え前の命令の格納エリア503(1)に命令[add r
D,rA,rB]を設定し、デバッグ対象のタスクIDの
格納エリア5041(1),5042(1),5043(1)にそれぞれT
1,T2,T3を設定する。
When the OS 104 receives the system call, it searches the free area of the break information management table 106 and stores the absolute address 501 of the break point address.
Set AD1 to (1) and process I of the debugger command
P1 is set in the storage area 502 (1) of D, and the instruction [add r is set in the storage area 503 (1) of the instruction before rewriting the trap instruction.
D, rA, rB] is set, and T is set in the storage areas 5041 (1), 5042 (1), 5043 (1) of the task ID to be debugged, respectively.
Set 1, T2, T3.

【0040】一方、利用者2はデバッガコマンド102(2)
を起動し(プロセスID=P2とする)、ブレークポイ
ント1204の設定対象として共有サブルーチン1205のID
=T6と、共有サブルーチン1205における相対アドレス
を指定し、さらに、共有サブルーチン1205を呼び出すタ
スクE12022と、タスクE12022と共に動作するタスクD
12021の各ID=T4,T5を指定する。この後、利用
者1で説明したのと同じ手順で処理が行われて、ブレー
ク情報管理テーブル106の格納エリア501(2)に絶対アド
レス=AD2、格納エリア502(2)にプロセスID=P
2、格納エリア503(2)に命令[Iha rD,d(rA)]、
そして、格納エリア5041(2),5042(2)にはT4,T5が
それぞれ設定される。
On the other hand, the user 2 uses the debugger command 102 (2)
Is started (process ID = P2), and the ID of the shared subroutine 1205 is set as the breakpoint 1204.
= T6, a relative address in the shared subroutine 1205 is designated, and further, a task E12022 that calls the shared subroutine 1205 and a task D that operates together with the task E12022
Each ID of 12021 = T4 and T5 is designated. After that, the processing is performed in the same procedure as described for the user 1, and the absolute address = AD2 in the storage area 501 (2) of the break information management table 106 and the process ID = P in the storage area 502 (2).
2. Instruction [IharD, d (rA)] in storage area 503 (2),
Then, T4 and T5 are set in the storage areas 5041 (2) and 5042 (2), respectively.

【0041】<タスクにおけるブレークの発生>デバッ
ガコマンド102(1)が設定したデバッグ対象のタスク群12
01は、タスクA12011、タスクB12012、およびタスクC
12013で構成される。マルチタスクのOS104は、タスク
群1201のタスクA12011が起動されると、タスクA1201
1、タスクB12012、タスクC12013の順にプロセッサの
処理を順次割り当て、タスクC12013の実行終了後にタ
スクB12012に処理を移し、タスクB12012の実行終了後
にはタスクA12011に処理を移して、タスク群1201の実
行を終了する。
<Break occurrence in task> Debug target task group 12 set by debugger command 102 (1)
01 is task A12011, task B12012, and task C
Composed of 12013. When the task A12011 of the task group 1201 is activated, the multi-task OS 104 has a task A1201.
1, the process of the processor is sequentially assigned in the order of task B12012, task C12013, the process is transferred to task B12012 after the completion of execution of task C12013, the process is transferred to task A12011 after the completion of execution of task B12012, and the execution of task group 1201 is executed. finish.

【0042】タスクC12013の実行中、利用者1が設定
したブレークポイント1203のトラップ命令が実行される
と、OS04に割り込みが生じる。この割り込みを受けた
OS04は、実行中のタスクのID=T3を検出し、ブレ
ーク情報管理テーブル106の絶対アドレス=AD1に対
応する格納エリアを調べことで、ID=T3と組で格納
されているID=T1,T2を検出して、検出したID
のタスクA12011、タスクB12012、タスクC12013の実
行を抑止する。そして、ブレーク報告テーブル1107の
格納エリア801に絶対アドレス=AD1、格納エリア802
にプロセスID=P1、格納エリア803にブレークの生
じたタスクのID=T3をそれぞれ設定した後、ブレー
ク報告タスク105の待ち状態を解除する。
When the trap instruction of the breakpoint 1203 set by the user 1 is executed during the execution of the task C12013, the OS04 is interrupted. Upon receipt of this interrupt, the OS04 detects the ID = T3 of the task being executed and checks the storage area corresponding to the absolute address = AD1 of the break information management table 106 to store the ID = T3 as a pair. ID = T1, T2 detected, detected ID
Execution of task A12011, task B12012, and task C12013 is suppressed. Then, in the storage area 801 of the break report table 1107, absolute address = AD1, storage area 802
After setting process ID = P1 and ID = T3 of the task in which the break has occurred in the storage area 803, the break report task 105 is released from the waiting state.

【0043】OS104から待ち状態を解除されたブレー
ク報告タスク105は、ブレーク報告テーブル1107から絶
対アドレス=AD1と、実行タスクID=T3を読み出
して、ブレーク報告テーブル2108に格納する。そし
て、ブレーク報告テーブル1107からプロセスID=P
1を読み出して、P1により特定されるデバッガコマン
ド102(1)にブレークの発生を報告する。
The break report task 105 released from the waiting state from the OS 104 reads out the absolute address = AD1 and the execution task ID = T3 from the break report table 1107 and stores them in the break report table 2108. Then, from the break report table 1107, the process ID = P
1 is read and the occurrence of a break is reported to the debugger command 102 (1) specified by P1.

【0044】報告を受けたデバッガコマンド102(1)は、
ブレーク報告テーブル2108に格納された絶対アドレス
=AD1,タスクID=T3を読み出し、読み出した結
果をブレークポイント到達メッセージとして端末に表示
する。利用者1はこれにより、自分が設定したブレーク
ポイント1203にてブレークが発生した旨を知る。
The debugger command 102 (1) that received the report is
The absolute address = AD1 and the task ID = T3 stored in the break report table 2108 are read, and the read result is displayed on the terminal as a break point arrival message. The user 1 thereby knows that a break has occurred at the break point 1203 set by himself.

【0045】<共有サブルーチンにおけるブレークの発
生>一方、デバッガコマンド102(2)が設定したデバッグ
対象のタスク群1202は、タスクD12021と、タスクE120
22で構成される。OS104は、タスクD12021が起動され
ると、その実行途中でタスクE12022に処理を移す。実
行の途中で、タスクE12022は共有サブルーチンF1205
を呼び出す。タスクE12022実行終了後、タスクD12021
に処理が移り、タスク群1202の実行が終了する。
<Break Occurrence in Shared Subroutine> On the other hand, the debug target task group 1202 set by the debugger command 102 (2) includes task D12021 and task E120.
Composed of 22. When the task D12021 is activated, the OS 104 shifts the processing to the task E12022 during its execution. During the execution, task E12022 is a shared subroutine F1205.
Call. After execution of task E12022, task D12021
The processing moves to, and the execution of the task group 1202 ends.

【0046】共有サブルーチンF1205の実行中、利用者
2が設定したブレークポイント1204のトラップ命令が実
行されると、OS04に割り込みが生じる。割り込みを受
けたOS04は、実行中のタスクのID=T4を検出し、
ブレークの生じた絶対アドレス=AD2に対応するブレ
ーク情報管理テーブル106の格納エリアを調べること
で、ID=T4と組で格納されているID=T5を検出
し、検出したIDのタスクD12021とタスクE12022の実
行を抑止する。そして、ブレーク報告テーブル1107
に、絶対アドレス=AD2、プロセスID=P2、ブレ
ークの生じたタスクのID=T5を格納した後、ブレー
ク報告タスク105の待ち状態を解除する。
When the trap instruction of the breakpoint 1204 set by the user 2 is executed during the execution of the shared subroutine F1205, the OS04 is interrupted. The OS04 that received the interrupt detects the ID = T4 of the task being executed,
By checking the storage area of the break information management table 106 corresponding to the absolute address where the break has occurred = AD2, the ID = T5 stored in combination with ID = T4 is detected, and the task D12021 and task E12022 of the detected ID are detected. Suppress execution of. And break report table 1107
After the absolute address = AD2, the process ID = P2, and the ID of the task in which the break has occurred = T5 are stored, the break report task 105 is released from the wait state.

【0047】共有サブルーチンF1205がタスクE12022
以外のタスク(例えば、タスクA12011)から呼び出さ
れた状態で、絶対アドレス=AD2でブレークが発生し
た場合、検出されるID(=T1)に一致するIDは、
絶対アドレス=AD2に対応するブレーク情報管理テー
ブル106の格納エリアには存在しない。このため、OS0
4は、ブレーク発生時に実行していたタスク(タスクA1
2011)について設定されたブレークポイントではないと
判断して、ブレークポイント1204の書き換え前の命令
[Iha rD,d(rA)]を実行した後、トラップ命令
の次から共有サブルーチン1205の実行を再開する。
The shared subroutine F1205 is task E12022.
When a break occurs at absolute address = AD2 while being called from a task other than (for example, task A12011), the ID that matches the detected ID (= T1) is:
It does not exist in the storage area of the break information management table 106 corresponding to absolute address = AD2. Therefore, OS0
4 is the task that was executing when the break occurred (task A1
2011), it is judged that the breakpoint is not set and the instruction [IharD, d (rA)] before rewriting the breakpoint 1204 is executed, and then the execution of the shared subroutine 1205 is restarted from the next of the trap instruction. .

【0048】OS104からブレーク発生通知を受けたブ
レーク報告タスク105は、前述と同様の処理を行い、プ
ロセスID=P2のデバッガコマンド102(2)に対しブレ
ークの発生を報告する。そして、デバッガコマンド102
(2)により、ブレークポイント到達メッセージが端末に
表示され、利用者2はこれにより、自分が設定したブレ
ークポイントにてブレークが発生した旨を知る。
The break report task 105, which has received the break occurrence notification from the OS 104, performs the same processing as described above and reports the occurrence of the break to the debugger command 102 (2) with the process ID = P2. And the debugger command 102
By (2), a breakpoint arrival message is displayed on the terminal, and the user 2 knows that a break has occurred at the breakpoint set by him.

【0049】以上で説明したように、本実施形態の計算
機101では、複数の利用者の各々が任意のタスク群を指
定し、指定したタスク群のデバッグを個別に行うことが
できる。このため、ある利用者が設定したブレークポイ
ントが、他の利用者のデバッグに影響することはない。
As described above, in the computer 101 of this embodiment, each of a plurality of users can designate an arbitrary task group and individually debug the designated task group. Therefore, the breakpoint set by one user does not affect the debugging of other users.

【0050】さらに、ネットワークで接続された他の端
末からのデバッグ指示や、当該他の端末で起動されるデ
バッガコマンドからの指示にも対応できる。
Further, it is possible to deal with a debug instruction from another terminal connected to the network and an instruction from a debugger command activated in the other terminal.

【0051】[0051]

【発明の効果】本発明によれば、マルチタスクのOSの
管理下で、複数の利用者が個別に任意のタスク群のデバ
ッグを行うことを可能とするデバッグ支援装置を提供す
ることができる。
According to the present invention, it is possible to provide a debug support device which enables a plurality of users to individually debug an arbitrary task group under the control of a multitasking OS.

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

【図1】 本発明の実施形態に係る計算機のソフトウェ
ア構成。
FIG. 1 is a software configuration of a computer according to an embodiment of the present invention.

【図2】 デバッガコマンドの処理の流れ図。FIG. 2 is a flowchart of processing of a debugger command.

【図3】 図2のブレークポイント設定要求処理の流れ
図。
FIG. 3 is a flowchart of the breakpoint setting request process of FIG.

【図4】 デバッガタスクの処理の流れ図。FIG. 4 is a flowchart of processing of a debugger task.

【図5】 ブレーク情報格納テーブルの構成図。FIG. 5 is a configuration diagram of a break information storage table.

【図6】 ブレーク情報管理テーブル設定時のOSの処
理の流れ図。
FIG. 6 is a flowchart of processing of the OS when setting the break information management table.

【図7】 ブレーク割り込み受信時のOSの処理の流れ
図。
FIG. 7 is a flowchart of processing of the OS when a break interrupt is received.

【図8】 ブレーク報告テーブル1の構成図。FIG. 8 is a configuration diagram of a break report table 1.

【図9】 ブレーク報告タスクの処理の流れ図。FIG. 9 is a flowchart of processing of a break report task.

【図10】 ブレーク報告テーブル2の構成図。FIG. 10 is a configuration diagram of a break report table 2.

【図11】 ブレーク発生通知受信時のデバッガコマン
ドの処理の流れ図。
FIG. 11 is a flowchart of processing of a debugger command when a break occurrence notification is received.

【図12】 デバッグ時の計算機の動作を説明するため
の図。
FIG. 12 is a diagram for explaining the operation of the computer during debugging.

【図13】 図12におけるブレーク情報格納テーブル
の設定値を示す図。
13 is a diagram showing set values of a break information storage table in FIG.

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

101・・・計算機、102・・・デバッガコマンド、103・・・デバッ
ガタスク、104・・・OS、105・・・ブレーク報告タスク、106・
・・ブレーク情報管理テーブル、107・・・ブレーク報告テー
ブル1、108・・・ブレーク報告テーブル2、109,110,111・
・・ユーザタスク、112・・・共有サブルーチン。
101 ... Computer, 102 ... Debugger command, 103 ... Debugger task, 104 ... OS, 105 ... Break report task, 106 ...
..Break information management table, 107 ... Break report table 1, 108 ... Break report table 2, 109,110,111
..User task, 112 ... Shared subroutine.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 中橋 晃文 茨城県日立市大みか町五丁目2番1号 日 立プロセスコンピュータエンジニアリング 株式会社内 (72)発明者 鈴木 弘 茨城県日立市大みか町五丁目2番1号 日 立プロセスコンピュータエンジニアリング 株式会社内 (72)発明者 小林 淳一 茨城県日立市大みか町五丁目2番1号 日 立プロセスコンピュータエンジニアリング 株式会社内 (72)発明者 桑原 啓二 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 笹木 亘 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 西山 修治 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 益子 直也 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Akifumi Nakahashi 5-2-1 Omika-cho, Hitachi-shi, Ibaraki Hitachi Process Computer Engineering Co., Ltd. (72) Inventor Hiroshi Suzuki 5-chome, Omika-cho, Hitachi-shi, Ibaraki 2-1 No. 1 Hitsuritsu Process Computer Engineering Co., Ltd. (72) Inventor Junichi Kobayashi 5-2-1, Omika-cho, Hitachi City, Ibaraki Prefecture Hiratsuru Process Computer Engineering Co., Ltd. (72) Keiji Kuwahara Hitachi City, Ibaraki Prefecture 5-21 Omika-cho, Hitachi Ltd. Omika Factory (72) Inventor Wataru Sasaki 5-2-1 Omika-cho, Hitachi City, Ibaraki Hitachi Ltd. Omika Factory (72) Inventor Shuji Nishiyama 5-2-1 Omika-cho, Hitachi City, Ibaraki Prefecture Company Hitachi Omika in the factory (72) inventor Naoya Mashiko Hitachi City, Ibaraki Prefecture Omika-cho, Chome No. 2 No. 1 Co., Ltd. Hitachi, Omika in the factory

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】プロセッサと、複数のタスクを並行して実
行するように前記プロセッサを制御するマルチタスクの
OSを備え、前記タスクの実行を、当該タスクに割り当
てた識別情報により管理するデバッグ支援装置であっ
て、 複数の利用者の各々から、デバッグ対象の複数のタスク
の各々に割り当てられた識別情報と、前記デバッグ対象
のタスクの内の少なくとも1つのタスクにおけるブレー
クポイントの位置情報とを受け付けるユーザインタフェ
ース手段と、 当該受け付けたブレークポイントの位置情報に応じて、
前記デバッグ対象のタスクにブレークポイントを指定す
る命令を設定する手段と、 当該ブレークポイントを指定する命令が実行された場合
に、当該命令が設定された実行中のタスクの識別情報を
検出し、検出した識別情報のタスクと、当該識別情報に
一致する識別情報と一緒に受け付けた識別情報のタスク
の実行を停止する手段を備えることを特徴とするデバッ
グ支援装置。
1. A debug support device comprising a processor and a multi-task OS for controlling the processor to execute a plurality of tasks in parallel, and managing the execution of the task by the identification information assigned to the task. A user who receives, from each of a plurality of users, identification information assigned to each of a plurality of tasks to be debugged and position information of a breakpoint in at least one task of the tasks to be debugged. Depending on the interface means and the position information of the received breakpoint,
A means for setting an instruction that specifies a breakpoint in the task to be debugged, and, when the instruction that specifies the breakpoint is executed, detects the identification information of the executing task in which the instruction is set and detects it. A debugging support apparatus comprising: a task of the identified information and a means for stopping the execution of the task of the identified information received together with the identification information that matches the identified information.
【請求項2】請求項1記載のデバッグ支援装置であっ
て、 前記ブレークポイントを指定する命令は、前記複数のタ
スクより共通に呼び出されるサブルーチンにも設定さ
れ、 前記ユーザインタフェース手段は、当該サブルーチンに
おけるブレークポイントの位置情報も入力し、 前記ブレークポイントを指定する命令が実行された場合
に、当該実行された命令の位置情報と、実行中のタスク
の識別情報を検出し、当該検出したタスクの識別情報
が、前記検出した位置情報に一致する位置情報と一緒に
受け付けた識別情報に含まれない場合には、前記命令の
実行に応じてなされるタスクの実行停止を解除する手段
を備えることを特徴とするデバッグ支援装置。
2. The debug support apparatus according to claim 1, wherein the instruction for designating the breakpoint is also set in a subroutine commonly called by the plurality of tasks, and the user interface unit is set in the subroutine. If the position information of the breakpoint is also input, and the instruction specifying the breakpoint is executed, the position information of the executed instruction and the identification information of the task being executed are detected, and the detected task is identified. When the information is not included in the identification information received together with the position information that matches the detected position information, the information processing apparatus further comprises means for canceling the execution suspension of the task performed according to the execution of the instruction. Debugging support device.
【請求項3】請求項1または2記載のデバッグ支援装置
は、 前記複数の利用者の各々が入力を行う複数の計算機を含
む、ネットワークにより接続された複数の計算機により
構成されることを特徴とするデバッグ支援装置。
3. The debug support apparatus according to claim 1 or 2, wherein the debug support apparatus is composed of a plurality of computers connected by a network, including a plurality of computers for inputting by each of the plurality of users. Debugging support device.
【請求項4】請求項1、2または3記載のデバッグ支援
装置であって、 前記ユーザインタフェース手段は、前記複数の利用者の
各々に対して個別に設けられると共に、利用者にタスク
の実行停止を通知する手段を備え、 前記ブレークポイントを指定する命令が実行された場合
に、当該ブレークポイントの位置情報を受け付けたユー
ザインタフェース手段を特定し、特定したユーザインタ
フェース手段に、利用者への実行停止の通知を行わせる
手段を備えることを特徴とするデバッグ支援装置。
4. The debug support apparatus according to claim 1, 2 or 3, wherein the user interface means is provided individually for each of the plurality of users, and the user stops executing a task. Is provided, and when the instruction designating the breakpoint is executed, the user interface means that has received the position information of the breakpoint is specified, and the specified user interface means stops execution to the user. A debugging support device comprising means for making a notification of
JP8066412A 1996-03-22 1996-03-22 Debug support device Pending JPH09259002A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8066412A JPH09259002A (en) 1996-03-22 1996-03-22 Debug support device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8066412A JPH09259002A (en) 1996-03-22 1996-03-22 Debug support device

Publications (1)

Publication Number Publication Date
JPH09259002A true JPH09259002A (en) 1997-10-03

Family

ID=13315066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8066412A Pending JPH09259002A (en) 1996-03-22 1996-03-22 Debug support device

Country Status (1)

Country Link
JP (1) JPH09259002A (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051871A (en) * 1999-08-09 2001-02-23 Ricoh Co Ltd Remote debugging device
JP2001134466A (en) * 1999-11-08 2001-05-18 Fujitsu Ltd Debug device and debug method and program recording medium
JP2003162426A (en) * 2001-11-28 2003-06-06 Hitachi Ltd Computer system with cooperative debug circuit for multiple cpu and debug method
JP2005078309A (en) * 2003-08-29 2005-03-24 Nec Corp Data processing system
JP2005250821A (en) * 2004-03-04 2005-09-15 Renesas Technology Corp Emulator and microprocessor
WO2006070510A1 (en) * 2004-12-28 2006-07-06 Sony Computer Entertainment Inc. Program debug device, program debug method, and information storage medium
JP2006268298A (en) * 2005-03-23 2006-10-05 Nec Corp Debugging method and debugging device
JP2007179567A (en) * 2007-02-26 2007-07-12 Nec Corp Data processing system
WO2009113273A1 (en) * 2008-03-14 2009-09-17 パナソニック株式会社 Program execution device and method for controlling the same
JP2012079130A (en) * 2010-10-01 2012-04-19 Fujitsu Ltd Debug support program, debug support device and debug support method
JP2016528650A (en) * 2013-08-22 2016-09-15 オラクル・インターナショナル・コーポレイション Cloud-based target debugging

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051871A (en) * 1999-08-09 2001-02-23 Ricoh Co Ltd Remote debugging device
JP2001134466A (en) * 1999-11-08 2001-05-18 Fujitsu Ltd Debug device and debug method and program recording medium
JP2003162426A (en) * 2001-11-28 2003-06-06 Hitachi Ltd Computer system with cooperative debug circuit for multiple cpu and debug method
JP2005078309A (en) * 2003-08-29 2005-03-24 Nec Corp Data processing system
US7647485B2 (en) 2003-08-29 2010-01-12 Nec Corporation Data processing system for debugging utilizing halts in a parallel device
JP2005250821A (en) * 2004-03-04 2005-09-15 Renesas Technology Corp Emulator and microprocessor
JP2006185360A (en) * 2004-12-28 2006-07-13 Sony Computer Entertainment Inc Program debugging device, program debugging method, and program
WO2006070510A1 (en) * 2004-12-28 2006-07-06 Sony Computer Entertainment Inc. Program debug device, program debug method, and information storage medium
JP2006268298A (en) * 2005-03-23 2006-10-05 Nec Corp Debugging method and debugging device
JP2007179567A (en) * 2007-02-26 2007-07-12 Nec Corp Data processing system
WO2009113273A1 (en) * 2008-03-14 2009-09-17 パナソニック株式会社 Program execution device and method for controlling the same
JP5269067B2 (en) * 2008-03-14 2013-08-21 パナソニック株式会社 Program execution device and control method thereof
US8701089B2 (en) 2008-03-14 2014-04-15 Panasonic Corporation Program execution device and method for controlling the same
JP2012079130A (en) * 2010-10-01 2012-04-19 Fujitsu Ltd Debug support program, debug support device and debug support method
JP2016528650A (en) * 2013-08-22 2016-09-15 オラクル・インターナショナル・コーポレイション Cloud-based target debugging

Similar Documents

Publication Publication Date Title
US5319645A (en) Method for debugging and testing the correctness of programs
US5764985A (en) Notification mechanism for coordinating software extensions
EP1162536A1 (en) Multiple operating system control method
JPH09259002A (en) Debug support device
KR100346667B1 (en) Method and apparatus for providing for notification of task termination
JP2877095B2 (en) Multiprocessor system
JP2677249B2 (en) Program debugging method and debugger for multiprocessor system
JPH0588933A (en) Parallel processing system with debugging function
JP3096760B2 (en) Common data reference setting device and reference setting method
JPH07306800A (en) Debugging system
JP3075359B2 (en) Program debugging start processing method
JPS63177231A (en) Debug system for parallel program
JP2000181748A (en) Debug system for multi-memory space program and its debug method
JP3449812B2 (en) Control electronics
JPH02139630A (en) Online task exchange device
CN117707931A (en) Method and device for debugging source code of operating system crossing kernel mode and user mode
JP2583169B2 (en) Operation program switching method for communication processing device
JPH01286598A (en) Exchange program debugging system
JPH07182261A (en) Information processor
JP2591818B2 (en) Auxiliary function selection control method
JPH04296943A (en) Debugging system for function type language
JP2904243B2 (en) Exclusive control method in network management system
JPH06161817A (en) Thread on-line debugging device
JPH07134656A (en) Interruption control method and multi-task system for realizing the same
JPS638947A (en) Program debug supporting system