JPH01169546A - マルチタスクデバッカ - Google Patents

マルチタスクデバッカ

Info

Publication number
JPH01169546A
JPH01169546A JP62327915A JP32791587A JPH01169546A JP H01169546 A JPH01169546 A JP H01169546A JP 62327915 A JP62327915 A JP 62327915A JP 32791587 A JP32791587 A JP 32791587A JP H01169546 A JPH01169546 A JP H01169546A
Authority
JP
Japan
Prior art keywords
task
emulation
information
microprocessor
trigger
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
JP62327915A
Other languages
English (en)
Inventor
Kazuya Kuriyama
和也 栗山
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP62327915A priority Critical patent/JPH01169546A/ja
Publication of JPH01169546A publication Critical patent/JPH01169546A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〈産業上の利用分野〉 この発明は、ターゲットシステムのデバッグを行うデバ
ッガに関し、特に複数のタスクのデバッグを効率よく行
なう事が出来るマルチタスクデバッガに関するものであ
る。
〈従来技術〉 マイクロプロセッサを使用した機器が近年広く用いられ
ているが、この様な機器ではプログラムのデバッグを効
率的に行うことが重要である。プログラムのデバッグに
はインサーキットエミュレータが用いられる4インサー
キツトエミユレータは第7図に示すように試験を行うタ
ーゲットシステム1のマイクロプロセッサのソケットに
プローブ2を差し込み、このグローブ2に接続されたパ
ーソナルボッド3にマイクロプロセッサ4をセットする
。このパーソナルボッド3はデバッギングツール5に接
続される。パーソナルボッド3のマイクロプロセッサ4
はデバッギングツール5によって制御され、試験を行う
プログラムが実行される。デバッギング°ツール5には
ホストマシン6に接続され、実行形式、シンボル情報、
マツプ情報等が送信される。デバッギングツール5はこ
れら送信された情報に基づいて試験するプログラムの実
行を監視して必要な情報を抽出する。また、あらかしめ
指定した所でプログラムの実行を中止したり、アセンブ
ラ言語レベルでアセンブルや逆アセンブルを行ってプロ
クラムのデバッグを行ってターゲットシステム1のプロ
グラムのデバッグを行う。
〈発明が解決すべき問題点〉 しかしなから、この様なインサーキットエミュレータに
は次のような問題点があった。第1の問題点は複数のプ
ログラムを同時にデバッグする事が出来ない事である。
第2の問題点はプログラムの実行を中止するブレークポ
イントのアドレスを算出する事が困難であり、また変数
の参照等デバッグを行う為の条件設定が容易でないこと
である。
この様な問題点の為にマルチタスクシステムの複雑な事
象の発生をとらえてプロラムの実行を制御する事が出来
ず、また疑似的な事情を発生させてデバッグを行う事が
出来ないために効率的なデバッグが出来ないという欠点
があった。
〈発明の目的〉 この発明の目的は、マルチタスクソフトウェアシステム
の実行を実時間で監視し、システムの総合的なデバッグ
を高級言語レベルで支援するマルチタスクデバッガを提
供する事にある。
く問題点を解決する為の手段〉 前記問題点を解決する為に本発明では、所定のデバッグ
条件からトリガ条件設定手段によりトリガ条件を作成し
、このトリガ条件に基づいてトリガ検出手段によりマイ
クロプロセッサのバスを監視する。また、前記マイクロ
プロセッサのエミュレーションをエミュレーション手段
により行い、このエミュレーション手段が参照するエミ
ュレーション条件をエミュレーション条件設定手段によ
り作成する。エミュレーション条件設定手段はターゲッ
トシステムの管理情報の各タスクの管理テーブルを参照
してエミュレーション条件を作成し、マルチタスクのデ
バッグを実行する。
〈実施例〉 第1図に本発明に係るマルチタスクデバッガの一実施例
を示す、なお、第7図と同じ要素には同一符号を付し、
説明を省略する。第1図において、10はマルチタスク
デバッグ装置であり、その内部にはエミュレータ11と
エミュレータコントローラ12が含まれている。パーソ
ナルボッド3とマルチタスクデバッグ装′IL10との
間は通信路13で、エミュレータ11とエミュレータコ
ントローラ12との間は通信路22で接続されている。
パーソナルボッド3内のマイクロプロセッサ4はマルチ
タスクデバッグ装置10により制御され、ターゲットシ
ステム1のプログラムが実行される。
第2図にエミュレータ11の構成を示す、エミュレータ
11はマイクロプロセッサ4のバス上の信号パターンを
検出してマイクロプロセッサ4の動作を監視し、実行情
報を収集する。また、プログラムの実行を中断し、マイ
クロプロセッサ4をリアルタイムでエミュレートし、タ
ーゲットメモリやレジスタの内容を読みだし、変更する
事が出来る。特にメモリの読みだしはターゲットシステ
ム1の管理データ横道に従って実行される。第2図にお
いて、13はトリガ条件設定手段であり、エミュレータ
コントローラ12から送られてきた情報からトリが条件
14を作成する。トリガ条件14はアドス/データバス
上のアドレス及びデータの複合論理で構成される。この
トリガ条件14はトリガ検出手段15に入力される。ト
リガ検出手段15にはマイクロプロセッサ4のアドレス
/データバスが入力される。トリガ検出手段15はこれ
らのアドレス/データバス上の信号を参照し、トリガ条
件14に合致しているかをチエツクし、プログラムの実
行中断やエミュレーション手段16の起動等を行う、エ
ミュレーション手段16はマイクロプロセッサ4のエミ
ュレーションを行い、ターゲットシステム1のメモリの
参照と変更、マイロプロセッサ4のレジスタの参照と変
更、ターゲットシステム1の情報の収集と入出力、プロ
グラムの実行と停止を行う、特にターゲットシステム1
の情報収集ではシステム管理情報18を参照する事によ
りタスクの状態とメモリマツプ、入出力要求状況、セマ
フォ要求、イベント発生、割り込み要求、タイマエント
リー等のシステム情報を全て把握する事が出来る。17
はエミュレーション条件設定手段であり、エミュレータ
コントローラ12から送信されるシステム管理情報を受
信して内部メモリに展開し、またターゲットシステム1
の情報収集コマンドを受信してエミュレーション条件1
9を作成してエミュレータ11を起動する。20はデー
タ抽出/通信手段であり、エミュレーション手段16に
より収集されたターゲットシステム1のデータ21をエ
ミュレータコントローラ12に送信する。第3図にエミ
ュレータコントローラ12の構成を示す、エミュレータ
コントローラ12はエミュレータと通信路22で接続さ
れている。23はデータ編集/表示手段であり、データ
21を見易いフォーマットに編集して表示する624は
コマンド入力手段であり、エミュレータ11を制御する
コマンドを入力する。エミュレータ11はこの入力され
たコマンドによりエミュレータ11を制御し、ターゲッ
トシステム1から収集したデータを表示する。
次にこの実施例の動作を第4図フローチャートに基づい
て説明する。まずターゲットプログラムの実行制御とし
てブレークの場合を説明する。この場合はオペレータは
コマンド入力手段24からブレークコマンドとブレーク
するプログラム名及びブレーク条件を行番号あるいは変
数名等で指定する。このブレーク条件はトリガ条件設定
手段13によりプログラムのソースファイルの管理テー
ブルを参照してターゲットメモリの実アドレスに変換さ
れ、トリが条件14が生成される9次にトリガ検出手段
15が起動され、このトリガ条件14がトリガ検出手段
15に入力される1次にエミュレーション手段16が起
動され、データ収集を行ってブレークするプログラムが
実際にメモリ上にタスクとして存在するかを確認する。
トリガ検出手段15がトリガ条件14に合致する信号を
検出し、かつエミュレーション手段16が目的のプログ
ラムがタスクとして存在する事を確認すると、プログラ
ムはブレークされる。またブレークされているプログラ
ムを再起動する事も出来る1次にターゲットシステムの
タスク情報の表示について説明する。タスク情報の表示
にはターゲットプログラムを停止させずにバスをトレー
スするだけで行う方法と、実行を停止して表示する2つ
の方法がある。前者はリアルタイム性があり、後者はリ
アルタイム性は損なわれるがより詳細な情報を表示出来
る1表示を行うにはタスク管理テーブルヘッダ、タスク
名、タスクステータスのアクセスをトリガとして複合ト
リガ条件が生成される。プログラムの実行を停止しない
で表示するにはトリガ検出手段15を起動する。トリガ
検出手段15はバスをトレースし、タスク名、ステータ
スを判定しなから複合条件に適合するかを判定し、適合
すればその情報をトレースメモリに格納する。トレース
メモリ内の情報はデータ編集/表示手段23により編集
がなされ、表示される。10グラムを停止して表示する
場合は、エミュレーション手段16を起動する。エミュ
レーション手段16はシステム管理情報を参照してマイ
クロプロセッサをエミュレートし、必要な情報を収集し
て絹業7衷示する4次に、初期化について説明する。初
期化はターゲットシステム1の管理テーブルのアドレス
とテーブル構成、及びターゲットプログラムのシンボリ
ックデバッグ情報をマルチタスクデバッグ装置10に知
らせるものであり、ターゲットプログラムのファイル情
報を基にしてシステム管理情報を作成する4このシステ
ム管理情報はトリガ検出手段15及びエミュレーション
手段16によって参照される。
次に、マルチタスクについて第5図に基づいて説明する
。マルチタスクは複数のタスクを同時にデバッグするも
のである。第5図において25はターゲットシステム1
のメモリ内容であり、システム領域とユーザ領域(二分
割されている。システム領域には各タスクの管理テーブ
ルが格納され、ユーザ領域には各タスクA〜Cのデータ
とコードが格納されている。これら各タスクのデータ領
域の位置は各タスクの管理テーブルのポインタで示され
る。マルチタスクデバッグ装置10には各タスクの管理
情報がメモリ25のシステム領域の各タスクの管理テー
ブルを参照して作成される。また、各タスクのシンボル
、マツプ、テキスト情報が予め与えられている。マルチ
タスク処理・yグ装置10はこのタスク管理情報とシン
ボル、マツプ、テキスト情報によりメモリ25のユーザ
領域に格納されている各タスクの情報を参照してトリガ
条件、エミュレーション条件を作成する。このように、
マルチタスクデバッグ装置10は各タスクの管理情報の
テーブルを格納しているので、複数のタスクを同時に扱
うことが出来る。
第6図にマルチタスク処理の例を示す、この例は初期処
理とデータの表示のタスクAとデータ処理のタスクBと
入出力処理のタスクCの3つのタスクからなる処理の場
合である。第6図(A>において、最初にタスクAが起
動され初期処理を行う4時点■でデータ処理の為にタス
クBが起動され、さらにデータ入力の為に時点■でタス
クCが起動される。タスクCでデータを入力し・た後時
点■で入力したデータをタスクBに送信する0時点■で
さらにこのデータをタスクAに送信して表示する。この
様な処理において、時点■におけるタスクCからタスク
Bヘデータが正しく送信されたかを確認する必要がある
。この場合のプログラムの例を(B)に示す、26はタ
スクCのプログラムであり、送信バッファとしてr 5
end−buf 1が指定され、5endコマンドでメ
ールボックス27にデータが送信される。28はタスク
Bのプログラムであり、受信バッファとしてr rcv
−buf 4が指定され、rCVコマンドでメールボッ
クス27からデータを取り出す、タスクCの5endコ
マンドとタスクBのrevコマンドにそれぞれブレーク
ポイントBPI、BP2を設定すると、タスクCの5e
ndコマンドの所で一旦停止し、5end−bufの内
容を確認できる。さらにタスクBのrevコマンドで停
止するので、rev−bufの内容を確認出来る。これ
らの内容が一致しているかを調べる事により、送信が正
しく行われたかをチエツク出来る。また、メールボック
ス27の内容をチエツクする事も出来る。
マルチタスクデバッグ装置10はターゲットシステム1
の各タスクの管理テーブルを参照してトリガ、エミュレ
ーション条件を作成しているので、ブレークポイントの
指定はそれぞれの10ラムの行番号、またはコマンド名
等を使用して設定出来る。また、5end−buf、r
cv−bufの内容もこの名前を指定して参照する事が
出来る。
〈発明の効果〉 以上実施例に基づいて具体的に説明したように、この発
明ではトリが条件設定手段により作成したトリガ条件に
よりトリガ検出手段でマイクロプロセッサのバスを監視
し、エミュレーション条件設定手段により作成したエミ
ュレーション条件でマイクロプロセッサをエミュレート
するようにし、かつエミュレーション条件を各タスクの
管理テーブルを参照して作成するようにした。その為、
複数のタスクに複数のブレークポイントを設定する事が
出来るので、複数タスクの総合デバッグが簡単に出来る
という効果がある。
また、各タスクの管理テーブルからエミュレーション条
件を作成しているので、ターゲットシステムが停止した
時には、メモリ、マイクロプロセッサのレジスタの参照
だけでなく、タスク、メモリ、セマフォ、Ilo、イベ
ント、タイマ、割り込み要求、メツセージ等のシステム
が管理する情報の全てを容易に把握する事が出来る。
さらに、アドレスやデータだけでなく、タスクの状態遷
移、I10要求発生、イベント発生等をブレーク条件と
する事が出来るという効果がある。
【図面の簡単な説明】
第1図は本発明にかかるマルチタスクデバッガの一実施
例を示すブロック図、第2図はエミュータの構成を示す
ブロック図、第3図はエミュレータコントローラの構成
を示すブロック図、第4図は動作の一例を示すフローチ
ャート、第5図はマルチタスクを示すI成因、第6図は
マルチタスク処理の例を示す図、第7図は従来のインサ
ーキットエミュレータの構成を示すブロック図である。 1・・・ターゲットシステム、4・・・マイクロプロセ
ッサ、lO・・・マルチタスクデパック装置、11・・
・エミュレータ、12・・・エミュレータコントローラ
、13・・・トリガ条件設定手段、14・・・トリガ条
件、15・・・トリガ検出手段、16・・・エミュレー
ション手段、17・・・エミュレーション条件設定手段
、18・・・システム管理情報、19・・・エミュレー
ション条件。 第2 図 工ξニレ−7コ)トD−512へ 第3図 第5図 :;、5  7  0

Claims (1)

    【特許請求の範囲】
  1. 所定のデバッグ条件からトリガ条件を作成するトリガ条
    件設定手段と、このトリガ条件に基づいてマイクロプロ
    セッサのバスを監視するトリガ検出手段と、前記マイク
    ロプロセッサのエミュレーションを行うエミュレーショ
    ン手段と、このエミュレーション手段が参照するエミュ
    レーション条件を作成するエミュレーション条件設定手
    段とを有し、このエミュレーション条件設定手段はター
    ゲットシステムの管理情報の各タスクの管理テーブルを
    参照してエミュレーション条件を作成する事を特徴とす
    るマルチタスクデバッガ。
JP62327915A 1987-12-24 1987-12-24 マルチタスクデバッカ Pending JPH01169546A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62327915A JPH01169546A (ja) 1987-12-24 1987-12-24 マルチタスクデバッカ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62327915A JPH01169546A (ja) 1987-12-24 1987-12-24 マルチタスクデバッカ

Publications (1)

Publication Number Publication Date
JPH01169546A true JPH01169546A (ja) 1989-07-04

Family

ID=18204418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62327915A Pending JPH01169546A (ja) 1987-12-24 1987-12-24 マルチタスクデバッカ

Country Status (1)

Country Link
JP (1) JPH01169546A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04127332A (ja) * 1990-09-19 1992-04-28 Fujitsu Ltd プログラムデバッグ開始処理方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04127332A (ja) * 1990-09-19 1992-04-28 Fujitsu Ltd プログラムデバッグ開始処理方式

Similar Documents

Publication Publication Date Title
JP2003015906A (ja) リモートデバッグ方法および装置
JPH01169546A (ja) マルチタスクデバッカ
US5903719A (en) Emulator apparatus and emulation method for efficiently analyzing program faults
JP2001249823A (ja) マイクロコンピュータ開発支援装置
JPH06103104A (ja) リモートデバッグ方法
JPS6310456B2 (ja)
Li et al. Research of “Stub” remote debugging technique
JP2659366B2 (ja) デバッグ方法及びその装置
JPH0426138B2 (ja)
JP2808757B2 (ja) デバッグ用マイクロプロセッサ
Spinellis Debuggers and logging frameworks
JP2800577B2 (ja) デバッグ装置
JPS63174160A (ja) マルチプロセツサシステムのデバツグ方法
JPH0465729A (ja) シンボリック・デバッガ
JPH0520122A (ja) リモートデバツグ方法
JPH05204710A (ja) イベントトレース装置
JPH1083316A (ja) マルチcpuシステム
JPS59202546A (ja) デバツグ装置
JPS6292035A (ja) プログラムデバツグ装置
JPS6292033A (ja) プログラムデバツグ装置
JPH0233178B2 (ja)
JPH0310339A (ja) 関数ステップ機能を有するデバッグ方法
JPH01145740A (ja) マルチプロセス用エミユレータ
JPH11249929A (ja) プログラム制御されるユニット
JPS609294B2 (ja) 電子計算機におけるトレ−ス方式