JPH05108404A - デバツガシステム - Google Patents

デバツガシステム

Info

Publication number
JPH05108404A
JPH05108404A JP3267952A JP26795291A JPH05108404A JP H05108404 A JPH05108404 A JP H05108404A JP 3267952 A JP3267952 A JP 3267952A JP 26795291 A JP26795291 A JP 26795291A JP H05108404 A JPH05108404 A JP H05108404A
Authority
JP
Japan
Prior art keywords
execution
resource
program
instruction
debugging
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
JP3267952A
Other languages
English (en)
Inventor
Takashi Sakai
酒井貴
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 Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP3267952A priority Critical patent/JPH05108404A/ja
Publication of JPH05108404A publication Critical patent/JPH05108404A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 被デバッグプログラムの逆方向へのステップ
実行を可能とし、デバッグ効率の向上を図る。 【構成】 デバッグ手段20は、被デバッグプログラム
の実行時に、その実行を構成する1命令実行において変
更した資源の情報を実行履歴として退避しておく退避手
段としてのバッファ書込み手段21および実行履歴バッ
ファ22と、この退避した実行履歴に基づき変更した資
源を元に戻すことにより逆方向への実行をシミュレート
する逆ステップ実行手段23とを含む。 【効果】 被デバッグプログラムの実行を誤って目的の
場所よりも先まで行ってしまった場合に、実行を始めか
らやりなおす必要がなくなり、デバッグ効率を向上させ
ることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
におけるプログラムのデバッガシステムに利用され、特
に、デバッグプログラムの実行を行うデバッグコマンド
方式に関する。
【0002】
【従来の技術】従来のデバッガシステムでは、被デバッ
グプログラムの実行を行うコマンドとして、ノーマル実
行(ブレークポイントや端末からの割り込みのみで停止
する実行方法)、およびステップ実行(機械語の1命令
実行、もしくは高級言語の1行実行)を行うものが存在
する。
【0003】また、ステップ実行の上位機能として、機
械語の1命令先または高級言語の1行先まで実行を行う
コマンドも存在する。つまり、このコマンドは、ステッ
プ実行の際にサブルーチン呼び出しあるいは関数呼び出
しがあった場合は、サブルーチンあるいは関数を実行し
てから停止する手段を備えている。
【0004】その他、被デバッグプログラムがどのよう
に実行しているか、または実行してきたかをトレースす
る手段も存在する。トレースする情報としては、実行し
た命令または実行した高級言語のソース行やメモリのア
クセス状況等が存在する。
【0005】
【発明が解決しようとする課題】デバッガを使用してプ
ログラムをデバッグする際、通常、被デバッグプログラ
ム中のある目的の場所までの実行とその場所での資源の
参照または変更を繰り返し行う。しかし、実行時に誤っ
て目的の場所よりも数命令先まで進めてしまった場合、
その後予定していた資源の参照および変更を行うことが
困難になる。つまり、この状態において資源の参照は、
トレース手段を使用することにより、数命令前の情報を
ある程度得ることができるが、資源の変更は、トレース
手段およびその他の手段では実現することはできない。
よって、デバッガのユーザは、プログラムのデバッグを
最初からやりなおす必要があった。このように、従来の
デバッガでは被デバッグプログラムの実行を誤って目的
の場所よりも先まで行ってしまった場合、デバッグ効率
が低くなる欠点があった。
【0006】本発明の目的は、前記の欠点を除去するこ
とにより、被デバッグプログラムの実行を誤って目的の
場所よりも先まで行ってしまった場合に、デバッグ効率
を低くすることなくデバッグできるデバッガシステムを
提供することにある。
【0007】
【課題を解決するための手段】本発明は、被デバッグプ
ログラムを実行することでプログラムのデバッグを行う
デバッグ手段を備えたデバッガシステムにおいて、前記
デバッグ手段は、前記被デバッグプログラムの実行時に
その実行を構成する1命令実行において変更した資源の
情報を実行履歴として退避しておく退避手段と、この退
避した実行履歴に基づき変更した資源を元に戻すことに
より逆方向への実行をシミュレートする逆ステップ実行
手段とを含むことを特徴とする。
【0008】
【作用】被デバッグプログラムの実行時に、その実行を
構成する1命令実行において変更した資源の情報を実行
履歴として、退避手段により、例えば、実行履歴バッフ
ァに格納しておく。そして、被デバッグプログラムの実
行を誤って目的より先の場所に行った場合に、逆ステッ
プ実行手段により、前記の退避した実行履歴に基づき変
更した資源を元に戻すことにより逆方向への実行をシミ
ュレートする。
【0009】従って、デバッグを最初からやり直す必要
がなくなり、デバッグにかける作業量を大幅に縮減で
き、処理効率を向上させることが可能となる。
【0010】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。
【0011】図1は本発明の一実施例の要部を示すブロ
ック構成図である。
【0012】本実施例は、被デバッグプログラム10を
実行することでプログラムのデバッグを行うデバッグ手
段20を備えたデバッガシステムにおいて、本発明の特
徴とするところの、デバッグ手段20は、被デバッグプ
ログラム10の実行時にその実行を構成する1命令実行
において変更した資源の情報を実行履歴として退避して
おく退避手段としてのバッファ書込み手段21および実
行履歴バッファ22と、この退避した実行履歴に基づき
変更した資源を元に戻すことにより逆方向への実行をシ
ミュレートする逆ステップ実行手段23とを含んでい
る。
【0013】図2(a)および(b)に実行履歴バッフ
ァ22の形式について示す。図2(a)は実行履歴バッ
ファ22の形式の例で、図2(b)はそれに対応する実
行命令10aをアセンブリ表示したものである。なお、
「#」で始まる行はコメント行である。
【0014】この実行履歴バッファ22の場合、実行し
た命令単位の区切りは「INST」で示してあり、変更
資源情報の表記は、資源名、サブ資源名、変更前の値の
順序で行っている。また、ポインタ33によってこれか
ら実行する命令による変更資源情報の格納領域の位置を
管理している。
【0015】この例では、まずLD命令(ロード命令)
によってレジスタR1に対して書き込みを行うため、レ
ジスタR1の変更前の値を実行履歴バッファ22に格納
する。またプログラム・カウンタPCもこの命令の実行
によって増加するため、プログラムカウンタPCの変更
前の値を実行履歴バッファ22に格納する(フィールド
31)。次に、ST命令(ストア命令)によってメモリ
の0x5000番地に対して書き込みを行うため、0x
5000番地の変更前の値を実行履歴バッファ22に格
納する。プログラムカウンタPCも同様である(フィー
ルド32)。
【0016】次に、本実施例の動作について説明する。
【0017】まず、ステップ実行(1命令実行)を行う
際の資源の変更履歴の退避方法を2種類のデバッグ手段
20について説明する。デバッグ手段20が命令シミュ
レータの場合のフローチャートを図3に示す。このデバ
ッガシステムの場合は、機械語命令の動作をシミュレー
トする(ステップS1)と同時に変更した資源の変更前
の値を実行履歴バッファ22に格納する(ステップS
2)。そして、ポインタ33をバッファの空き領域まで
進める(ステップS3)。
【0018】デバッグ手段20が、命令をシミュレート
せずに実機上で命令を実行するデバッガの場合のフロー
チャートを図4に示す。このデバッガシステムの場合
は、命令を実行する前にその命令を解析し(ステップS
11)、その命令の実行によって変更される可能性のあ
る資源の値を変更資源情報として実行履歴バッファ22
に格納する(ステップS12)。そしてポインタ33を
バッファの空き領域まで進める(ステップS13)。そ
して1命令を実行する(ステップS14)。
【0019】次に、逆ステップ実行のフローチャートを
図5に示す。逆ステップ実行を起動すると、実行履歴バ
ッファ22中のポインタ33の指す領域の1つ前にポイ
ンタ33を戻し(ステップS21)、その領域に格納さ
れている変更資源の情報を読み出し(ステップS2
2)、その情報に基づいて該当の資源の値を元に戻す
(ステップS23)。
【0020】また、実際にこの逆ステップの実行手段2
3を使用した場合の例を図6に示す。この使用例40で
は、ステップ実行を行うコマンドは「step」であ
り、逆ステップ実行を行うコマンドは「rstep」で
ある。まず、コマンド実行34に示すように、「ste
p」コマンドを連続実行して被デバッグプログラムを数
命令実行する。ここで実行し過ぎた場合は、コマンド実
行35に示すように、「rstep」コマンドを実行し
て1命令前の環境に戻す。
【0021】
【発明の効果】以上説明したように、本発明は、逆ステ
ップ実行手段を有し、被デバッグプログラムの実行が目
的の場所よりも先に行き過ぎた場合に、逆に戻ることが
可能であるため、デバッグを最初からやり直す必要がな
くなり、デバッグにかける作業量を大幅に短縮すること
ができ、処理効率を向上できる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例の要部を示すブロック構成
図。
【図2】その実行履歴バッファの形式例を示す説明図。
【図3】デバッグ手段が命令シミュレータである場合の
命令実行の処理内容を示すフローチャート。
【図4】デバッグ手段が命令シミュレータ以外の場合の
命令実行の処理内容を示すフローチャート。
【図5】逆ステップ実行の処理内容を示すフローチャー
ト。
【図6】本実施例の使用例を示す説明図。
【符号の説明】
10 被デバッグプログラム 10a 実行命令 20 デバッグ手段 21 バッファ書込み手段 22 実行履歴バッファ 23 逆ステップ実行手段 31、32 フィールド 33 ポインタ 34、35 コマンド実行 40 使用例 S1〜S3、S11〜S14、S21〜S23 ステッ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 被デバッグプログラムを実行することで
    プログラムのデバッグを行うデバッグ手段を備えたデバ
    ッガシステムにおいて、 前記デバッグ手段は、前記被デバッグプログラムの実行
    時にその実行を構成する1命令実行において変更した資
    源の情報を実行履歴として退避しておく退避手段と、こ
    の退避した実行履歴に基づき変更した資源を元に戻すこ
    とにより逆方向への実行をシミュレートする逆ステップ
    実行手段とを含むことを特徴とするデバッガシステム。
