[go: up one dir, main page]

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

デバッグ支援装置

Info

Publication number
JPH0468446A
JPH0468446A JP2183752A JP18375290A JPH0468446A JP H0468446 A JPH0468446 A JP H0468446A JP 2183752 A JP2183752 A JP 2183752A JP 18375290 A JP18375290 A JP 18375290A JP H0468446 A JPH0468446 A JP H0468446A
Authority
JP
Japan
Prior art keywords
program
execution
executed
memory
instruction
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
JP2183752A
Other languages
English (en)
Inventor
Takeo Takahashi
高橋 猛夫
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 JP2183752A priority Critical patent/JPH0468446A/ja
Publication of JPH0468446A publication Critical patent/JPH0468446A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は処理袋! (CPU)上でリアルタイムに動作
するプログラムをデバッグするためのデバッグ支援装置
に関する。
〔従来の技術〕
第5図は、CPU上でリアルタイムに動作するプログラ
ムの実行をトレースしてデバッグするために用いられる
従来のデバッグ支援装置の概略の構成を示すブロック図
である。
第5図において、参照符号51はデバッグ対象のプログ
ラムを動作させるCPUを示しており、デバッグ対象の
プログラムはメモリ52に格納されている。また、メモ
リ52はデバッグ対象のプログラムを動作させるために
必要なデータ及びプログラムの動作中に発生する種々の
中間的なデータ等を格納する。
参照符号53はトレース部であり、上述のデバッグ対象
のプログラムがCPU51上で動作している間にCP[
I51 とメモリ52との間の情報の送受をリアルタイ
ムにトレースし、デバッグ情報として収集する。このト
レース部53が収集したデバッグ情報はトレースメモリ
54に格納される。
このような従来のデバッグ支援装置の動作は以下の如く
である。
メモリ52に格納されているデバッグ対象のプログラム
がCPU51上で動作している間に、トレース部53は
CPU51 とメモリ52との間を接続するアドレス線
、データ線、制御線等の状態を検出し、これらの状態か
らプログラムの実行アドレス、データ等の履歴を収集す
る。このようにして収集された実行アドレス、データ等
の履歴はデバッグ情報としてトレースメモリ54に格納
される。そして、トレースメモリ54内に最終的に蓄積
された膨大なデバッグ情報に基づいて、CPU51によ
りリアルタイムに実行されたプログラムのデバッグが行
われる。
即ち、トレースメモリ54に格納されている情報からプ
ログラムの処理の実際の流れが解析され、デバッグ対象
のプログラムの本来あるべき処理の流れとの対比により
デバッグの必要性のチエツク及びその部分の検出を行う
〔発明が解決しようとする課題〕
従来のプログラムのデバッグは以上のような構成のデバ
ッグ支援装置により得られたデバッグ情報に基づいて行
われるが、このような従来のデバッグ支援装置ではデバ
ッグ情報としてはCPUとメモリとの間で送受される情
報、即ち順次実行される各命令を特定するアドレス情報
とその実行によりメモリへ転送されるデータ等の情報の
みが得られるだけである。このため、プログラムを実際
に動作させた際に命令の実行順序が異なるような場合に
は比較的容易にデバッグが可能であるが、たとえばある
命令の実行によりCPU内のみで取り扱われてメモリへ
は転送されないようなデータが得られてそのデータに誤
りがあるような場合には、いずれの命令にハゲがあるの
かを究明することは非常に困難である。従って、従来の
デバッグ支援装置を使用してデバッグを行う場合には、
時間的コスト人的コストが膨大になるという問題がある
しかし、上述のような問題もプログラムがその本来の実
行順序通りに実行された場合にはその実行状態を再現さ
せることにより、ハゲ(プログラムミス)が含まれる命
令を究明することが可能ではある。
ところで、たとえば割込み処理が可能なプログラムをデ
バッグ対象としている場合は、実行中のプログラムの実
行アドレスとは無関係に外部から割込み要求が発生し、
これに応して割込み処理が実行されるため、割込み処理
をも含めた実行アドレスの履歴が同一になるプログラム
の動作を再現することは事実上困難である。このため、
割込み処理に関係するような部分のプログラムにハゲが
あってプログラムが誤動作したような場合には、同一の
動作を再現して誤動作の状態を確認したりすることが困
難である。
本発明はこのような事情に鑑みてなされたものであり、
デバッグ対象のプログラムを動作状態をトレースして得
られた実行アドレス及びデータに基づいて、プログラム
の実行状態を全(同一状態で再現し得るデバッグ支援装
置の提供を目的とす〔課題を解決するための手段〕 本発明のデバッグ支援装置は、プログラムの動作中に順
次実行される各命令を特定する情報をトレースして収集
するトレース手段と、このトレース手段が収集した情報
を順次格納する記憶手段と、この記憶手段に格納されて
いる各命令を特定する情報に基づいて、全く同一の状態
でプログラムを1命令ずつ再実行させ、その結果得られ
るデータを出力させる実行再現手段とを備えている。
C作用〕 本発明のデバッグ支援装置では、プログラムの動作中に
順次実行される各命令を特定する情報がトレース手段に
より収集されて順次記憶手段に格納される。そして、こ
の記憶手段に格納されている各命令を特定する情報に基
づいて、全く同一の状態でプログラムが1命令ずつ再実
行され、その結果得られるデータが出力されるので、ど
のような条件下において実行されたプログラムでも、同
一の状態で各命令が同一の順序で再実行されると共に、
その実行結果のデータがデバッグ情報として得られる。
〔実施例〕
以下、本発明をその実施例を示す図面を参照して詳述す
る。
第1図は本発明に係るデハソグ支援装置の一実施例の構
成を示すブロック図である。
第1図において、参照符号1はコマンド人力部であり、
本発明装置に対する種々のコマンド入力に使用される。
このコマンド入力部1から入力された種々のコマンドは
本体2に与えられる。
本体2は、コマンド解析部21.プログラム実行部22
.トレース部23.トレース情報リストメモリ24、実
行ステップ再現部25.メモリ26等にて構成されてい
る。
コマンド解析部21はコマンド入力部1から与えられた
コマンドを解析し、その結果に従って本体2内の各部を
起動する。
プログラム実行部22はコマンド解析部21からの指示
により起動され、メモリ26に予め格納されているデバ
ッグ対象のプログラムを実行する。このプログラム実行
部22によりプログラムが実行されると、そのプログラ
ム実行時の履歴情報、K体的にはプログラム実行部22
とメモリ26との間で送受される実行アドレス及びデー
タ等はトレース部23によりリアルタイムでトレースさ
れてトレース情報リストメモリ24に収集されて格納さ
れる。
実行ステップ再現部25はコマンド解析部21からの指
示により起動され、トレース情報リストメモリ24に格
納されている情報を解析してプログラム実行部22に命
令を1ずつ実行させることにより、プログラムの実行ス
テップを再現する。
参照符号3は表示部であり、本体2による処理結果の表
示に使用される。
このような構成の本発明装置の動作について以下に説明
する。
まず、デバッグ対象のプログラムの実行は、コマンド人
力部1により本体2へ入力されたコマンドをコマンド解
析部21が解析してプログラム実行部22を起動するこ
とにより行われる。起動されたプログラム実行部22は
メモリ26に格納されているデバッグ対象のプログラム
を実行し、メモリ26との間で実行アドレス及びデータ
等を送受する。このプログラム実行部22とメモリ26
との間で送受される実行アドレス及びデータ等がトレー
ス情報としてトレース部23により収集され、プログラ
ムの実行履歴としてトレース情報リストメモリ24に順
次格納される。
以上のようにしてプログラム実行部22がデバッグ対象
のプログラムの実行を終了した後、コマンド入力部1か
ら新たにコマンドを入力すると、このコマンドがコマン
ド解析部21により解析され、実行ステップ再現部25
が起動される。
第2図は実行ステップ再現部25の動作手順を示すフロ
ーチャートである。
実行ステップ再現部25は起動されるとまず、トレース
情報リストメモリ24に格納されている情報の内から実
行すべきアドレスのデータを検索する(ステップSl)
第3図(alは上述のトレース情報リストメモリ24に
格納されているトレース情報リスト11を示しており、
各トレース情報はそれぞれ実行アドレスのデータとその
アドレスの命令コードとで一組にされて格納されている
ステップS1において実行すべきアドレスのデータがト
レース情報リストメモリ24に格納されていないと判断
された場合(ステップS2)は直ちに処理を終了する。
トレース情報リストメモリ24中に実行すべきアドレス
のデータが格納されている場合は、実行ステップ再現部
25はそのデータをトレース情報リストメモリ24から
取出しくステップS3)、それに基づいて実行アドレス
の命令を1命令だけ実行するためのスタックフォーマン
トを形成する(ステップ34)。
第3回(′b)は上述のスタックフォーマットの例を示
す模式図である。
第3図(b)において、参照符号12はスタックフォー
マットを示しており、12aはCPU動作情報を、12
bは実行アドレスである。
上述のステップS3において、トレース情報リストメモ
リ24のトレース情報リスト11から取出された実行ア
ドレスのデータはステップS4においてスタックフォー
マノ目2中の実行アドレス12bを形成する。
次に、l命令実行後にトレーストラップを発生させるた
めのCPU動作情報12aが作成される(ステップ35
)。
以上のステップS4及びS5によりスタックフォーマッ
ト12が形成され、これらがプログラム実行部22に与
えられることにより、プログラム実行部22は与えられ
た実行アドレス12bの命令をメモリ26から読出して
実行する(ステップS6)。
この結果、表示部3にはたとえば第4図に参照符号3a
及び3bにてそれぞれ示す如く、■命令を実行した場合
のその命令自体及びその命令を実行した場合の再現処理
の結果が示される。第4図において、参照符号3aの“
>ts”は実行ステップの再現コマンドを、“1001
0: ADD 1110. RO”は実行アドレス及び
命令コードを、参照符号3bの“>rRo”は再現実行
の結果表示コマンド及び表示されているのがROの内容
であることを、更に“RO−001AOOIO“は再現
実行の結果そのもの、換言すれば命令を実行した結果の
データをそれぞれ表している。
このようにして、トレース情報リストメモリ24に格納
されているトレース情報リスト11の−っのアドレスデ
ータに対応して一つの命令が実行されると次にCPU動
作情報12aに従ってトラップが発生されるので(ステ
ップ7)、プログラム実行部22による処理は一旦停止
してステップS1へ処理が戻される。
従って、以降はステップs1がらステップs7の処理が
順次反復され、トレース情報リストメモリ24に格納さ
れているトレース情報リス目1中の全実行アドレスにつ
いて同様の処理が行われた後、ステップS2にて実行す
べきアドレスデータが無いと判定されて処理が終了する
以上により、トレース情報リストメモリ24に格納され
ているトレース情報リスト11に従ってデバッグ対象の
プログラムがステップ実行され、それぞれのステップに
ついてその命令のアドレスと、命令コードと、その命令
の実行結果とが得られるので、これらの情報に基ブいて
デバッグが行える。
〔発明の効果〕
本発明のデバッグ支援装置によれば、どのような条件下
において実行されたプログラムでも、同一の状態で各命
令が同一の順序で再実行されると共に、その実行結果の
データがデバッグ情報として得られる。このため、従来
は命令実行の結果がCPU内でのみ処理されていたよう
な場合にもそれが得られるので、効率的なデバッグが可
能になる。
【図面の簡単な説明】
第1図は本発明に係るデバッグ支援装置の構成例を示す
ブロック図、第2図は実行ステップ再現部による動作手
順を示すフローチャート、第3図(alはトレース情報
リストの、同(b)はスタックフォーマットのそれぞれ
模式図、第4図は本発明装置により得れるデバッグ情報
の表示部への表示状態を例示した模式図、第5図は従来
のデバッグ支援装置の構成例を示すブロック図である。 1】・・・トレース情報リスト  12・・・スタック
フォーマット  22・・・プログラム実行部  23
・・・トレス部  24・・・トレース情報リストメモ
リ  25・・・実行ステップ再現部  26・・・メ
モリなお、図中、同一符号は同一、又は相当部分を示す

Claims (1)

    【特許請求の範囲】
  1. (1)処理装置により実行されるデバッグ対象のプログ
    ラムを構成する各命令を特定するアドレス情報をリアル
    タイムにトレースして収集するトレース手段と、該トレ
    ース手段により収集されたアドレス情報を格納する記憶
    手段とを備え、前記記憶手段に格納されている情報をデ
    バッグのために使用すべくなしたデバッグ支援装置にお
    いて、 前記記憶手段に格納されているアドレス情報を読出し、
    各アドレス情報に対応する命令を前記処理装置に順次一
    つずつ実行させてその実行結果を出力させるための命令
    を生成する実行再現手段を備え、 各命令の実行結果を前記トレース手段により収集して前
    記記憶手段に格納させるべくなしてあることを特徴とす
    るデバッグ支援装置。
JP2183752A 1990-07-09 1990-07-09 デバッグ支援装置 Pending JPH0468446A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2183752A JPH0468446A (ja) 1990-07-09 1990-07-09 デバッグ支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2183752A JPH0468446A (ja) 1990-07-09 1990-07-09 デバッグ支援装置

Publications (1)

Publication Number Publication Date
JPH0468446A true JPH0468446A (ja) 1992-03-04

Family

ID=16141357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2183752A Pending JPH0468446A (ja) 1990-07-09 1990-07-09 デバッグ支援装置

Country Status (1)

Country Link
JP (1) JPH0468446A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240529B1 (en) 1997-06-04 2001-05-29 Nec Corporation Debugging method and debugging apparatus for microcomputer system and recording medium on which debug program is recorded
JP2019537782A (ja) * 2016-10-11 2019-12-26 グリーン ヒルズ ソフトウェア, エルエルシーGreen Hills Software, Llc 垂直統合インストルメント化およびトレース再構成のためのシステム、方法およびデバイス

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240529B1 (en) 1997-06-04 2001-05-29 Nec Corporation Debugging method and debugging apparatus for microcomputer system and recording medium on which debug program is recorded
JP2019537782A (ja) * 2016-10-11 2019-12-26 グリーン ヒルズ ソフトウェア, エルエルシーGreen Hills Software, Llc 垂直統合インストルメント化およびトレース再構成のためのシステム、方法およびデバイス

Similar Documents

Publication Publication Date Title
US8028278B2 (en) Method of generating and utilizing debug history
US6658649B1 (en) Method, apparatus and article of manufacture for debugging a user defined region of code
US7178135B2 (en) Scope-based breakpoint selection and operation
US20030208746A1 (en) Conditional breakpoint encountered indication
US7080360B2 (en) Breakpoint safety net
JPH0468446A (ja) デバッグ支援装置
US20030018957A1 (en) Debugger monitor with anticipatory highlights
JPH02275539A (ja) デバッグ処理方式
JP2570593B2 (ja) デバッグ装置
JPH0262639A (ja) 言語デバッガの中断方式
JP2788353B2 (ja) タスクトレース方法
JPH0269837A (ja) プログラムデバック支援装置
JPH05216828A (ja) ソフトウェアシミュレータのバッチ実行下でのエラー処理方式
JPS63640A (ja) デ−タフロ−の部分ユニツト実行制御方式
JPH064348A (ja) プログラムデバッグ方式
JPH02236721A (ja) プログラミング支援装置
JPH03242736A (ja) 異常処理方式
JPH0695910A (ja) 異常処理のための対話型デバッグ制御方式
JPH0431933A (ja) 原始プログラム解析装置
JPH05127945A (ja) プログラム実行状況解析方式
JPS63228341A (ja) プログラム構文チエツク方式
JPH11191072A (ja) デバッグのブレイク処理方法及びデバッグ処理装置
JPH0520051A (ja) ソフトウエアコンバージヨン作業管理装置
JP2001067245A (ja) シミュレーション方法及びシミュレーション装置
JPH0358144A (ja) プログラム走行覆歴情報収集方式