JPH03113648A - プログラムデバツグ方式 - Google Patents

プログラムデバツグ方式

Info

Publication number
JPH03113648A
JPH03113648A JP1253111A JP25311189A JPH03113648A JP H03113648 A JPH03113648 A JP H03113648A JP 1253111 A JP1253111 A JP 1253111A JP 25311189 A JP25311189 A JP 25311189A JP H03113648 A JPH03113648 A JP H03113648A
Authority
JP
Japan
Prior art keywords
task
program
debugger
debugging
executed
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
JP1253111A
Other languages
English (en)
Inventor
Yoshihiro Saito
芳弘 齋藤
Osamu Yamamoto
治 山本
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP1253111A priority Critical patent/JPH03113648A/ja
Publication of JPH03113648A publication Critical patent/JPH03113648A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マイクロプロセッサ等のハードウェアを動作
させるための、ソフトウェアを開発する時のデバッグを
容易にするデバッグ方式に関する。
[従来の技術] マイクロプロセッサ等のハードウェアを動作させるには
、プログラムが必要であるが、このプログラムの開発は
、一般に第5図に示す様なフローで行われる。
第5図において、まず設計を行い、どの様なプログラム
にするかの仕様を決定する。
エデイツトでは、仕様に従ってプログラムをコーディン
グし、コンパイルまたはアセンブラのソースファイルを
エデイツトする。
テストでは、プログラムが仕様通りに動作するかを確認
する。
テストにおいて、プログラムに不具合が発見されること
があり、この不具合の原因をバグといい、プログラムか
らバグを取り除くことをデバッグという。
デバッグは、第6図のフローの様に行われるが、バグを
取り除くには実際にプログラムを実行して、プログラム
の動作がどこまでは正しく、どこからが正しくないかの
分岐点を得て、この分岐点におけるプログラムの状態を
調べる必要がある。
この様な作業を支援するツールをデバッガという。
デバッグにおいて、バグをすばやく見つけて修正するこ
とがプログラム開発作業効率に大きく影響する。
第7図は、従来のプログラムデバッグ方式を示したもの
である。この図において1はバグを含んでいる被デバツ
グプログラムであり、タスク2a。
2b120によって構成されているタスクとはプログラ
ムを構成する機能単位である。タスク2中にはブレーク
ポイントC以下BPと略称する)8というタスク実行の
中断点が設定されている。マルチタスクオペレーティン
グシステム(以下、マルチタスクO8と略称する)3は
、タスク2a 、 2b、 2cの実行を切り替えるこ
とにより、あたかもこの3つのタスク2a、 2b、 
2cが同時に実行されているように見せる機能を持つも
のであるう デバッガ4は、バグの原因を調べる作業を支援するツー
ルであり、デバッガ4には、BF2をセットしたりクリ
アしたりすることのできるセット・クリア手段5に被デ
バツグプログラム実行手段6、および、ブレーク動作に
よって止められた被デバツグプログラムlのレジスタや
メモリの内容を表示するレジスターメモリ表示手段7が
ある。
被デバツグプログラム1は、実行フロー12に従ってプ
ログラムを実行する。
次に、第7図に示した構成図においてプログラムデバッ
グ方式の動作を第8図のフローチャートを利用して説明
する。
まず、ブレークポイントセット・クリア手段5によりB
 P 8a〜8fをタスク2a、 2b、 2cにセッ
トする。
プログラム1を実行し、BF2までくると、プログラム
lの実行が停止され、デバッガ4に制御がうつる。
次に、被デバツグプログラム実行手段6により、被デバ
ツグプログラム1を実行する。
この図では、タスク2cの先頭からプログラムが実行さ
れ、BF8でプログラムの実行がブレークされる。ブレ
ークした後、制御はデバッガ4に移りレジスタ・メモリ
表示手段7によりレジスタやメモリの内容をチエツクす
る。この内容に異常がなければ、被デバツグプログラム
実行手段6によりプログラムlを実行する。
プログラムはBP8aより再び実行されるが、ここでマ
ルチタスク083によりタスク2Cからタスク2bに実
行が切り替わっている。タスク2bにセットしであるB
P8dまでプログラムlが実行されると、タスク2bの
実行がブレークされ、BP8dにおけるレジスタやメモ
リの内容がチエツクされる。
このようにして、被デバツグプログラム1はBP8a、
  B P8d、 B P2b、  B P2a、 B