JP3267952A 1991-10-16 1991-10-16 デバツガシステム Pending JPH05108404A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3267952A JPH05108404A (ja) 1991-10-16 1991-10-16 デバツガシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3267952A JPH05108404A (ja) 1991-10-16 1991-10-16 デバツガシステム

Publications (1)

Publication Number Publication Date
JPH05108404A true JPH05108404A (ja) 1993-04-30

Family

ID=17451880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3267952A Pending JPH05108404A (ja) 1991-10-16 1991-10-16 デバツガシステム

Country Status (1)

Country Link
JP (1) JPH05108404A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191875A (ja) * 1993-12-27 1995-07-28 Nec Corp デバッガー
JPH08320813A (ja) * 1995-05-26 1996-12-03 Nec Corp プログラムシミュレータ装置及びプログラムデバッグ方法
JP2007004400A (ja) * 2005-06-22 2007-01-11 Oki Data Corp プログラム・デバッグ方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191875A (ja) * 1993-12-27 1995-07-28 Nec Corp デバッガー
JPH08320813A (ja) * 1995-05-26 1996-12-03 Nec Corp プログラムシミュレータ装置及びプログラムデバッグ方法
JP2007004400A (ja) * 2005-06-22 2007-01-11 Oki Data Corp プログラム・デバッグ方法

