JP2697230B2 - デバッグ支援装置 - Google Patents

デバッグ支援装置

Info

Publication number
JP2697230B2
JP2697230B2 JP2052085A JP5208590A JP2697230B2 JP 2697230 B2 JP2697230 B2 JP 2697230B2 JP 2052085 A JP2052085 A JP 2052085A JP 5208590 A JP5208590 A JP 5208590A JP 2697230 B2 JP2697230 B2 JP 2697230B2
Authority
JP
Japan
Prior art keywords
instruction
bit
program
trace
execution space
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.)
Expired - Lifetime
Application number
JP2052085A
Other languages
English (en)
Other versions
JPH03252733A (ja
Inventor
治 山本
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 JP2052085A priority Critical patent/JP2697230B2/ja
Publication of JPH03252733A publication Critical patent/JPH03252733A/ja
Application granted granted Critical
Publication of JP2697230B2 publication Critical patent/JP2697230B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、ソフトウエアを開発する時のデバッグを
容易にするデバッグ支援装置に関するものである。
〔従来の技術〕
プログラムを開発する際には、開発したプログラムが
正しく動作しているかどうかをチェックする必要があ
る。プログラムの不具合の原因をバグといい、そのバグ
を取り除く作業をデバッグという。プログラムの不具合
の原因を突き止めるには、プログラムを実際に実行さ
せ、プログラムの動作がおかしくなっている場所を特定
し、そこにおけるプログラムの状態を調べる必要があ
る。このような作業を支援するツールをデバッガとい
う。おかしくなっている場所を特定するには、被デバッ
グプログラムを1命令づつ実行(ステップ実行)し、レ
ジスタの内容やメモリの内容をチェックすることが不可
欠になる。以下、従来のデバッグ支援装置におけるステ
ップ実行の例について説明する。
第3図は従来のデバッグ支援装置の構成を説明するブ
ロック図である。
図において、1は中央処理装置(CPU)、2はプログ
ラムの実行空間を選択する実行空間選択ビット、3はト
レース・トラップ(1命令終了トラップ)の発生の有無
を判断する決定ビット(以下、トレース・ビットとい
う)、4は1命令の実行が終了した時トレース・ビット
3がセットされていればトレース・トラップを発生させ
るトレース・トラップ発生手段、5はバス、6はバグ
(プログラムのミス)を含んでいる被デバッグプログラ
ムであり、7は前記被デバッグプログラム6をステップ
実行させ、そのときのレジスタの内容やメモリの内容を
表示させること等を行うデバッガであり、8はメモリで
ある。
次に、第4図に示したフローチャートおよび第5図を
参照しながら上記デバッグ支援装置の動作について説明
する。
第4図は、第3図に示したデバッグ支援装置の処理手
順の一例を示すフローチャートである。なお、(1)〜
(8)は各ステップを示す。
先ず、デバッガ7は被デバッグプログラム6のトレー
ス・ビット3をメモリ8上にセットし(1)、被デバッ
グプログラム6の実行空間選択ビット2をセットする
(2)。次いで、被デバッグプログラム6の実行アドレ
スをメモリ8上にセットし(3)、スタックポインタを
第5図に示すようにセットする(4)。ここで、RT(リ
ターン・トラップ)命令等を実行することにより、被デ
バッグプログラム6を実行させる(5)。RT命令はスタ
ック上にセーブされたトレース・ビット3や実行空間選
択ビット2,実行アドレスをCPU1のトレース・ビット3や
実行空間選択ビット2,プログラムカウンタにセットする
命令である。つまり、RT命令はスタック上にセーブされ
たPC(プログラムカウンタ)やプログラム実行空間選択
ビット2等の情報をストアし、元のプログラム実行状
態、すなわち、割込みや例外、ソフトウエアトラップな
どを受け付けた状態に戻す命令である。RT命令を実行し
た結果、被デバッグプログラム6が実行されるが、被デ
バッグプログラム6を1命令実行したところで、トレー
ス・ビット3がセットされているため、トレース・トラ
ップ発生手段4によりトラップが発生する(6)。その
結果、デバッガ7に制御が移り(7)、デバッガ7によ
り被デバッグプログラム6のレジスタの内容やメモリ8
の内容をチェックすることができる(8)。
〔発明が解決しようとする課題〕
従来のデバッグ支援装置では、例えばRT命令のよう
に、命令を実行した結果トレース・ビット3が書き換わ
ってしまう命令をステップ実行しようとすると、トレー
ス・トラップがかからない可能性がある。RT命令をステ
ップ実行した場合の上記デバッグ支援装置の動作を、第
6図に示すフローチャートを参照しながら説明する。
第6図は、従来のデバッグ支援装置におけるRT命令の
デバッグ処理手順の一例を説明するフローチャートであ
る。なお、(1)〜(7)は各ステップを示す。
先ず、デバッガ7は被デバッグプログラム6のトレー
ス・ビット3をメモリ8上にセットし(1)、被デバッ
グプログラム6の実行空間選択ビット2をセットする
(2)。次に、被デバッグプログラム6の実行アドレス
をメモリ8上にセットし(3)、スタックポインタを第
5図に示すようにセットする(4)。
ここで、RT(リターン・トラップ)命令等を実行する
ことにより、被デバッグプログラム6を実行させる
(5)。RT命令を実行した結果、被デバッグプログラム
6が実行されるが、被デバッグプログラム6もRT命令で
ある。この被デバッグプログラム6のRT命令を実行する
前はトレース・ビット3がセットされているが、このRT
命令を実行すると実行空間選択ビット2やトレース・ビ
ット3,プログラムカウンタ等が書き換わってしまう。そ
の結果、被デバッグプログラム6のRT命令実行後はトレ
ース・ビット3がクリアされる可能性がある(6)。ト
レース・ビット3がクリアされればトレース・トラップ
発生手段4によってトラップは発生せず(7)、被デバ
ッグプログラム6がそのまま実行される。
このように、従来のデバッグ支援装置はRT命令等のト
レース・ビット3を書き換える命令をステップ実行でき
ない等の問題点があった。また、プログラム実行空間を
切り換える命令は、トレース・ビット3も書き換えるの
が普通である。従って、このような命令がステップ実行
できなければ、二以上のプログラム実行空間に置かれ、
かつプログラム実行空間が度々換わるプログラムをデバ
ッグする場合に不具合を生じる等の問題点があった。
この発明は、上記の問題点を解決するためになされた
もので、プログラム実行空間を切り換える命令を実行し
た際に、プログラム実行空間を切り換える命令を実行す
る前のトレース・トラップの発生を決定するビットのセ
ット状態に基づいて新しいプログラム実行空間における
トレース・トラップの発生を決定するビットのセット状
態を決定することにより、RT命令のようにトレース・ビ
ットを書き換える命令もステップ実行しながら効率的に
デバッグ処理を実行できるデバッグ支援装置を得ること
を目的とする。
〔課題を解決するための手段〕
この発明に係るデバッグ支援装置は、プログラム実行
空間を切り換える命令を実行した際に、前記プログラム
実行空間を切り換える命令を実行した際に、前記プログ
ラム実行空間を切り換える命令を実行する直前の前記決
定ビットがセットされていないときは、新しいプログラ
ム実行空間における決定ビットの設定を行い、前記決定
ビットがセットされているときは、前記プログラム実行
空間を切り換える命令を実行する前の決定ビットと前記
新しいプログラム実行空間における決定ビットとに基づ
いて決定ビットの設定を行う決定手段を設けたものであ
る。
〔作用〕
この発明においては、プログラム実行空間を切り換え
る命令を実行した際に、決定手段はプログラム実行空間
を切り換える命令を実行する前の決定ビットのセット状
態に基づいて新しいプログラム実行空間における決定ビ
ットのセット状態を選択的に決定し、プログラム実行空
間を切り換える命令を含む1命令の実行終了毎にトラッ
プ発生手段によるトラップ処理を発生させる。
〔実施例〕
第1図はこの発明の一実施例を示すデバッグ支援装置
の構成を説明するブロック図であり、1はCPU、9はト
レース・ビットセット選択手段で、前記トレース・ビッ
ト3を書き換える命令を実行する際に、旧トレース・ビ
ットと新トレース・ビットの論理和をとったものをトレ
ース・ビット3にするか、新トレース・ビットをそのま
まセットするかを選択する。この実施例において、トレ
ース・ビットセット選択手段9はトレース・ビット選択
ビットとして機能させ、このビットが立っていればトレ
ース・ビット3を書き換える命令を実行する際に、旧ト
レース・ビットと新トレース・ビットの論理和をとった
ものをトレース・ビット3にセットし、このビットがク
リアしてあれば、新トレース・ビットをそのままセット
するものとする。
このようにこの発明に係るデバッグ支援装置において
は、プログラム実行空間を切り換える命令を実行した際
に、決定手段(この実施例ではトレース・ビットセット
選択手段9)はプログラム実行空間を切り換える命令実
行前の決定ビット(トレース・ビット3)のセット状態
に基づいて新しいプログラム実行空間におけるトレース
・ビット3のセット状態を選択的に決定し、プログラム
実行空間を切り換える命令を含む1命令の実行終了毎に
トラップ発生手段(トレース・トラップ発生手段4)に
よるトラップ処理を確実に実行させる。
次に、第2図に示すフローチャートを参照しながらこ
の発明に係るデバッグ支援装置におけるデバッグ処理動
作について説明する。
第2図はこの発明に係るデバッグ支援装置におけるデ
バッグ処理手順の一例を示すフローチャートである。な
お、(1)〜(11)は各ステップを示す。
先ず、デバッガ7は被デバッグプログラム6のトレー
ス・ビット3をメモリ8上にセットし(1)、被デバッ
グプログラム6の実行空間選択ビット2をセットする
(2)。次に、被デバッグプログラム6の実行アドレス
をメモリ8上にセットし(3)、スタックポインタを第
5図に示すようにセットする(4)。そして、トレース
・ビットセット選択ビット9をセットする(5)。ここ
で、RT(リターン・トラップ)命令等を実行することに
より(6)、被デバッグプログラム6を実行させる。
RT命令を実行した結果、被デバッグプログラム6が実
行されるが、被デバッグプログラム6もRT命令である。
この被デバッグプログラム6のRT命令を実行する際に、
トレース・ビットセット選択ビット9がセットされてい
るかどうかを判断し(7)、この判断がYES(トレース
・ビットセット選択ビット9がセットされているので)
となり、旧トレース・ビットと新トレース・ビットの論
理和がトレース・ビット3にセットされる(8)。
一方、ステップ(7)の判断でNOの場合は、新トレー
ス・ビットをセットする(9)。
続いて、旧トレース・ビット(被デバッグプログラム
6のRT命令を実行する以前のトレース・ビット3)がセ
ットされているため、被デバッグプログラム6のRT命令
を実行後のトレース・ビット3もセットされる。トレー
ス・ビット3がセットされているので、トレース・トラ
ップ発生手段4によってトレース・トラップが発生し
(10)、デバッガ7に制御が戻る。従って、デバッガ7
を使って被デバッグプログラム6のレジスタの内容やメ
モリ8の内容をチェックすることができる(10)。
〔発明の効果〕
以上説明したように、この発明は前記プログラム実行
空間を切り換える命令を実行した際に、前記プログラム
実行空間を切り換える命令を実行する直前の前記決定ビ
ットがセットされていないときは、新しいプログラム実
行空間における決定ビットの設定を行い、前記決定ビッ
トがセットされているときは、前記プログラム実行空間
を切り換える命令を実行する前の決定ビットと前記新し
いプログラム実行空間における決定ビットとに基づいて
決定ビットの設定を行う決定手段を設けたので、決定ビ
ットを書き換える命令の実行を終了した際に、常にトレ
ース・トラップを発生させることができ、決定ビットを
書き換える命令をステップ実行させてデバッグを行うこ
とが可能となる。従って、デバッグを行っている最中
に、トレース・ビットを書き換える命令を不注意にステ
ップ実行させた場合に、トレース・トラップが発生せ
ず、デバッグを最初からやり直すという事態を回避で
き、プログラムのデバッグ効率を大幅に向上できる効果
を奏する。
【図面の簡単な説明】
第1図はこの発明の一実施例を示すデバッグ支援装置の
構成を説明するブロック図、第2図はこの発明に係るデ
バッグ支援装置におけるデバッグ処理手順の一例を示す
フローチャート、第3図は従来のデバッグ支援装置の構
成を説明するブロック図、第4図は、第3図に示したデ
バッグ支援装置の処理手順の一例を示すフローチャー
ト、第5図は命令実行前のスタックポインタとメモリ内
容との相対関係を説明する相関図、第6図は従来のデバ
ッグ支援装置におけるRT命令のデバッグ処理手順の一例
を説明するフローチャートである。 図中、1はCPU、2は実行空間選択ビット、3はトレー
ス・ビット、4はトレース・トラップ発生手段、5はバ
ス、6は被デバッグプログラム、7はデバッガ、8はメ
モリ、9はトレース・ビットセット選択手段である。 なお、図中の同一符号は同一または相当部分を示す。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】二以上のプログラム実行空間を切り換える
    命令を含む1命令の実行終了毎にトラップ処理を発生さ
    せるトラップ発生手段と、このトラップ発生手段による
    トラップ処理の発生を決定する決定ビットを有し、この
    決定ビットがプログラム実行空間毎に独立しているデバ
    ッグ支援装置において、前記プログラム実行空間を切り
    換える命令を実行した際に、前記プログラム実行空間を
    切り換える命令を実行する直前の前記決定ビットがセッ
    トされていないときは新しいプログラム実行空間におけ
    る決定ビットの設定を行い、前記決定ビットがセットさ
    れているときは、前記プログラム実行空間を切り換える
    命令を実行する前の決定ビットと前記新しいプログラム
    実行空間における決定ビットとに基づいて決定ビットの
    設定を行う決定手段を具備したことを特徴とするデバッ
    グ支援装置。
JP2052085A 1990-03-01 1990-03-01 デバッグ支援装置 Expired - Lifetime JP2697230B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2052085A JP2697230B2 (ja) 1990-03-01 1990-03-01 デバッグ支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2052085A JP2697230B2 (ja) 1990-03-01 1990-03-01 デバッグ支援装置

Publications (2)

Publication Number Publication Date
JPH03252733A JPH03252733A (ja) 1991-11-12
JP2697230B2 true JP2697230B2 (ja) 1998-01-14

Family

ID=12904992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2052085A Expired - Lifetime JP2697230B2 (ja) 1990-03-01 1990-03-01 デバッグ支援装置

Country Status (1)

Country Link
JP (1) JP2697230B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS609294A (ja) * 1983-06-29 1985-01-18 Fujitsu Ltd 回線異常通知方法
JPS60254336A (ja) * 1984-05-31 1985-12-16 Fujitsu Ltd コンデイシヨン・コ−ド保証制御方式

Also Published As

Publication number Publication date
JPH03252733A (ja) 1991-11-12

Similar Documents

Publication Publication Date Title
JP2749528B2 (ja) エラー解析用のトレーサシステム
US6161216A (en) Source code debugging tool
JP2697230B2 (ja) デバッグ支援装置
JPH03113648A (ja) プログラムデバツグ方式
JP2005353020A (ja) コンピュータプログラムのシミュレーション方式
JP2003281076A (ja) Dmaコントローラの不正アクセス検出装置、不正アクセス検出方法およびそのプログラム
JP2663895B2 (ja) Cpuシミュレータ
JP2513142B2 (ja) プログラムのシミュレ―タ装置
JPH0561717A (ja) プログラムデバツグ装置
JP2659366B2 (ja) デバッグ方法及びその装置
JPH07319730A (ja) テスト・デバッグ方法
JP3101458B2 (ja) プログラム異常検出装置
JPH1049401A (ja) プログラムのデバッグ方法
JPH08320813A (ja) プログラムシミュレータ装置及びプログラムデバッグ方法
JPS61180342A (ja) 高級言語のステツプ実行方式
JP2002014844A (ja) デバッグ方法及び記録媒体
JPH06214828A (ja) 対話型デバッグ制御装置
JPH04358232A (ja) 情報処理装置の機能試験方法
JPH11327954A (ja) 割込み処理方法およびプログラム処理装置
JPS59202548A (ja) デバツグ装置
JPS63310037A (ja) プログラムデバッグ方式
JPS6029846A (ja) 情報処理装置における実行状態制御方式
JPH05204710A (ja) イベントトレース装置
JPH0535526A (ja) ターゲツトプログラムデバツグ方式
JPH09146776A (ja) オブジェクト生成方法、及びデバッグ方法