P2b、 B P2c。
B P2e、  B P8d、  B P8fの順番で
、レジスタやメモリの内容が正しいかチエツクされる。
さて、上記のようにマルチタスク083上で動作する複
数のタスク2から構成される被デバツグプログラム1を
デバッグする場合には、プログラムのバグのせいもあり
タスクの切り替えが予想しにくいため、プログラム1を
実行させる前に各タスク2に複数のBF2をセットする
シカシ、マルチタスクプログラムでは、各タスク2が独
立した処理を分担しているため、ある特定のタスク2の
実行のみに注目し、その他のタスク2の実行を無視した
い場合があった。このときには、他のタスク2のBF2
をクリマしなくてはならない。すなわち、第8図におい
てタスク2aの実行のみをチエツクしたい場合、ブレー
クポイントセット・クリア手段5によりB P 2d、
 B P2a。
B P2b、  B P2cのBF2をクリアし、また
その途中でタスク2cに注目してデバッグを行う必要が
生じた場合、B P2e、  B P2f’をクリアし
てBP2a。
B P2b、 B P2cをもう1度セットする必要が
あった。
〔発明が解決しようとする課d1 以上の様に、マルチタスクのプログラムをデバッグする
際には、各タスクのブレークポイントを個々にセットも
しくけクリアする必要があり、それによってデバッグに
時間がかかる等の問題点があった。
本発明は、上記のような問題点を解決するためになされ
たもので、各タスクにブレークポイントをセットし特定
のタスクを指定すれば、そのタスクにセットしであるブ
レークポイントは有効になり、その他のタスクにセット
しであるブレークポイントは無効になるプログラムデバ
ッグ方式を得ることを目的とする。
〔課題を解決するための手段〕
上記の課題を解決するため、本発明に係るプログラムデ
バッグ方式では、デバッガに設定したブレークポイント
を有効にするタスクを指定する手段と、ブレークされた
タスクを検出する手段を有し、前記タスク指定手段によ
り指定されたタスクを比較して、一致しなければ再びプ
V−りされたアドレスからプログラムを実行し、一致す
れば制御をデバッガに移せるような機能をもたせたもの
である。
〔作用〕
本発明によれば、プログラムがブレークされた際に、ブ
レークされたタスクを検出する手段によりそのタスクを
認識し、そのタスクがブレークポイントを有効にするタ
スクを指定する手段によって指定されたタスクと一致し
ていれば制御をデバッガに移し、一致していなければそ
のままプログラムを実行する。
〔実施例J 以下、本発明の実施例を図に従って説明する0第1図は
、マルチタスク083上でのプログツムとデバッガの構
成を示した図である。図においてプログラム1はタスク
2a l 2b I 2cによって構成すれている。各
タスク2は個々に認識番号ID(以下、単にIDと記す
)をもち、BP8を設定されている。タスク2を実行中
にBP8を認震すると、そのBP8が有効のときだけ、
ブレークする。
デバッガ4は、BP8を有効にする手段と特定タスク2
かどうかを判断する手段を備えている。
第2図は、デバッガ4の構成を示した図であり、デバッ
ガ4は、ブレークポイントセットクリア手段5、デバッ
グプログラム実行手段6、レジスタ・メモリ表示手段7
、タスク指定手段8、現在タスク検出手段9及び指定タ
スク・現在タスク比較手段lOを有している。
このデバッグ4において、特定タスク−指定の手段8及
び、現在タスク検出手段9は以下の方法による。まず特
定タスク指定の方法は、デバッガ4の中の特定のアドレ
スにタスクのIDを格納する方法によっている。現在の
タスクを検出する手段であるが、これはマルチタスク0
83内に現在のタスク2のデータが格納されているので
、このデータにアクセスすることKよって検出する。
第3図は、本発明によるプログラムデバッグ方式のデバ
ッグの全体フローである。図においてまずどのタスク2
に注目するかによって特定タスクを指定する。タスク2
を指定したらプログラムを走らせ、BP8で停止したら
、そのタスク2が有効かどうかを確認して有効ならば通
常の割り込み動作を行う、有効でないときには、プログ
ラム1を再び続ける。
第4図は第3図の全体フローのうち、特にブレーク発生
からの処理の部分のフローチャートである。
第4図において、タスク2中KBP8を認識すると、制
御をデバッガ4に返す。デバッガ4け、BP8を認識し
たタスクのIDを検出する。検出したIDがブレークポ
イントを有効にするために指定したタスクのIDと一致
するならば、デバッガ4はプログラムを中止し、メモリ
やレジスタのチエツクを行う。
検出したIDが、指定したタスク2のIDと一致しない
場合には、そのタスク2のBP8は無効となり、タスク
2は、そのまま実行動作を継続する。
〔発明の効果〕
以上のように本発明によれば、デバッガに設定した特定
タスク指定手段とタスクより検出手段によって、マルチ
タスクプログツム中の個々のBPに対してセット・クリ
アする必要が不用となる。
これにより、ある特定のタスクの動きに注目したデバッ
グが容易に、かつ高速で行えるようKなるという効果が
ある。
【図面の簡単な説明】
第1図は本発明の一実施例におけるプログラムデバッグ
方式を示した図、第2図は、デバッガ4の内部構成を示
した図、第3図は、デバッグの全体フローを示した図、
第4図は、ブレークが発生してからの処理のフローを示
した図、第5図はプログラムの開発フローの図、第6図
は従来のデバッグの全体フローを示した図、第7図は従
来のプログラムデバッグ方式を示した図、第8図は従来
のプログラムデバッグ方式によるフローを示した図。 図において、工は被デバツグプログラム、2はタスク、
3はマルチタスク0814はデバッガ、5けブレークポ
イントセット・クリア手段、6は被デバツグプログラム
実行手段、7はレジスタ・メモリ表示手段、8は特定タ
スク指定手段、9は現在タスク検出手段、10は特定タ
スク・現在タスク比較手段、11はプログラム中のタス
クの実行フローである。 なお、各図中同一符号は同−又は同一部分を示すO 第2図 第3図 第4図 第5図 第6図 第8図 手 続 補 正 書(自発) 平成 1年 12月18日 2、発明の名称 プログラムデパック方式 3、補正をする者 代表者 士 −じ1 岐 守 哉 4、代 理 人 S、  ?l!正の対象 明細書の特許請求の範囲、及び発明の詳細な説明の欄。 6 補正の内容 (1)明細書中特許請求の範囲を別惧のとおり訂正する
。 7゜ 添付書類の目録 (1)訂正後の特許請求の範囲を記載した書面1通 以 上 特許請求の範囲 プログラムを実行する手段と、プログラムの実行をブレ
ークするポイントをプログラム中に設定する手段と、ブ
レークさルたプログラムのレジスタやメモリの内容を表
示する手段を含む、マチルタスクプログラムをデバッグ
するプログラムデバッグ方式において、設定したブレー
クポイントを有効にするタスクを指定する手段と、ブレ
ークされたタスクを検出する手段を有し、前記タスク指
されたアドレスからプログラムを実行し、一致すれば制
御をデバッガに移すことを特徴とするプログラムデバッ
グ方式。

