JP2001154872A - ソフトウェア開発支援装置、ソフトウェア開発支援方法、および、そのプログラムを記録した記録媒体 - Google Patents

ソフトウェア開発支援装置、ソフトウェア開発支援方法、および、そのプログラムを記録した記録媒体

Info

Publication number
JP2001154872A
JP2001154872A JP33461099A JP33461099A JP2001154872A JP 2001154872 A JP2001154872 A JP 2001154872A JP 33461099 A JP33461099 A JP 33461099A JP 33461099 A JP33461099 A JP 33461099A JP 2001154872 A JP2001154872 A JP 2001154872A
Authority
JP
Japan
Prior art keywords
access
task
execution
multitask
user application
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
JP33461099A
Other languages
English (en)
Other versions
JP3323169B2 (ja
Inventor
Sunao Yamamoto
直 山本
Izumi Tanaka
泉 田中
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.)
NEC IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems Co 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 NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP33461099A priority Critical patent/JP3323169B2/ja
Publication of JP2001154872A publication Critical patent/JP2001154872A/ja
Application granted granted Critical
Publication of JP3323169B2 publication Critical patent/JP3323169B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】マルチタスクOSでセマフォにより制御される
共有資源に対する不正アクセスを検出し、デバッグ作業
の負担を軽減する。 【解決手段】ユーザアプリケ−ション1の実行中に、メ
モリアクセス命令の実行を監視して、マルチタスクOS
2の各共有資源の指定情報などを格納した共有資源情報
を参照して共有資源へのアクセスを検出し、さらに、O
S状態テーブルのアクセスタスクIDとセマフォ獲得タ
スクIDとを比較して不正アクセスを検出する不正アク
セス検出部31を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はソフトウェア開発支
援装置に関し、特に、マルチタスクOS上で実行される
ユーザアプリケーションのデバッグ作業を支援するソフ
トウェア開発支援装置に関する。
【0002】
【従来の技術】マルチタスクOS上でユーザアプリケー
ションが実行されるユーザシステムにより、より大きな
ユーザアプリケーションが容易に開発されるようにな
り、この大きなユーザアプリケーションのデバッグ作業
の負担を軽減するためのソフトウェア開発支援装置が提
案されている。
【0003】例えば、図6は、特開平11−45193
号公報に開示されている、従来のソフトウェア開発支援
装置3の構成を示すブロック図であり、ソフトウェア開
発支援装置3の構成と共に、マルチタスクOS2上でユ
ーザアプリケ−ション1が実行されるユーザシステムを
示す。このユーザシステム内のマルチタスクOS2は、
ソフトウェア開発支援装置3と関連する関連手段として
タスク実行スケジューリング部4,OS内部イベント発
生部5,タスク実行制御部6を備え、ユーザアプリケ−
ション1でオブジェクトとして定義されたタスクの実行
スケジューリングを行い、この実行スケジューリングお
よび外部要求に基づき、タスクに対する実行開始,実行
停止などの実行制御を行う。
【0004】ここで、タスク実行スケジューリング部4
は、ユーザアプリケーション1からのシステムコールや
外部機器などからの割込みなどを受けて実行優先度を考
慮してタスクの実行スケジューリングを行い、このスケ
ジューリング過程で発生するタスクの状態遷移やセマフ
ォの状態変更などのOS内部状態の変化は、OS内部状
態記憶部7に逐次記憶され、OS内部イベント発生部5
は、タスク実行スケジューリング部4発行のOS内部イ
ベントを外部アプリケーションから読み出すためのイン
タフェースであり、タスク実行制御部6は、タスク実行
スケジューリング部4および外部アプリケーションから
の要求に基づき、タスクに対して実行開始,実行停止な
どの実行制御を行う。
【0005】図6に示された従来のソフトウェア開発支
援装置3は、一般的なコンピュータシステムで構成さ
れ、記録媒体に記録されたソフトウェア開発支援用プロ
グラムの実行によるソフトウェア処理手段として、ブレ
ークパターン入力部8,ブレークパターン生成部12,
OS内部状態読取部13,イベント読取部14,ブレー
ク状態検出部15,OS制御部17,トレース情報出力
部18,ブレーク情報出力部20を備え、マルチタスク
OS2のOS内部状態をOS内部イベントごとに読み取
ってOS状態テーブルに格納し、コマンド入力によりO
S状態テーブルを参照してマルチタスクOS2を制御
し、マルチタスクOS2上で実行されるユーザアプリケ
−ション1のデバッグ作業を支援する。
【0006】ブレークパターン入力部8は、記憶部に記
憶されているアプリケーション情報を参照し、ユーザ
に、記憶部に記憶されているブレークパターンライブラ
リ、記憶部に記憶されているブレークパターン情報の作
成・追加・修正・削除などの編集機能やそのためのユー
ザインタフェースである。
【0007】ブレークパターン生成部12は、記憶部に
それぞれ記憶されているブレークパターンライブラリと
ブレークパターン情報とから、ブレーク状態検出部15
に渡すためのブレークパターンを生成する。
【0008】OS内部状態読取部13は、マルチタスク
OS2からOS内部状態をOS内部イベントごとに読み
取り、ユーザアプリケーションの実行開始を要求する前
に、ユーザアプリケーション1のブレーク状態が検出さ
れると、ソフトウエア開発支援装置3内の内部記憶であ
るOS状態テーブルの初期値として書き込む。また、ソ
フトウエア開発支援装置3内部のOS状態テーブルへの
OS内部状態の書き込みが完了すると、OS制御部17
を介して、ユーザアプリケーション1の実行開始を要求
する。
【0009】イベント読取部14は、OS制御部17に
よって、ユーザアプリケーション1の実行が再開される
と、マルチタスクOS2内のOS内部イベント発生部5
から、OS内部イベントの取得を開始し、取得したOS
内部イベントをブレーク状態検出部15に転送するほ
か、イベント履歴情報として記憶部に格納する。
【0010】ブレーク状態検出部15は、イベント読取
部14から伝えられたOS内部イベントの情報に基づい
て、OS状態テーブルの内容を更新する。これによっ
て、OS状態テーブルには、マルチタスクOS2内のO
S内部状態と同じ情報が保持される。また、OS状態テ
ーブルの内容の更新を行う際に、ユーザによりユーザア
プリケーション実行前に設定されているブレークパター
ンの照合を行う。その際、ブレーク状態検出部15は、
イベント読取部14から伝えられたイベントに基づい
て、現在設定されている全てのブレークパターンの状態
を遷移させる。
【0011】OS制御部17は、OS内部状態読取部1
3やブレーク状態検出部15からの要求によりマルチタ
スクOS2を制御し、マルチタスクOS2のタスク実行
制御部6を介して、ユーザアプリケーション1の全て、
または一部のタスクについて、実行開始,一時停止など
の実行制御を行う。
【0012】トレース情報出力部18は、現在、イベン
ト読取部14からブレーク状態検出部15に伝えられて
いるOS内部イベントを図形的表記または文字表記にて
ユーザに逐次示す。
【0013】ブレーク情報出力部20は、ブレーク状態
検出部15でブレーク状態が検出されたとき、検出のト
リガーとなったブレークパターン,プログラム中の発生
箇所,OS状態テーブルの内容などの情報を出力する。
【0014】次に、この従来のソフトウエア開発支援装
置の動作を説明する。
【0015】予め、ブレークパターン入力部8からマル
チタスクOS2上で実行されるユーザアプリケーション
1におけるタスクの禁止動作の条件が入力されると、そ
れに基づき、ブレークパターン生成部12ではタスクの
状態遷移に基づくブレークパターンを生成する。
【0016】まず、OS内部状態読取部13は、ユーザ
アプリケーションの実行開始を要求する前に、ソフトウ
エア開発支援装置3内の内部記憶であるOS状態テーブ
ルの初期値として書き込み、ソフトウエア開発支援装置
3内部のOS状態テーブルへのOS内部状態の書き込み
が完了すると、OS制御部17を介して、ユーザアプリ
ケーション1の実行開始を要求する。
【0017】このユーザアプリケーション1の実行開始
後に、イベント読取部14は、ユーザアプリケーション
1実行中に発生したタスクの状態を遷移させるイベント
をマルチタスクOS2から読み出してブレーク状態検出
部15に通知し、ブレーク状態検出部15は、その通知
されたイベントに基づきOS状態テーブルの内容を更新
するとともに、その通知されたイベントとブレークパタ
ーン生成部12で生成されたブレークパターンとに基づ
きユーザアプリケーション1ののタスクのブレーク状態
を検出する。ブレーク状態を検出すると、OS制御部1
7を介してユーザアプリケーション1の実行の中断をマ
ルチタスクOS2に要求し、そのときのOS内部状態テ
ーブル16の内容を出力する。
【0018】なお、ユーザアプリケーション1の実行を
再開する際には、再び、OS内部状態読取部13がマル
チタスクOSの内部状態を読み取って、OS内部状態テ
ーブル16の初期値として記録する。
【0019】図7は、図1のユーザアプリケーション1
の構成例を示す説明図である。ユーザアプリケーション
1が、オブジェクトとして定義されたタスクA,B,C
およびセマフォSで構成される場合について、より具体
的に、簡単に動作説明する。
【0020】例えば、ユーザアプリケーションの動作と
して「タスクCは、セマフォSを使用しない」とう条件
がある場合に、「タスクCがセマフォSを獲得する」と
いう禁止動作を入力し、「タスクCがシステムコールwa
i_sem(#3)を発行したらブレークする」という条件を設
定し、マルチタスクOS2がシステムコールwai_sem(#
3)を処理した時に、OS内部イベントの発生がソフトウ
エア開発支援装置に知らされ、このシステムコールを発
行したタスクがタスクCであり、禁止動作が行われたと
して、ユーザアプリケーションの実行停止を要求する。
すなわち、タスクCが使用しないはずのセマフォSを獲
得するシステムコールを発行したことを検出し、ユーザ
アプリケーションの不具合を検出できる。このように、
この従来のソフトウエア開発支援装置は、ユーザアプリ
ケーションの実行中断(ブレーク)ポイント設定および
誤動作ポイント検出、さらに、誤動作検出時のOS内部
状態の参照が容易に行え、デバッグ作業の負担が軽減で
きる。
【0021】
【発明が解決しようとする課題】しかし、この従来のソ
フトウエア開発支援装置には、マルチタスクOSでセマ
フォにより共有資源へのアクセス権を排他制御で行って
いる場合、セマフォを獲得していないタスク、すなわ
ち、共有資源へのアクセス権を持たないタスクが、共有
資源に直接アクセスしても禁止動作として検出すること
ができない問題点があった。その理由は、タスクの禁止
動作を検出する方法が、タスクが発行したシステムコー
ルによるOS内部イベントの発生を検出することでブレ
ークするかどうかを判定しているため、システムコール
の発行を伴わない禁止動作の検出をすることができない
ためである。従って、本発明の目的は、マルチタスクO
Sでセマフォにより制御される共有資源へのアクセス権
を持たないタスクによる不正アクセスを検出し、デバッ
グ作業の負担を軽減することにある。
【0022】
【課題を解決するための手段】そのため、本発明は、タ
スクの実行スケジューリングおよび外部要求に基づき前
記タスクの実行制御を行うマルチタスクOSのOS内部
状態をOS内部イベントごとに読み取ってOS状態テー
ブルに格納し、コマンド入力により前記OS状態テーブ
ルを参照して前記マルチタスクOSを制御し、前記マル
チタスクOS上で実行されるユーザアプリケ−ションの
デバッグ作業を支援するソフトウェア開発支援装置にお
いて、前記コマンド入力により、前記ユーザアプリケ−
ションの実行開始の要求を前記マルチタスクOSに出力
し、前記ユーザアプリケ−ションの実行中に、前記マル
チタスクOSでセマフォにより制御される共有資源への
アクセスを検出し、前記OS状態テーブルの参照によ
り、前記共有資源に対してアクセス権無しでアクセスす
る不正アクセスを検出し、前記ユーザアプリケ−ション
の実行停止の要求を前記マルチタスクOSに出力し、前
記不正アクセスを行ったタスク,共有資源,セマフォな
どの情報を出力している。
【0023】また、前記ユーザアプリケ−ションの実行
中に、メモリアクセス命令の実行を監視して、前記共有
資源をそれぞれ指定する共有資源情報を参照して前記共
有資源へのアクセスを検出し、さらに、前記OS状態テ
ーブルのアクセスタスクIDとセマフォ獲得タスクID
とを比較して前記不正アクセスを検出する不正アクセス
検出部を備えている。
【0024】または、本発明は、タスクの実行スケジュ
ーリングおよび外部要求に基づき前記タスクの実行制御
を行うマルチタスクOSのOS内部状態をOS内部イベ
ントごとに読み取ってOS状態テーブルに格納し、コマ
ンド入力により前記OS状態テーブルを参照して前記マ
ルチタスクOSを制御し、前記マルチタスクOS上で実
行されるユーザアプリケ−ションのデバッグ作業を支援
するソフトウェア開発支援方法において、前記コマンド
入力により、前記ユーザアプリケ−ションの実行開始の
要求を前記マルチタスクOSに出力し、前記ユーザアプ
リケ−ションの実行中に、前記マルチタスクOSでセマ
フォにより制御される共有資源へのアクセスを検出し、
前記OS状態テーブルの参照により、前記共有資源に対
してアクセス権無しでアクセスする不正アクセスを検出
し、前記ユーザアプリケ−ションの実行停止の要求を前
記マルチタスクOSに出力し、前記不正アクセスを行っ
たタスク,共有資源,セマフォなどの情報を出力してい
る。
【0025】また、前記ユーザアプリケ−ションの実行
中に、メモリアクセス命令の実行を監視して、前記共有
資源をそれぞれ指定する共有資源情報を参照して前記共
有資源へのアクセスを検出し、さらに、前記OS状態テ
ーブルのアクセスタスクIDとセマフォ獲得タスクID
とを比較して前記不正アクセスを検出する不正アクセス
検出処理を含んでいる。
【0026】
【発明の実施の形態】次に、本発明について図面を参照
して説明する。図1は、本発明のソフトウエア開発支援
装置の実施形態を示すブロック図であり、ソフトウェア
開発支援装置3の構成と共に、マルチタスクOS2上で
ユーザアプリケ−ション1が実行されるユーザシステム
を示す。このユーザシステム内のマルチタスクOS2
は、図6で示したマルチタスクOS2と同じ構成である
ので重複説明を省略する。
【0027】本実施形態のソフトウエア開発支援装置3
は、従来と同様に一般的なコンピュータシステムで構成
され、記録媒体に記録されたソフトウェア開発支援用プ
ログラムの実行によるソフトウェア処理手段として、図
6に示した従来技術の各ブロックの他に、不正アクセス
検出部31を備え、マルチタスクOS2のOS内部状態
をOS内部イベントごとに読み取ってOS状態テーブル
に格納し、コマンド入力により、OS状態テーブルを参
照して、マルチタスクOS2でセマフォにより制御され
る共有資源への不正アクセスを検出してマルチタスクO
S2を制御し、マルチタスクOS2上で実行されるユー
ザアプリケ−ション1のデバッグ作業を支援する。
【0028】ここで、本実施形態の特徴部である不正ア
クセス検出部31と、このブロックと関連するOS制御
部17,ブレーク情報出力部20ブロックとを説明し、
他のブロックについては、図6に示した従来技術の各ブ
ロックと同じであり、重複説明を省略する。
【0029】OS制御部17は、OS内部状態読取部1
3,ブレーク状態検出部15または不正アクセス検出部
31からの要求により、マルチタスクOS2を制御し、
マルチタスクOS2のタスク実行制御部6を介して、ユ
ーザアプリケーション1の全て、または一部のタスクに
ついて、実行開始,一時停止などの実行制御を行う。
【0030】ブレーク情報出力部20は、ブレーク状態
検出部15または共有資源不正アクセス検出部31でブ
レーク状態または不正アクセスが検出されたとき、ブレ
ークのトリガーとなったブレークパターン,プログラム
中の発生箇所,OS状態テーブルの内容などの情報、ま
たは、不正アクセスを行ったタスク,共有資源,セマフ
ォなどの情報をブレーク情報として出力する。
【0031】不正アクセス検出部31は、ユーザアプリ
ケ−ション1の実行中に、メモリアクセス命令の実行を
監視して、マルチタスクOS2の各共有資源の指定情報
などを格納した共有資源情報を参照して共有資源アクセ
スを検出し、さらに、OS状態テーブルのアクセスタス
クIDとセマフォ獲得タスクIDとを比較して不正アク
セスを検出する。
【0032】図2は、この実施形態のソフトウエア開発
支援装置3における処理手順を示す流れ図である。図2
を参照して、実施形態のソフトウエア開発支援装置3に
おける処理手順を説明する。
【0033】予め、ステップ50において、マルチタス
クOSでセマフォにより排他制御される共有資源をそれ
ぞれ指定するセマフォID,アクセス権総数,指定アド
レスなどを共有資源情報として入力する。この共有資源
情報の例を図3の説明図に示す。
【0034】次に、コマンド入力により、ステップ51
で、ユーザアプリケ−ション1の実行開始の要求をマル
チタスクOS2のタスク実行制御部6にOS制御部17
から出力し、ユーザアプリケ−ション1が実行開始また
は再開する。
【0035】このユーザアプリケ−ション1の実行中
に、マルチタスクOS2でセマフォにより制御される共
有資源に対してアクセス権無しでアクセスする不正アク
セスをOS状態テーブルの参照により検出する。すなわ
ち、ステップ52で、メモリアクセス命令の実行を監視
し共有資源情報を参照して共有資源へのアクセスを検出
し、不検出の場合、ステップ52に戻り、検出の場合、
ステップ53に進み、ステップ53で、OS状態テーブ
ルに格納されている、共有資源をアクセスしたタスクの
IDであるアクセスタスクIDと、セマフォを獲得して
いるタスクのIDであるセマフォ獲得タスクIDとを比
較して不正アクセスを検出し、不検出の場合、ステップ
52に戻り、検出の場合、ステップ54に進む。
【0036】ステップ54で、ユーザアプリケ−ション
1の実行停止の要求をマルチタスクOS2のタスク実行
制御部6にOS制御部17から出力し、ユーザアプリケ
−ション1が実行停止または実行中断し、ステップ55
で、不正アクセスを行ったタスク,共有資源,セマフォ
などの情報をブレーク情報出力部20から表示出力して
いる。
【0037】この実施形態のソフトウエア開発支援装置
3の動作を具体的に説明するため、次に、図面を参照し
て説明する。図4は、図7に示したユーザアプリケ−シ
ョン1を構成するタスク,セマフォの実行タイミング例
を示すタイミング図である。
【0038】まず、コマンド入力により、ユーザアプリ
ケ−ション1がステップ51で実行開始または実行再開
される時刻00で、タスクAはRUN状態、タスクB、
CはREADY状態、セマフォSはどのタスクも獲得し
ていない状態である。時刻10で、タスクAは共有資源
へのアクセスを行うために、共有資源のアクセス権を管
理しているセマフォSを獲得するために、システムコー
ルwai_sem(#10)を発行する。システムコールwai_sem(#1
0)はマルチタスクOSによって処理され、セマフォSの
セマフォカウンタは0xffというもうアクセス権の残りは
ないことを示す値に更新される。時刻20で、タスクA
は共有資源へのアクセス権を獲得したため、共有資源へ
アクセスし、0x00という値から0x01という値に変更し
た。時刻30で、タスクAは共有資源へのアクセスが終
了したので、他のタスクが共有資源へアクセスできるよ
うにするため、システムコールsig_sem(#10)を発行す
る。システムコールsig_sem(#10)はマルチタスクOSに
よって処理され、セマフォSのセマフォカウンタは0x00
に更新されアクセス権は残り1つあることを示す。時刻
40で、タスクAは自分の処理が終了したので、他のタ
スクへ制御が移るようにシステムコールslp_tsk()を発
行する。システムコールslp_tsk()がマルチタスクOS
で処理されると、タスクAはWAIT状態に遷移し、REA
DY状態のタスクの中で最も優先度の高いタスクである
タスクBがRUN状態になる。時刻50で、タスクBは
共有資源へのアクセスを行うために、共有資源のアクセ
ス権を管理しているセマフォSを獲得するために、シス
テムコールwai_sem(#10)を発行する。システムコールwa
i_sem(#10)はマルチタスクOSによって処理され、セマ
フォSのセマフォカウンタは0xffというもうアクセス権
の残りはないことを示す値に更新される。時刻60で、
タスクBは共有資源へのアクセス権を獲得したため、共
有資源へアクセスし、0x01という値から0x00という値に
変更した。時刻70で、タスクBはシステムコールslp_
tsk()を発行し、他のタスクへ制御を移す。システムコ
ールslp_tsk()がマルチタスクOSで処理されると、タ
スクBはWAIT状態に遷移し、READY状態のタス
クの中で最も優先度の高いタスクであるタスクCがRU
N状態になる。時刻80で、タスクCはセマフォSを獲
得することなく、つまりはアクセス権をもたないのに、
共有資源をアクセスし、0x00という値を0xffという値に
変更した。この状態が検出したい共有資源への不正アク
セスである。この図4に示したユーザアプリケ−ション
1の実行タイミング例において、ステップ52で検出さ
れる共有資源へのアクセスは、時刻20と、時刻80と
において検出され、ステップ53に進む。他の時刻では
ステップ52に戻る。
【0039】時刻20においては、タスクAは共有資源
へのアクセス権を獲得しているため、ステップ53で、
OS状態テーブルに格納されているアクセスタスクID
と、セマフォ獲得タスクIDとを比較した場合双方一致
し不正アクセスを検出せず、ステップ52に戻る。
【0040】しかし、時刻80においては、タスクCは
セマフォSを獲得することなく、すなわち、アクセス権
をもたないのに共有資源をアクセスしているため、ステ
ップ53で、OS状態テーブルに格納されているアクセ
スタスクIDと、セマフォ獲得タスクIDとを比較した
場合、双方不一致となり不正アクセスを検出し、ステッ
プ54に進み、ユーザアプリケ−ション1の実行停止の
要求をマルチタスクOS2に出力し、ユーザアプリケ−
ション1が実行停止または実行中断し、ステップ55
で、不正アクセスを行ったタスク,共有資源,セマフォ
などの情報をブレーク情報出力部20から表示出力して
いる。この不正アクセス発生時の表示出力例を図5の説
明図に示す。
【0041】仮に、時刻80の後、処理が動き続ける場
合、タスクBは、共有資源へのアクセス権を獲得してお
り、他のタスクはアクセスできないはずなので、時刻6
0で設定した値0x00が共有資源に設定されていることを
前提として処理を続けようとする。しかし、時刻80に
タスクCによって0xffに変更されてしまっているため、
タスクBは誤動作を起こす。マルチタスクOSにおいて
は、タスクCによる共有資源への不正アクセスを行って
も、すぐに誤動作するとは限らず、しばらくたって動き
出したタスクにおいて誤動作が発生し、原因の特定を難
しくする。
【0042】しかし、本実施形態のソフトウエア開発支
援装置3は、時刻80に同期して、ユーザアプリケ−シ
ョン1を実行停止または実行中断し、不正アクセスを行
ったタスク,共有資源,セマフォなどの情報が表示出力
されているため、誤動作の原因の特定が容易になり、デ
バッグ作業の負担が軽減される。
【0043】
【発明の効果】以上説明したように、本発明によるソフ
トウエア開発支援装置は、ユーザアプリケ−ションの実
行中に、共有資源に対するアクセス権を獲得していない
不正アクセスを検出してユーザアプリケ−ションを実行
中断し、不正アクセスを行ったタスク情報をブレーク情
報として出力しているため、ユーザアプリケ−ションの
誤動作に対する原因特定が容易になり、デバッグ作業の
負担が著しく軽減される効果がある。
【図面の簡単な説明】
【図1】本発明のソフトウエア開発支援装置の実施形態
を示すブロック図である。
【図2】図1のソフトウエア開発支援装置における処理
手順を示す流れ図である。
【図3】図1の共有資源情報の例を示す説明図である。
【図4】ユーザアプリケ−ションの実行タイミング例を
示すタイミング図である。
【図5】図1のブレーク情報出力部による、不正アクセ
ス発生時の表示出力例を示す説明図である。
【図6】従来のソフトウェア開発支援装置の構成例を示
すブロック図である。
【図7】ユーザアプリケーションの構成例を示す説明図
である。
【符号の説明】
1 ユーザアプリケーション 2 マルチタスクOS 3 ソフトウエア開発支援装置 4 タスク実行スケジューリング部 5 OS内部イベント発生部 6 タスク実行制御部 8 ブレークパターン入力部 12 ブレークパターン生成部 13 OS内部状態読取部 14 イベント読取部 15 ブレーク状態検出部 17 OS制御部 18 トレース情報出力部 20 ブレーク情報出力部 31 不正アクセス検出部 50〜55 ステップ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 田中 泉 神奈川県川崎市中原区小杉町一丁目403番 53 日本電気アイシーマイコンシステム株 式会社内 Fターム(参考) 5B042 GA01 HH01 JJ46 5B098 GA04 GD11

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 タスクの実行スケジューリングおよび外
    部要求に基づき前記タスクの実行制御を行うマルチタス
    クOSのOS内部状態をOS内部イベントごとに読み取
    ってOS状態テーブルに格納し、コマンド入力により前
    記OS状態テーブルを参照して前記マルチタスクOSを
    制御し、前記マルチタスクOS上で実行されるユーザア
    プリケ−ションのデバッグ作業を支援するソフトウェア
    開発支援装置において、前記コマンド入力により、前記
    ユーザアプリケ−ションの実行開始の要求を前記マルチ
    タスクOSに出力し、前記ユーザアプリケ−ションの実
    行中に、前記マルチタスクOSでセマフォにより制御さ
    れる共有資源へのアクセスを検出し、前記OS状態テー
    ブルの参照により、前記共有資源に対してアクセス権無
    しでアクセスする不正アクセスを検出し、前記ユーザア
    プリケ−ションの実行停止の要求を前記マルチタスクO
    Sに出力し、前記不正アクセスを行ったタスク,共有資
    源,セマフォなどの情報を出力することを特徴とするソ
    フトウェア開発支援装置。
  2. 【請求項2】 前記ユーザアプリケ−ションの実行中
    に、メモリアクセス命令の実行を監視して、前記共有資
    源をそれぞれ指定する共有資源情報を参照して前記共有
    資源へのアクセスを検出し、さらに、前記OS状態テー
    ブルのアクセスタスクIDとセマフォ獲得タスクIDと
    を比較して前記不正アクセスを検出する不正アクセス検
    出部を備える、請求項1記載のソフトウェア開発支援装
    置。
  3. 【請求項3】 タスクの実行スケジューリングおよび外
    部要求に基づき前記タスクの実行制御を行うマルチタス
    クOSのOS内部状態をOS内部イベントごとに読み取
    ってOS状態テーブルに格納し、コマンド入力により前
    記OS状態テーブルを参照して前記マルチタスクOSを
    制御し、前記マルチタスクOS上で実行されるユーザア
    プリケ−ションのデバッグ作業を支援するソフトウェア
    開発支援方法において、前記コマンド入力により、前記
    ユーザアプリケ−ションの実行開始の要求を前記マルチ
    タスクOSに出力し、前記ユーザアプリケ−ションの実
    行中に、前記マルチタスクOSでセマフォにより制御さ
    れる共有資源へのアクセスを検出し、前記OS状態テー
    ブルの参照により、前記共有資源に対してアクセス権無
    しでアクセスする不正アクセスを検出し、前記ユーザア
    プリケ−ションの実行停止の要求を前記マルチタスクO
    Sに出力し、前記不正アクセスを行ったタスク,共有資
    源,セマフォなどの情報を出力することを特徴とするソ
    フトウェア開発支援方法。
  4. 【請求項4】 前記ユーザアプリケ−ションの実行中
    に、メモリアクセス命令の実行を監視して、前記共有資
    源をそれぞれ指定する共有資源情報を参照して前記共有
    資源へのアクセスを検出し、さらに、前記OS状態テー
    ブルのアクセスタスクIDとセマフォ獲得タスクIDと
    を比較して前記不正アクセスを検出する不正アクセス検
    出処理を含む、請求項3記載のソフトウェア開発支援方
    法。
  5. 【請求項5】 タスクの実行スケジューリングおよび外
    部要求に基づき前記タスクの実行制御を行うマルチタス
    クOSのOS内部状態をOS内部イベントごとに読み取
    ってOS状態テーブルに格納し、コマンド入力により前
    記OS状態テーブルを参照して前記マルチタスクOSを
    制御する処理をコンピュータに実行させ、前記マルチタ
    スクOS上で実行されるユーザアプリケ−ションのデバ
    ッグ作業を支援するソフトウェア開発支援用プログラム
    を記録した記録媒体において、前記コマンド入力によ
    り、前記ユーザアプリケ−ションの実行開始の要求を前
    記マルチタスクOSに出力し、前記ユーザアプリケ−シ
    ョンの実行中に、前記マルチタスクOSでセマフォによ
    り制御される共有資源へのアクセスを検出し、前記OS
    状態テーブルの参照により、前記共有資源に対してアク
    セス権無しでアクセスする不正アクセスを検出し、前記
    ユーザアプリケ−ションの実行停止の要求を前記マルチ
    タスクOSに出力し、前記不正アクセスを行ったタス
    ク,共有資源,セマフォなどの情報を出力することを特
    徴とする、ソフトウェア開発支援用プログラムを記録し
    た記録媒体。
  6. 【請求項6】 前記ユーザアプリケ−ションの実行中
    に、メモリアクセス命令の実行を監視して、前記マ共有
    資源をそれぞれ指定する共有資源情報を参照して前記共
    有資源へのアクセスを検出し、さらに、前記OS状態テ
    ーブルのアクセスタスクIDとセマフォ獲得タスクID
    とを比較して前記不正アクセスを検出する不正アクセス
    検出処理を含む、請求項5記載の、ソフトウェア開発支
    援用プログラムを記録した記録媒体。
JP33461099A 1999-11-25 1999-11-25 ソフトウェア開発支援装置、ソフトウェア開発支援方法、および、そのプログラムを記録した記録媒体 Expired - Fee Related JP3323169B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33461099A JP3323169B2 (ja) 1999-11-25 1999-11-25 ソフトウェア開発支援装置、ソフトウェア開発支援方法、および、そのプログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33461099A JP3323169B2 (ja) 1999-11-25 1999-11-25 ソフトウェア開発支援装置、ソフトウェア開発支援方法、および、そのプログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2001154872A true JP2001154872A (ja) 2001-06-08
JP3323169B2 JP3323169B2 (ja) 2002-09-09

Family

ID=18279314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33461099A Expired - Fee Related JP3323169B2 (ja) 1999-11-25 1999-11-25 ソフトウェア開発支援装置、ソフトウェア開発支援方法、および、そのプログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP3323169B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003099293A (ja) * 2001-09-21 2003-04-04 Denso Corp 携帯端末およびコンピュータプログラム
JP2004126854A (ja) * 2002-10-01 2004-04-22 Mitsubishi Electric Corp 攻撃対策装置
US7478204B2 (en) 2004-04-29 2009-01-13 International Business Machines Corporation Efficient sharing of memory between applications running under different operating systems on a shared hardware system
CN115277128A (zh) * 2022-07-13 2022-11-01 上海砾阳软件有限公司 一种非法请求的处理方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62200449A (ja) * 1986-02-28 1987-09-04 Nippon Telegr & Teleph Corp <Ntt> セマフオ制御方式
JPH0922369A (ja) * 1995-07-07 1997-01-21 Fujitsu Ltd マルチタスキング方式のカーネルにおける不正動作検出方法
JPH09185528A (ja) * 1996-01-08 1997-07-15 Canon Inc ソフトウェア検査方法およびその装置
JPH09297696A (ja) * 1996-03-08 1997-11-18 Toshiba Corp 優先度情報表示システム
JPH10269105A (ja) * 1997-01-27 1998-10-09 N T T Data Tsushin Kk トレースシステム、リソース解放漏れ検出システム及び記録媒体
JPH1145193A (ja) * 1997-07-28 1999-02-16 Toshiba Corp ソフトウエア開発支援方法およびソフトウエア開発支援装置および記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62200449A (ja) * 1986-02-28 1987-09-04 Nippon Telegr & Teleph Corp <Ntt> セマフオ制御方式
JPH0922369A (ja) * 1995-07-07 1997-01-21 Fujitsu Ltd マルチタスキング方式のカーネルにおける不正動作検出方法
JPH09185528A (ja) * 1996-01-08 1997-07-15 Canon Inc ソフトウェア検査方法およびその装置
JPH09297696A (ja) * 1996-03-08 1997-11-18 Toshiba Corp 優先度情報表示システム
JPH10269105A (ja) * 1997-01-27 1998-10-09 N T T Data Tsushin Kk トレースシステム、リソース解放漏れ検出システム及び記録媒体
JPH1145193A (ja) * 1997-07-28 1999-02-16 Toshiba Corp ソフトウエア開発支援方法およびソフトウエア開発支援装置および記録媒体

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003099293A (ja) * 2001-09-21 2003-04-04 Denso Corp 携帯端末およびコンピュータプログラム
JP2004126854A (ja) * 2002-10-01 2004-04-22 Mitsubishi Electric Corp 攻撃対策装置
US7478204B2 (en) 2004-04-29 2009-01-13 International Business Machines Corporation Efficient sharing of memory between applications running under different operating systems on a shared hardware system
US7809896B2 (en) 2004-04-29 2010-10-05 International Business Machines Corporation Efficient sharing of memory between applications running under different operating systems on a shared hardware system
CN115277128A (zh) * 2022-07-13 2022-11-01 上海砾阳软件有限公司 一种非法请求的处理方法、装置及电子设备
CN115277128B (zh) * 2022-07-13 2024-02-23 上海砾阳软件有限公司 一种非法请求的处理方法、装置及电子设备

Also Published As

Publication number Publication date
JP3323169B2 (ja) 2002-09-09

Similar Documents

Publication Publication Date Title
US6101524A (en) Deterministic replay of multithreaded applications
US8327336B2 (en) Enhanced thread stepping
JP4476193B2 (ja) 情報処理方法および情報処理装置
US6854108B1 (en) Method and apparatus for deterministic replay of java multithreaded programs on multiprocessors
US8453120B2 (en) Enhanced reliability using deterministic multiprocessing-based synchronized replication
US20060130061A1 (en) Use of rollback RCU with read-side modifications to RCU-protected data structures
JP5725162B2 (ja) 排他制御方法、および排他制御プログラム
JP3113841B2 (ja) 並列トランザクション処理システム
CN111857993B (zh) 一种内核态调用用户态函数的方法
JP2003529819A (ja) 自動化装置および更新方法
US20010027387A1 (en) Debugging supporting apparatus, debugging supporting method and recording medium readable by computer with its programs recorded thereon
JP3323169B2 (ja) ソフトウェア開発支援装置、ソフトウェア開発支援方法、および、そのプログラムを記録した記録媒体
JP2024500196A (ja) 安全及びプロセス制御アプリケーション間のデータ分離のための方法及び装置
JP2005234617A (ja) マルチプロセッサデバッガおよびデバッグ方法
JPH1145193A (ja) ソフトウエア開発支援方法およびソフトウエア開発支援装置および記録媒体
US10678595B2 (en) Dynamic saving of registers in transactions
JP2713218B2 (ja) チェックポイント/リスタート処理方式
JPH04314141A (ja) マルチタスク制御方法とその機構
JPH11265278A (ja) オペレーティングシステムの動的機能管理方法
JP2713230B2 (ja) コンピュータ・システムにおける入出力システム
JPH04191938A (ja) 情報処理システム
JP2002244883A (ja) デバッグ支援装置、デバッグ支援方法及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2912269B2 (ja) デバッグシステムおよびその方法
JPH052496A (ja) マルチタスクモニタ
JP2007213396A (ja) デバッグシステム、オペレーションシステム、デバッグ方法、プログラム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020604

LAPS Cancellation because of no payment of annual fees