Similar Documents

Publication Publication Date Title
KR100248376B1 (ko) 동적-비주얼 통합 병렬 디버깅 장치 및 디버깅 방법
JP2749528B2 (ja) エラー解析用のトレーサシステム
US5870607A (en) Method and apparatus for selective replay of computer programs
US20080127113A1 (en) Method and system for implementing watchpoints
JP2004164554A (ja) プログラム実行監視装置および方法
US7240334B1 (en) Methods, systems, and computer program products for deferred computer program tracing
US6330691B1 (en) Use of dynamic translation to provide breakpoints in non-writeable object code
US20070277165A1 (en) Debugging Interpreted Input
JPH05108404A (ja) デバツガシステム
JP2007034825A (ja) デバッグ装置
US8914274B1 (en) Method and system for instruction set simulation with concurrent attachment of multiple debuggers
JP2002342113A (ja) プログラム実行状況表示方法及びその実施装置並びにその処理プログラム
JPH0283749A (ja) マイクロプロセッサの内部割込み制御方式
JPH0561717A (ja) プログラムデバツグ装置
KR0175469B1 (ko) 칠프로그램 변수의 가시성 제어방법
JP2663895B2 (ja) Cpuシミュレータ
JP2659366B2 (ja) デバッグ方法及びその装置
JPH0461380B2 (ja)
JP2788353B2 (ja) タスクトレース方法
JP2002366378A (ja) プログラムのデバッグ装置及びデバッグ方法、並びに記憶媒体
JPH05250221A (ja) シミュレータ実行方式
JPH04328644A (ja) デバッグ支援装置
JP2001166966A (ja) デバッガにおける被テストプログラムの実行環境管理方法
JPH05108372A (ja) コンパイラ最適化処理内容の出力方式
JPS63259735A (ja) プログラム実動作環境におけるプログラム図によるプログラムデバツク方式