JPH11212833A - ウォッチドッグタイマによるプログラム異常箇所特定方法 - Google Patents

ウォッチドッグタイマによるプログラム異常箇所特定方法

Info

Publication number
JPH11212833A
JPH11212833A JP10015390A JP1539098A JPH11212833A JP H11212833 A JPH11212833 A JP H11212833A JP 10015390 A JP10015390 A JP 10015390A JP 1539098 A JP1539098 A JP 1539098A JP H11212833 A JPH11212833 A JP H11212833A
Authority
JP
Japan
Prior art keywords
task
watchdog timer
execution
state
time
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
JP10015390A
Other languages
English (en)
Inventor
Hideji Masuda
秀二 増田
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.)
Fujitsu Telecom Networks Ltd
Original Assignee
Fujitsu Telecom Networks 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 Fujitsu Telecom Networks Ltd filed Critical Fujitsu Telecom Networks Ltd
Priority to JP10015390A priority Critical patent/JPH11212833A/ja
Publication of JPH11212833A publication Critical patent/JPH11212833A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 マルチタスキング処理を行なうシステムにお
いて、タスクが実行権を放棄しないことを検出してプロ
グラムの異常個所を特定する方法に関し、実行権を放棄
しない不具合タスクを容易に特定する。 【解決手段】 ウォッチドックタイマ1は第1の所定の
時間を計数するとウォッチドッグタイマタイムアウト予
告割り込みを発生し、タスク実行管理を行うオペレーテ
ィングシステム部8は、該予告割り込みが発生した時点
で、待ち状態のすべてのタスクに対し、実行可能状態へ
遷移するのを禁止し、実行可能状態のタスクに対して
は、実行権の放棄のみを受け付けて実行可能状態タスク
キュー2から切り離し、前記ウォッチドッグタイマ1
は、前記予告割り込み発生後、第2の所定時間を計数す
るとウォッチドッグタイマタイムアウト割込みを発生
し、前記オペレーティングシステム部8は、前記ウォッ
チドッグタイマタイムアウト割込発生時に、実行状態に
あるタスクの実行状況を退避する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マルチタスキング
処理を行なうシステムにおいて、タスクが実行権を放棄
しないことを検出してプログラムの異常個所を特定する
方法に関する。
【0002】通信制御装置等のマイクロコンピュータを
使ったシステムにおいては、通常、組み込み型のオペレ
ーティングシステム(OS)を使用したソフトウェアに
より通信制御等の処理が行われている。このようなマイ
クロコンピュータを使ったシステムでは、汎用MPUが
使用され、又、リアルタイム処理及び高速応答が要求さ
れることから、イべントドリブン型のマルチタスキング
処理が可能な組み込み型のオペレーティングシステム
(OS)が多く採用されている。
【0003】このようなマルチタスキング処理が行われ
るシステムにおいて、何らかのプログラム上の不具合に
より実行状態のタスクが実行権を放棄しなくなるプログ
ラム異常が少なからず発生し、このようなプログラム異
常が発生すると、その異常個所を特定することが極めて
困難であるため、異常個所の解析に多くの時間と労力を
要し、改修作業の遅延を引き起こしている。
【0004】
【従来の技術】従来、タスクが実行権を放棄しなくなる
不具合に対しては、ウォッチドッグタイマ(WDT)を
使用して異常の発生を検知し、その時点のタスク実行状
況を退避してその原因を調査する方法が一般的に行われ
ている。図4及び図5は従来のウォッチドッグタイマに
よるプログラム異常検出方法の説明図である。
【0005】図4及び図5において、1はウォッチドッ
グタイマ(WDT)、2は実行可能状態タスクキュー、
3はウォッチドッグタイマ(WDT)リセットタスク、
4は待ち状態タスク群、5−1,5−2,5−3,5−
4,5−5,6,7−1,7−2,7−3はタスク、8
はオペレーティングシステム(OS)部である。
【0006】ウォッチドッグタイマ1は、ある一定時間
以内にリセットが行われないと、ウォッチドッグタイマ
タイムアウト割り込みを発生させるハード機構であり、
システムにおける処理がループ状態等の異常状態に陥
り、処理が所定時間内に終了しない異常プログラムを検
出するための監視タイマの一種である。
【0007】ウォッチドッグタイマリセットタスク3
は、実行権を獲得するたびにウォッチドッグタイマ1の
リセットを実行する。このタスクはシステム内で最下位
の実行優先度であり、他の全てのタスクが実行権を一時
的にでも放棄しない限り実行状態にならない。
【0008】タスク5−1,5−2,5−3,5−4,
5−5はタスク6より実行優先度の高い一般のタスクで
あり、又タスク7−1,7−2,7−3はタスク6より
実行優先度の低い一般のタスクであるとする。そして、
タスク6は或る条件により実行権を放棄しなくなる不具
合を持ったタスクであるとする。なお、図中( )内の
数字はタスク実行優先度の順位を示し、数字が小さいほ
ど優先順位が高いことを表している。
【0009】又オペレーティングシステム部8は、キュ
ー接続処理を含むマルチタスキング動作の実行管理を行
い、ウォッチドッグタイマ1からのウォッチドッグタイ
マタイムアウト割り込み発生によりプログラム異常を検
出すると、ログ収集等の処理を行い、タスク実行状況等
を退避する。
【0010】待ち状態タスク群4のタスク5−1,5−
2,5−3,5−4,5−5,6,7−1,7−2,7
−3は、イベント発生待ち、メッセージ待ち、タイマ待
ち等、実行可能条件が成立するのを待っている状態のタ
スクを示し、実行可能条件が成立して実行可能状態に遷
移すると、オペレーティングシステム部8の制御により
実行可能状態タスクキュー2に接続される。
【0011】図5は実行可能状態となったタスクが実行
可能状態タスクキュー2に、実行優先度に従って順番に
接続された状態を示している。実行可能状態タスクキュ
ー2は、実行可能状態になったタスクを実行優先度順に
接続したものである。したがって、実行優先度の一番高
いタスクが先頭となって実行権を獲得し、オペレーティ
ングシステム部8におけるタスク実行管理により順次実
行される。
【0012】待ち状態のタスク群4から実行可能条件成
立により、実行可能状態タスクキュー2に移動したタス
クが、現在実行中の実行可能状態タスクキュー2の先頭
のタスクより実行優先度が高い場合にはこの移動したタ
スクが実行可能状態タスクキュー2の先頭となり、実行
権を獲得する。逆に、実行中のタスクが実行権を放棄す
ると、実行可能状態タスクキュー2から外され、待ち状
態のタスクとなる。
【0013】図5のタスク5−1,5−2,5−3はタ
スク6より実行優先度が高いので、タスク6が実行権を
放棄しなくても、順次実行権を獲得し実行される。とこ
ろが、タスク6が何らかの不具合発生により実行権を放
棄せず実行可能状態タスクキュー2の先頭に接続された
ままの状態が長く続くと、タスク7−1,7−2及びウ
ォッチドッグタイマリセットタスク3が実行権を獲得す
ることができず、ウォッチドッグタイマリセットタスク
3の実行によって行うウォッチドッグタイマ1のリセッ
トが行われないこととなる。
【0014】このようにウォッチドッグタイマ1のリセ
ットが行われないと、ウォッチドッグタイマ1はタイム
アウトとなり、オペレーティングシステム部8に対し
て、ウォッチドッグタイマタイムアウト割込みを発生
し、プログラム異常を知らせる。
【0015】
【発明が解決しようとする課題】オペレーティングシス
テム部は、ウォッチドッグタイマタイムアウト割込みに
より、プログラム異常を検知し、現在実行状態にあった
タスク実行状況を退避する。
【0016】ところが、いま、実行権を放棄しない不具
合タスク6が実行可能状態タスクキュー2の先頭にあり
実行中のとき、ウォッチドッグタイマタイムアウト割込
みが発生する直前に不具合タスク6より実行優先度の高
いタスク、例えば5−1,5−2,5−3が待ち状態か
ら実行可能状態に遷移したとすると、実行可能状態タス
クキュー2は図5に示す状態となり、この状態でウォッ
チドッグタイマタイムアウト割込みが発生すると、退避
されるタスク実行状況はタスク5−1のものとなる。
【0017】すなわち、ウォッチドッグタイマタイムア
ウト割込発生時に退避されるタスクは、必ずしも実行権
を放棄しない不具合のタスクになるとは限らず、そのタ
スクより実行優先度の高いタスクが、ウォッチドッグタ
イマタイムアウト割込み発生直前に実行可能状態タスク
キュー2の先頭位置に接続されると、その実行優先度の
高い正常なタスクが退避されることとなり、退避したタ
スクから不具合タスクを特定することはできないため、
従来は、実行可能状態タスクキュー2に接続されたすべ
てのタスク(但し、ウォッチドッグタイマリセットタス
ク3を除く。)について調査し、不具合の原因を解明し
なければならず、その解明は多くの労力を要するもので
あった。
【0018】本発明は、実行権を放棄しない不具合タス
クを容易に特定し、その不具合タスクの解析の迅速化を
図ることを目的とする。
【0019】
【課題を解決するための手段】本発明のウォッチドッグ
タイマによるプログラム異常箇所特定方法は、一定の時
間を計数するウォッチドックタイマを有し、該ウォッチ
ドッグタイマのタイムアウト割込により、プログラム異
常箇所を特定する方法において、前記ウォッチドックタ
イマは第1の所定の時間を計数するとウォッチドッグタ
イマタイムアウト予告割り込みを発生し、タスク実行管
理を行うオペレーティングシステム部は、ウォッチドッ
グタイマタイムアウト予告割り込みが発生した時点で、
待ち状態のすべてのタスクに対し、実行可能状態へ遷移
するのを禁止し、実行可能状態のタスクに対しては、実
行権の放棄のみを受け付けて実行可能状態タスクキュー
から切り離し、前記ウォッチドッグタイマは、前記ウォ
ッチドッグタイマタイムアウト予告割り込み発生後、第
2の所定時間を計数するとウォッチドッグタイマタイム
アウト割込みを発生し、前記オペレーティングシステム
部は、前記ウォッチドッグタイマタイムアウト割込発生
時に、実行状態にあるタスクの実行状況を退避する過程
を含むものである。
【0020】
【発明の実施の形態】図1は本発明の実施の形態のウォ
ッチドッグタイマによるプログラム異常箇所特定方法の
説明図である。図1において、1はウォッチドッグタイ
マ(WDT)、2は実行可能状態タスクキュー、5−
1,5−2,5−3,6,7−1,7−2は実行可能状
態タスクキュー2に接続されたタスク、3は実行可能状
態タスクキュー2の最後部に接続され、ウォッチドッグ
タイマ1をリセットするウォッチドッグタイマリセット
タスク、4は待ち状態のタスク群、5−4,5−5,7
−3は待ち状態のタスク、8はオペレーティングシステ
ム(OS)部である。なお、( )内の数字はタスク実
行優先度の順位を示し、数字が小さいほど優先順位が高
いことを表している。
【0021】図2は本発明の実施の形態のウォッチドッ
グタイマのタイムアウト予告通知のタイムチャートであ
る。図2において、Aはタスク3によりウォッチドッグ
タイマがリセットされた時点、Bはタスク6で不具合を
生じ、タスク実行権を放棄しなくなった時点、Cは時点
Aから時間T1が経過し、ウォッチドッグタイマタイム
アウト予告割込みを発生した時点、Dは時点Cから時間
T2が経過し、ウォッチドッグタイマタイムアウト割込
みを発生した時点を示す。
【0022】前述したように、タスク6がBの時点で不
具合を発生し、実行権を放棄しなくなると、タスク7−
1,7−2,3は実行権を獲得することができない。そ
して、ウォッチドッグタイマリセットタスク3が実行権
を獲得することができなければ、ウォッチドッグタイマ
1をリセットすることができず、Aの時点から時間T1
経過後のCの時点で、ウォッチドッグタイマ1はオペレ
ーティングシステム部8に対して、ウォッチドッグタイ
マタイムアウト予告割込みを発生する。
【0023】オペレーティングシステム部8は、ウォッ
チドッグタイマタイムアウト予告割込みが発生すると、
それ以降、実行権を放棄するタスクについてはこれまで
通り受付て待ち状態タスクに戻すが、待ち状態のタスク
が実行可能状態になっても、実行可能状態タスクキュー
2への遷移を禁止し、実行可能状態タスクキュー2への
接続を行わない。
【0024】オペレーティングシステム部8の実行可能
状態タスクキューへの接続禁止処理により、図2の時間
T2の間には、タスク6より実行優先度の高い正常なタ
スクはすべて実行権を放棄して実行可能状態タスクキュ
ー2から切り離されるので、ウォッチドッグタイマタイ
ムアウト予告割込みの時点Cまでの時間T1及びウォッ
チドッグタイマタイムアウト予告割込みの時点Cからウ
ォッチドッグタイマタイムアウト割込みDまでの時間T
2を適切に選べば、ウォッチドッグタイマタイムアウト
時には実行権を放棄しないタスクが実行可能状態キュー
2の先頭(実行状態)に残ることになる。
【0025】この状態でウォッチドッグタイマタイムア
ウト割込みが発生するので、この時点で実行状態にある
タスクの実行状況を退避すれば異常発生個所を容易に特
定することができることとなる。
【0026】図3は本発明の実施の形態のウォッチドッ
グタイマタイムアウト割込み発生時の実行可能状態タス
クキューの説明図である。図3において6,7−1,7
−2は実行可能状態タスクキュー2に接続されたタス
ク、5−1,5−2,5−3,5−4,5−5,7−3
は待ち状態のタスクであり、他は図1と同様であるので
重複した説明は省略する。
【0027】前述したとおり、ウォッチドッグタイマタ
イムアウト割込みが発生した時点Dにおいて、実行権を
放棄しない不具合のタスク6が実行可能状態タスクキュ
ー2の先頭となっているので、ウォッチドッグタイマタ
イムアウト割込みが発生時にはタスク6の実行状況情報
が退避されることとなり、不具合のタスクを容易に特定
することができる。
【0028】
【発明の効果】以上説明したように、マルチタスキング
処理を行うシステムにおいて屡々発生する、実行権を放
棄しない不具合タスクに対して、ウォッチドッグタイマ
タイムアウト予告割込みを発生し、該予告割込み発生後
は、タスクを実行可能状態タスクキューへ接続すること
を禁止し、実行権の放棄のみを受け付ける処理を行い、
ウォッチドッグタイマタイムアウト割込み発生時に、タ
スク実行状況の情報を退避することにより、不具合タス
ク容易に特定することができ、不具合タスクの解析、改
修を迅速に行うことができる。
【図面の簡単な説明】
【図1】本発明の実施の形態のウォッチドッグタイマに
よるプログラム異常箇所特定方法の説明図である。
【図2】本発明の実施の形態のウォッチドッグタイマの
タイムアウト予告通知のタイムチャートである。
【図3】本発明の実施の形態のウォッチドッグタイマタ
イムアウト割込み発生時の実行可能状態タスクキューの
説明図である。
【図4】従来のウォッチドッグタイマによるプログラム
異常検出方法の説明図である。
【図5】従来のウォッチドッグタイマによるプログラム
異常検出方法の説明図である。
【符号の説明】
1 ウォッチドッグタイマ(WDT) 5−1,5−2,5−3,6,7−1,7−2 実行可
能状態タスクキュー2に接続されたタスク 3 実行可能状態タスクキュー2の最後部に接続され、
ウォッチドッグタイマをリセットするウォッチドッグタ
イマリセットタスク 4 待ち状態のタスク群 5−4,5−5,7−3 待ち状態のタスク 8 オペレーティングシステム(OS)部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 一定の時間を計数するウォッチドックタ
    イマを有し、該ウォッチドッグタイマのタイムアウト割
    込により、プログラム異常箇所を特定する方法におい
    て、 前記ウォッチドックタイマは第1の所定の時間を計数す
    るとウォッチドッグタイマタイムアウト予告割り込みを
    発生し、 タスク実行管理を行うオペレーティングシステム部は、
    前記ウォッチドッグタイマタイムアウト予告割り込みが
    発生した時点で、待ち状態のすべてのタスクに対し、実
    行可能状態へ遷移するのを禁止し、実行可能状態のタス
    クに対しては、実行権の放棄のみを受け付けて実行可能
    状態タスクキューから切り離し、 前記ウォッチドッグタイマは、前記ウォッチドッグタイ
    マタイムアウト予告割り込み発生後、第2の所定時間を
    計数するとウォッチドッグタイマタイムアウト割込みを
    発生し、 前記オペレーティングシステム部は、前記ウォッチドッ
    グタイマタイムアウト割込発生時に、実行状態にあるタ
    スクの実行状況を退避することを特徴とするウォッチド
    ッグタイマによるプログラム異常箇所特定方法。