Claims (1)

    【特許請求の範囲】
  1. プログラムを実行する手段と、プログラムの実行をブレ
    ークするポイントをプログラム中に設定する手段と、ブ
    レークされたプログラムのレジスタやメモリの内容を表
    示する手段を含む、マルチタスクプログラムをデバッグ
    するプログラムデバツグ方式において、設定したブレー
    クポイントを有効にするタスクを指定する手段と、ブレ
    ークされたタスクを検出する手段を有し、前記タスク指
    定手段により指定されたタスクを比較して、一致しなけ
    れば再びブレークされたアドレスからプログラムを実行
    し、一致すれば制御をデバツガに移すことを特徴とする
    プログラムデバツグ方式。
JP1253111A 1989-09-28 1989-09-28 プログラムデバツグ方式 Pending JPH03113648A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1253111A JPH03113648A (ja) 1989-09-28 1989-09-28 プログラムデバツグ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1253111A JPH03113648A (ja) 1989-09-28 1989-09-28 プログラムデバツグ方式

Publications (1)

Publication Number Publication Date
JPH03113648A true JPH03113648A (ja) 1991-05-15

Family

ID=17246653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1253111A Pending JPH03113648A (ja) 1989-09-28 1989-09-28 プログラムデバツグ方式

Country Status (1)

