JPS61210439A - タスクのトレ−ス制御方式 - Google Patents
タスクのトレ−ス制御方式Info
- Publication number
- JPS61210439A JPS61210439A JP60050503A JP5050385A JPS61210439A JP S61210439 A JPS61210439 A JP S61210439A JP 60050503 A JP60050503 A JP 60050503A JP 5050385 A JP5050385 A JP 5050385A JP S61210439 A JPS61210439 A JP S61210439A
- Authority
- JP
- Japan
- Prior art keywords
- task
- instruction
- inequality
- trace
- command
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明はオンラインタスクのトレースに好適なタスクの
トレース制御方式に関する。
トレース制御方式に関する。
セカンダリO8で作成したタスクをオンラインタスクと
して搭載して、タスクのデバッグを行うさいtc、命令
トレースが必要きなった。
して搭載して、タスクのデバッグを行うさいtc、命令
トレースが必要きなった。
Mon1tor 8ystem ) ユーザーズマニ晶
アルにおけるデバッグコマンドの操作、ブレークポイン
トの設定で記載のようにブレークアドレスに不等合・令
をうめこむようになっていた。しかしトレースについて
は配慮されていな力1った。
アルにおけるデバッグコマンドの操作、ブレークポイン
トの設定で記載のようにブレークアドレスに不等合・令
をうめこむようになっていた。しかしトレースについて
は配慮されていな力1った。
従来截のハードウェアによるトレース割り込みでは、マ
ルチタスクのトレースを行うと指定したタスク以外のタ
スクに対してもトレースを行ってしまう。
ルチタスクのトレースを行うと指定したタスク以外のタ
スクに対してもトレースを行ってしまう。
本発明の目的は、指定したタスク以外のタスクに影響を
あたえずに指定したタスクのみトレースを行う。トレー
ス制御方法を提供することにある。
あたえずに指定したタスクのみトレースを行う。トレー
ス制御方法を提供することにある。
そこでデバッグ・タスクを設定し、このタスクで不轟命
令のうめこみ操作を行い不当命令割込みによるターゲッ
トタスクの停止と再開を行ないトレース処理を実現させ
る。
令のうめこみ操作を行い不当命令割込みによるターゲッ
トタスクの停止と再開を行ないトレース処理を実現させ
る。
以下本発明を実施例をもちいて説明するが、具体的な計
算機のモデルとしてMC68000マイクロコンビ為−
夕を使う。まずオンラインをぬきにした命令のトレース
について簡単にふれる。
算機のモデルとしてMC68000マイクロコンビ為−
夕を使う。まずオンラインをぬきにした命令のトレース
について簡単にふれる。
計算機システムにおいては、プログラムのデバ、グ時な
どに、−命令ずつ命令を実行させる機能が要求される。
どに、−命令ずつ命令を実行させる機能が要求される。
MC68000を例にとると第1図のようなSr(ステ
ータスレジスタ)l−1を持ち第15ビ、トに°l”が
セットされた状態にして命令を実行すると、pc(プロ
グラム・カウンタ)l−2がさすl命令だけが実行され
、ただちに”トレース割込み”と呼ぶ例外割込みが発生
する (「68000マイクロコンビ一一タ」 :丸善
1983年 参照)0この割込みの発生により、8rl
−1のトレース・ビットはリセットされトレース割込み
に対応した処理が行なわれる。
ータスレジスタ)l−1を持ち第15ビ、トに°l”が
セットされた状態にして命令を実行すると、pc(プロ
グラム・カウンタ)l−2がさすl命令だけが実行され
、ただちに”トレース割込み”と呼ぶ例外割込みが発生
する (「68000マイクロコンビ一一タ」 :丸善
1983年 参照)0この割込みの発生により、8rl
−1のトレース・ビットはリセットされトレース割込み
に対応した処理が行なわれる。
このとき、スタ、りと呼ぶ領域1−3にPCI−2と5
rl−1が退避される。このときのPCI−2は次に実
行する命令のアドレスである。トレース割込みに対応し
た処理が終了し次の命令のトレースを再開したいときに
は、スタックl−3中の5rl−1のトレースビットに
°l”をセットしてr t e (return fr
om exception )命令を実行すると、8r
l−1−1とPct−2−1がハードウェアレジスタの
PCI−2と5rl−1にセットされ、再びl命令が実
行されトレース割込みが発生する。
rl−1が退避される。このときのPCI−2は次に実
行する命令のアドレスである。トレース割込みに対応し
た処理が終了し次の命令のトレースを再開したいときに
は、スタックl−3中の5rl−1のトレースビットに
°l”をセットしてr t e (return fr
om exception )命令を実行すると、8r
l−1−1とPct−2−1がハードウェアレジスタの
PCI−2と5rl−1にセットされ、再びl命令が実
行されトレース割込みが発生する。
上記のようなトレース割込み処理ではオンライン処理中
にはターゲットタスク以外にも影響を与えることになる
。
にはターゲットタスク以外にも影響を与えることになる
。
そこで、これを解決すべき本発明を考案した。
第2図は、システム全体の構成を示したものである。ト
レースの処理を行なうためにデバ、ガタしたプログラム
をオンライン・タスクとして搭載する2−50次にトレ
ースを開始するためにデバッガタスク2−3を起動しコ
ンソール2−4からブレークコマンド名とターゲット・
タスク番号とトレースを行う先頭アドレスの入力(以降
ブレークコマンドと呼ぶ)を持つ。デバッガタスク2−
1がブレークコマンドを受つけると、コマンドを解析し
指定アドレスに不等命令を設定してデバ。
レースの処理を行なうためにデバ、ガタしたプログラム
をオンライン・タスクとして搭載する2−50次にトレ
ースを開始するためにデバッガタスク2−3を起動しコ
ンソール2−4からブレークコマンド名とターゲット・
タスク番号とトレースを行う先頭アドレスの入力(以降
ブレークコマンドと呼ぶ)を持つ。デバッガタスク2−
1がブレークコマンドを受つけると、コマンドを解析し
指定アドレスに不等命令を設定してデバ。
ガタスフ2−3は不等命令割込みを待つ。この際に指定
タスク番号(トレースを行うタスクの番号)、不等命令
をうめこんだアドレスと不等命令をうめこむ前のアドレ
スの内容をレジスタに記憶して置(6−1,6−20ト
レース処理のフローを第5図に示す。不等命令割り込み
が発生するとターゲートタスクはブレークスト、プして
、デバッガ−タスク2−3はコマンド人力まち状態にす
る。次にトレースを行なわせるコマンドをコンソール2
−4から入力してトレース処理を行なう。トレース処理
は、まず不等命令割り込みが発生したアドレスの内容に
ブレーク処理でレジスタS aveadd6−1に格納
した命令Code 6−2を回復する4−io6−2の
レジスタより回復した命令より次に実行するアドレスを
求めてアドレスの内容に不等命令をうめこむ4−3−2
゜次にブレークストップ中のタスクをResumeして
不等命令割込みを待つ4−40次にトレース処理を行う
デバッガタスクについてふれる。第3図はデバッガタス
クの処理フローである。第3図にもとずいて処理を説明
する。トレース処理を行う前処理としてターゲ、ト・タ
スクの認意のアドレスにスト、プさせるために、コンソ
ール2−4からブレークコマンドを入力するとデバッガ
タスクはブレークコマンドの解析を行う3−10.ブレ
ークコマンドならばブレーク処理3−11(詳細フロー
は第5図)を行う。
タスク番号(トレースを行うタスクの番号)、不等命令
をうめこんだアドレスと不等命令をうめこむ前のアドレ
スの内容をレジスタに記憶して置(6−1,6−20ト
レース処理のフローを第5図に示す。不等命令割り込み
が発生するとターゲートタスクはブレークスト、プして
、デバッガ−タスク2−3はコマンド人力まち状態にす
る。次にトレースを行なわせるコマンドをコンソール2
−4から入力してトレース処理を行なう。トレース処理
は、まず不等命令割り込みが発生したアドレスの内容に
ブレーク処理でレジスタS aveadd6−1に格納
した命令Code 6−2を回復する4−io6−2の
レジスタより回復した命令より次に実行するアドレスを
求めてアドレスの内容に不等命令をうめこむ4−3−2
゜次にブレークストップ中のタスクをResumeして
不等命令割込みを待つ4−40次にトレース処理を行う
デバッガタスクについてふれる。第3図はデバッガタス
クの処理フローである。第3図にもとずいて処理を説明
する。トレース処理を行う前処理としてターゲ、ト・タ
スクの認意のアドレスにスト、プさせるために、コンソ
ール2−4からブレークコマンドを入力するとデバッガ
タスクはブレークコマンドの解析を行う3−10.ブレ
ークコマンドならばブレーク処理3−11(詳細フロー
は第5図)を行う。
不等命令割込みが発生して、カーネル1−1から不等命
令割込みメツセージ3−12が入ると。
令割込みメツセージ3−12が入ると。
ブレーク割りごみのチェ、り3−1を行い、そうであれ
ばブレーク表示3−3を行う0さらζこブレーク割込み
時のレジスタ情報(a0〜a、、d、〜d、)を格納す
るこれは次の命令解析のとき用いる。この時ターゲット
タスクはカーネールl−1によりタスクをストップ状態
にされている。さらにストップしたタスクの番号をレジ
スタ6−3に格納する。次にコンソール2−4からトレ
ース・コマンド(コマンド名とタスク番号)を入力する
とデバッガタスク2−4により解析3−6され、そうで
あれば入力コマンドで指定したタスク番号とスト、プ状
態のタスク番号を格納したレジスタtaskno 6−
3値と比較一致していればトレースモードに入ったこと
を示すためにトレースフラグを0N3−7にする〇一致
しなければトレース処理を行わずにぬける。
ばブレーク表示3−3を行う0さらζこブレーク割込み
時のレジスタ情報(a0〜a、、d、〜d、)を格納す
るこれは次の命令解析のとき用いる。この時ターゲット
タスクはカーネールl−1によりタスクをストップ状態
にされている。さらにストップしたタスクの番号をレジ
スタ6−3に格納する。次にコンソール2−4からトレ
ース・コマンド(コマンド名とタスク番号)を入力する
とデバッガタスク2−4により解析3−6され、そうで
あれば入力コマンドで指定したタスク番号とスト、プ状
態のタスク番号を格納したレジスタtaskno 6−
3値と比較一致していればトレースモードに入ったこと
を示すためにトレースフラグを0N3−7にする〇一致
しなければトレース処理を行わずにぬける。
以上のごとく本発明ではマルチタスクシステムにおいて
指定したタスクのトレースをそれ以外のタスクに影響を
与えることなく実行できる。
指定したタスクのトレースをそれ以外のタスクに影響を
与えることなく実行できる。
第1図は68000のレジスタを説明する。
第2図は本発明のシステム構成を説明する。
第3図は1本発明のデバッガタスクの処理フロ−0第4
図は本発明のトレースの処理フロー。 第5図は本発明のブレークの処理フロー。 第6図は本発明で使用するレジスタ。 符号の説明 code :不等命令をうめこむ前のアドレスの内容
を格納するレジスタ。 5aveadd:不等命令をうめこんだアドレスの値を
格納するレジスタ。 taskno : )レースを行うターゲットタスクの
番号をセーブするレジスタ。 Sr(スデーZスレジスタノ 戸C(アρ7゛クム ηり)り) 第 2図
図は本発明のトレースの処理フロー。 第5図は本発明のブレークの処理フロー。 第6図は本発明で使用するレジスタ。 符号の説明 code :不等命令をうめこむ前のアドレスの内容
を格納するレジスタ。 5aveadd:不等命令をうめこんだアドレスの値を
格納するレジスタ。 taskno : )レースを行うターゲットタスクの
番号をセーブするレジスタ。 Sr(スデーZスレジスタノ 戸C(アρ7゛クム ηり)り) 第 2図
Claims (1)
- 【特許請求の範囲】 1、ユーザが作成したプログラムをマルチ・タスクオペ
レーティングシステム下のタスクとして実行させる際に
該タスクが正しく動作するかをチェックするためにタス
ク対応のトレースを行うシステムで不等命令のうめ込み
による不等命令割込みにより指定タスクを一時停止させ
次に実行すべき命令に不等命令を再びうめ込むことによ
り、一時停止中の該タスクを1命令実行させて再び不等
命令割込で該タスクを一時停止させることの繰返しによ
りトレースを実行することを特徴とするタスクのトレー
ス制御方式。 2、上記方式においてトレース対象タスクの番号を記憶
するレジスタおよび不等命令をうめ込んだアドレスを記
憶するレジスタ、不等命令をうめ込む前の命令コードを
記憶するレジスタを設け、これらのレジスタを用いて上
記タスクのトレースを実行することを特徴とする前記第
1項記載のタスクのトレース制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60050503A JPS61210439A (ja) | 1985-03-15 | 1985-03-15 | タスクのトレ−ス制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60050503A JPS61210439A (ja) | 1985-03-15 | 1985-03-15 | タスクのトレ−ス制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS61210439A true JPS61210439A (ja) | 1986-09-18 |
Family
ID=12860755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60050503A Pending JPS61210439A (ja) | 1985-03-15 | 1985-03-15 | タスクのトレ−ス制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61210439A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63257040A (ja) * | 1987-04-14 | 1988-10-24 | Hitachi Ltd | デバツグ方式 |
US7240334B1 (en) | 2000-06-29 | 2007-07-03 | International Business Machines Corporation | Methods, systems, and computer program products for deferred computer program tracing |
-
1985
- 1985-03-15 JP JP60050503A patent/JPS61210439A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63257040A (ja) * | 1987-04-14 | 1988-10-24 | Hitachi Ltd | デバツグ方式 |
US7240334B1 (en) | 2000-06-29 | 2007-07-03 | International Business Machines Corporation | Methods, systems, and computer program products for deferred computer program tracing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7992042B2 (en) | Debug support device, and program for directing computer to perform debugging method | |
US6308318B2 (en) | Method and apparatus for handling asynchronous exceptions in a dynamic translation system | |
US8136097B2 (en) | Thread debugging device, thread debugging method and information storage medium | |
JP3571976B2 (ja) | デバッグ装置及び方法並びにプログラム記録媒体 | |
US6385718B1 (en) | Computer system and method for executing interrupt instructions in operating modes | |
JPH01173247A (ja) | スレーブ制御装置 | |
JPS63279328A (ja) | 仮想計算機システムのゲスト実行制御方式 | |
JPS6250934A (ja) | 処理装置の割込制御方式 | |
JPS61210439A (ja) | タスクのトレ−ス制御方式 | |
WO2012069830A1 (en) | A method and system for identifying the end of a task and for notifying a hardware scheduler thereof | |
JPH0581070A (ja) | プログラマブルコントローラ、およびプログラマブルコントローラにおけるユーザプログラム実行方法 | |
JPH064417A (ja) | メモリのバッテリバックアップ制御方式 | |
JPS6116338A (ja) | 仮想計算機システムにおける割込み処理方式 | |
JPH01274253A (ja) | ソフトウェアブレーク方式 | |
JPH0465729A (ja) | シンボリック・デバッガ | |
JP2001147830A (ja) | リアルタイムosの状態変更方法 | |
JPH02231634A (ja) | ソフトウェア互換性維持方法 | |
JPH0239332A (ja) | ソフトウェアブレーク方式 | |
JPS6249454A (ja) | マイクロプログラムのデバツグ支援回路 | |
JP2007213396A (ja) | デバッグシステム、オペレーションシステム、デバッグ方法、プログラム | |
JPS61211746A (ja) | プログラム実行制御方式 | |
JPH03175539A (ja) | デバッグ用マイクロプロセッサ | |
JPS61255439A (ja) | 割込み制御回路 | |
JPH06250878A (ja) | 命令のシングルステップ実行方式 | |
JPH06324911A (ja) | プログラム実行の中断方法 |