JP10015390A 1998-01-28 1998-01-28 ウォッチドッグタイマによるプログラム異常箇所特定方法 Pending JPH11212833A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10015390A JPH11212833A (ja) 1998-01-28 1998-01-28 ウォッチドッグタイマによるプログラム異常箇所特定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10015390A JPH11212833A (ja) 1998-01-28 1998-01-28 ウォッチドッグタイマによるプログラム異常箇所特定方法

Publications (1)

Publication Number Publication Date
JPH11212833A true JPH11212833A (ja) 1999-08-06

Family

ID=11887423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10015390A Pending JPH11212833A (ja) 1998-01-28 1998-01-28 ウォッチドッグタイマによるプログラム異常箇所特定方法

Country Status (1)

Country Link
JP (1) JPH11212833A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011177390A (ja) * 2010-03-02 2011-09-15 Sophia Co Ltd 遊技機

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011177390A (ja) * 2010-03-02 2011-09-15 Sophia Co Ltd 遊技機

Similar Documents

Publication Publication Date Title
US20070180322A1 (en) Debug support device, and program for directing computer to perform debugging method
CN112256507B (zh) 芯片故障诊断方法、装置、可读存储介质及电子设备
WO2019214010A1 (zh) 一种监控设备故障的方法和装置
JPH02294739A (ja) 障害検出方式
JP3859564B2 (ja) イベント通知タスク制御処理方式及び方法並びにプログラム
JPS62286131A (ja) 情報処理装置の自動自己診断方式
JPH0334037A (ja) システム異常の検出処理方式
JP2006185365A (ja) 半導体装置およびデバッグ方法
JPS6072039A (ja) マルチタスクプログラムの正常動作監視方法
JPS6155748A (ja) 電子計算機システム
JP2746184B2 (ja) 障害ロギングシステム
JPH06149762A (ja) 計算機システムの競合動作試験方式
JP2786985B2 (ja) 実行中プログラムの監視方式
JP2008217566A (ja) ソフトウエアのデッドロック検出方式
JP2007034864A (ja) 入出力装置の診断方法
CN120523563A (zh) 超时任务的检测方法、超时原因的确定方法、控制器、电子设备、车辆、计算机存储介质及程序产品
JPH04195437A (ja) プログラム暴走監視装置
JPS60171544A (ja) 計算機システム異常自己診断装置
CN114356636A (zh) 一种防止cpu调试失控的方法及电路
JPS6111855A (ja) デ−タ処理装置の機能診断方式
JPS58195915A (ja) チヤネル装置のエラ−処理方式
JPS59139457A (ja) デ−タ処理装置の診断方法
CN118245256A (zh) 一种基于应用多线程喂狗的方法
JPH0644201A (ja) 共有メモリを用いたコンピュータシステムの監視装置
JPH0991170A (ja) 障害検出装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080327

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20090327

LAPS Cancellation because of no payment of annual fees