Country Link
JP (1) JPH03113648A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225693A (ja) * 1994-02-07 1995-08-22 Internatl Business Mach Corp <Ibm> 異なるアドレス空間にわたってスレッド事象を処理する方法
JP2001134466A (ja) * 1999-11-08 2001-05-18 Fujitsu Ltd デバッグ装置及び方法並びにプログラム記録媒体
KR100406953B1 (ko) * 2001-08-16 2003-11-28 엘지전자 주식회사 실시간 운영체제의 런타임 디버깅 방법
JP2005250821A (ja) * 2004-03-04 2005-09-15 Renesas Technology Corp エミュレータ及びマイクロプロセッサ
US7043717B2 (en) 2002-05-27 2006-05-09 Kabushiki Kaisha Toshiba Debugging apparatus and method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225693A (ja) * 1994-02-07 1995-08-22 Internatl Business Mach Corp <Ibm> 異なるアドレス空間にわたってスレッド事象を処理する方法
JP2001134466A (ja) * 1999-11-08 2001-05-18 Fujitsu Ltd デバッグ装置及び方法並びにプログラム記録媒体
KR100406953B1 (ko) * 2001-08-16 2003-11-28 엘지전자 주식회사 실시간 운영체제의 런타임 디버깅 방법
US7043717B2 (en) 2002-05-27 2006-05-09 Kabushiki Kaisha Toshiba Debugging apparatus and method
JP2005250821A (ja) * 2004-03-04 2005-09-15 Renesas Technology Corp エミュレータ及びマイクロプロセッサ

Similar Documents

Publication Publication Date Title
JP2001134466A (ja) デバッグ装置及び方法並びにプログラム記録媒体
JPH03113648A (ja) プログラムデバツグ方式
JP2653412B2 (ja) ブレークポイント設定方法
JP2800577B2 (ja) デバッグ装置
JP2697230B2 (ja) デバッグ支援装置
JPS59183443A (ja) デバツグ装置
JP3068578B2 (ja) インサーキットエミュレータおよび飽和演算処理方法
JP2658982B2 (ja) 特定命令実行検出方式
JPH07225681A (ja) 割込制御装置
JPH07134665A (ja) 情報処理装置
JPS6214241A (ja) 例外条件検出時のデバツグ処理方式
JPH04296943A (ja) 関数型言語のデバッグ方式
JPH06214828A (ja) 対話型デバッグ制御装置
JPS638946A (ja) プログラムデバツグサポ−ト方式
JPH0695915A (ja) デバッグ処理方法
JPS63205740A (ja) プログラム実行トレ−ス処理方式
JPS63289654A (ja) プログラム分岐命令モニタ方式
JP2001265619A (ja) データトレース方式
JP2005063429A (ja) プログラムデバッグ装置、プログラムデバッグ方法及びプログラム
JPS60263232A (ja) マイクロ診断方式
JPH01246638A (ja) 書込み命令の領域誤り判定方式
JPH01184551A (ja) プログラムのデバッギング方式
JPS61235955A (ja) プログラムのデバツグ方式
JPS63129431A (ja) プログラムトレ−ス処理方式
JPS60254251A (ja) デバツク方式