JPH05224986A - シンボリックデバッガ - Google Patents

シンボリックデバッガ

Info

Publication number
JPH05224986A
JPH05224986A JP4028668A JP2866892A JPH05224986A JP H05224986 A JPH05224986 A JP H05224986A JP 4028668 A JP4028668 A JP 4028668A JP 2866892 A JP2866892 A JP 2866892A JP H05224986 A JPH05224986 A JP H05224986A
Authority
JP
Japan
Prior art keywords
execution
debugger
steps
return
child
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
JP4028668A
Other languages
English (en)
Inventor
Tatsuya Tsurukawa
達也 鶴川
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 JP4028668A priority Critical patent/JPH05224986A/ja
Publication of JPH05224986A publication Critical patent/JPH05224986A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 ステップ実行中に以前のステップに後戻りし
たくなった場合に、短時間に、既に設定してあるブレー
クポイントを無効にすることなく、しかも簡単な操作で
以前のステップに戻れるようにする。 【構成】 ステップ実行毎にデバッガプロセスが子プロ
セスを生成し、その子プロセスを停止させておくことに
より、以前のステップ状態を保持できるようにしてお
く。保持している子プロセスの実行を再開し、自分を終
了することにより、デバッガのカレントプロセスとして
の役目を子プロセスに渡し目的を達成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はシンボリックデバッガ
に関し、ステップ実行中に前のステップに戻りたくなっ
た時に、簡単な操作で前のステップに戻る機能を持った
シンボリックデバッガに関するものである。
【0002】
【従来の技術】従来のシンボリックデバッガにおいて、
ステップ実行中に以前のステップに戻る場合の操作手順
のフローチャートを図12に示す。
【0003】ステップ実行中に以前のステップに戻る場
合は、まず既に設定してあるブレークポイントを全て削
除する(S3)。次に戻りたい行にブレークポイントを
設定する(S4)。デバッグプロセスの再実行を行い
(S5)、コンティニュー(連続実行)コマンドにより
ブレークポイントまで実行する(S6)。
【0004】
【発明が解決しようとする課題】上記のような従来のシ
ンボリックデバッガでのステップ実行の後戻りは、直接
実行を戻すのではなく、戻りたい場所までのデバッグプ
ロセスを最初から再度実施することにより実現される。
この方法は、ブレークポイントを設定していなければそ
れほど問題はないが、ブレークポイントが設定されてい
る場合にはそれらが全て無効になってしまうという問題
点がある。既に設定してあるブレークポイントを残した
ままデバッグプロセスを再実行し、コンティニュー(連
続実行)コマンドを何回か使用して、目的の場所まで実
行を進めることも不可能ではないが、デバッグの対象と
なっているプログラムが巨大なもので、ブレークポイン
トの設定も数多くなされている場合は、目的の場所に達
するまでに多大な時間を要してしまうという問題点があ
る。
【0005】この発明はシンボリックデバッガを操作す
る上での上記のような問題点を解消するためになされた
もので、ステップ実行中に、短時間に、既に設定してあ
るブークポイントを無効にすることなく、しかも簡単な
操作で、以前のステップに戻ることのできるシンボリッ
クデバッガを得ることを目的とする。
【0006】
【課題を解決するための手段】この発明によるシンボリ
ックデバッガは、ステップ実行中に以前のステップに戻
るために、以前のステップの状態を停止したプロセスと
してメモリ上に保持し、戻る要求があった場合にそのプ
ロセスを再起動させることにより、ステップの後戻りを
実現したものである。
【0007】この発明によるシンボリックデバッガは、
ステップ実行中にのみ、以前のステップの状態を停止し
たプロセスとしてメモリ上に保持し、その他のコンティ
ニュー(連続実行)などのコマンドを使用する場合は上
記のプロセスを不要とみなして終了させることにより、
マシンに余計な負荷をかけないようにしたものである。
【0008】
【作用】この発明におけるシンボリックデバッガは、ス
テップ実行中に以前のステップに戻りたくなった場合
に、バックステップコマンドとバックステップ数を指定
する簡単な操作で、迅速に以前のステップに戻ることが
できる。
【0009】
【実施例】
実施例1.例えばUNIXなどの、ひとつのマシンを時
分割して用いることで複数のプロセスを並列的に実行で
きるシステムにおいては、あるプロセスの実行に与えら
れた時間が過ぎるとそのプロセスの途中経過(進んだス
テップの位置や変数の値、レジスタの状態など)を所定
の記憶手段に記憶しておき、他のプロセスの実行を行
う。そして次に実行の順番がきたときに、記憶しておい
た途中経過を読み出し、実行を再開するもので、これを
繰り返すことで各プロセスを最後まで実行する。この発
明はひとつのプロセスに対して、その途中経過を子プロ
セスとして生成しておくことにより、同一のプロセスで
以前のステップに後戻りすることを容易にするものであ
る。この発明に係わるシンボリックデバッガでのステッ
プ実行中に、以前のステップに後戻りする際の操作手順
のフローチャートを図1に示す。
【0010】この発明によるシンボリックデバッガは、
図2に示すように、ステップ実行毎にforkシステム
コールで自分と同じ子プロセス2を生成する。次に図3
に示すように、その子プロセス2にSIGTSTPシグ
ナルを送り停止させておく。以上の手続きを踏んだ後、
図4に示すように、親プロセス1(デバッガのカレント
プロセス)は次のステップへ実行を移す。
【0011】親プロセス1は生成した子プロセス2の順
番とプロセスIDを保持している。子プロセス2を生成
し続けるとメモリを多量に使用し、他のプロセスへの影
響、およびマシンのレスポンスの低下などを招くことに
なるので、子プロセス2の数は例えば最大5個とする。
従って、親プロセス1が既に5個の子プロセス2を保持
している状態で次のステップ実行が行われた場合、図5
に示すようにまず一番古い子プロセス2にSIGKIL
Iシグナルを送ってプロセスを終了させ、次に図6に示
すようにforkシステムコールで一番新しい子プロセ
ス2を生成する。さらに子プロセス2の生成順序を一つ
づつずらす。このシンボリックデバッガは以上のメカニ
ズムにより、最大5ステップ前までの状態を、停止した
プロセスとして保持できるようにしたものである。
【0012】ステップ実行中に、例えば3ステップ前の
段階に戻るとする。(最大5ステップ前に戻ることがで
きる。)図7に示すように、まず1親プロセス(現在動
作中のデバッガプロセス)は3番目に新しい2子プロセ
スを除いた残りの全ての子プロセス2にSIGKILL
シグナルを送りプロセスを終了させる。次に図8に示す
ように、3番目に新しい子プロセス2にSIGCONT
シグナルを送り、プロセスを再起動させる。最後に図9
に示すように、自分自身にSIGKILLシグナルを送
り、デバッガとしてのカレントプロセスの役目を3番目
に新しい子プロセス2に譲る。このシンボリックデバッ
ガは以上のメカニズムにより、デバッガのステップ実行
を例えば3ステップ前の段階に戻すことを可能にしたも
のである。
【0013】ステップ実行中には、親プロセス1は常に
最大5個の子プロセス2を管理しているが、ステップ実
行に続いてコンティニュー(連続実行)を行った場合に
は、まず図10に示すように、保持していた子プロセス
2は全て不要とみなしSIGKILLシグナルを送るこ
とによりプロセスを終了させ、その後、図11に示すよ
うにコンティニュー(連続実行)を行う。
【0014】再びステップ実行に移ると同時にステップ
毎に2子プロセスを生成するようにする。このシンボリ
ックデバッガは以上のメカニズムにより、ステップ実行
中のみに子プロセス2を保持し、それ以外の場合は不要
なプロセスを終了させてマシンに余計な負荷がかからな
いようにしたものである。
【0015】実施例2.上記実施例では、ステップ実行
中のみに最大5ステップまで後戻りできることを説明
し、コンティニュー(連続実行)操作を行った場合はそ
の効果が失われ、後戻りはできなくなるとしたが、コン
ティニュー(連続実行)操作もステップ実行操作の一種
とみなすことにより、ステップ実行、コンティニュー実
行を合わせた操作の中で以前のステップまたはコンティ
ニュー(連続実行)操作を止める以前のブレークポイン
トに戻ることが可能である。
【0016】
【発明の効果】この発明は、以上説明したように構成さ
れているので、シンボリックデバッガのステップ実行中
に、実行を止めたい場所を過ぎてしまい、ステップを後
戻りさせたい場合に、直接そのステップに戻ることがで
きるため、従来のように既に設定してあるブレークポイ
ントを無効にしたり、デバッグプロセスを最初からやり
直すなどの無駄な操作をすることなく、簡単かつ迅速に
目的を達成することができる。
【図面の簡単な説明】
【図1】この発明に係わるシンボリックデバッガで、ス
テップ実行中に以前のステップに戻るための手順を示す
フローチャート。
【図2】デバッガのカレントプロセス(親プロセス)か
ら子プロセスを生成することを示す説明図。
【図3】親プロセスが、生成した子プロセスを停止する
ことを示す説明図。
【図4】子プロセスは停止させたままで、親プロセスの
みが次のステップに移ることを示す説明図。
【図5】親プロセスが一番古い子プロセスを終了させる
ことを示す説明図。
【図6】親プロセスが一番新しい子プロセスを生成する
ことを示す説明図。
【図7】バックステップする際にステップする先のプロ
セス以外のプロセスを終了させることを示す説明図。
【図8】バックステップする先のプロセスを再起動させ
ることを示す説明図。
【図9】親プロセスがデバッガとしてのカレントプロセ
スの役目を子プロセスに引き渡すことを示す説明図。
【図10】コンティニューコマンドが実行される際に、
全ての子プロセスを終了させることを示す説明図。
【図11】全ての子プロセスを終了させた後にコンティ
ニューコマンドが実行されることを示す説明図。
【図12】従来のシンボリックデバッガにおいて、ステ
ップ実行中に以前のステップに戻る場合の操作手順を示
すフローチャート。
【符号の説明】
1 親プロセス 2 子プロセス

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 プログラムのステップ実行中に、次のス
    テップに移る前に実行中のデバッグプロセスを生成し、
    この生成したプロセスに進行停止シグナルを送ることに
    より、以前のステップの状態を記憶しておく記憶手段、
    ユーザのステップ後戻り要求に基づき、停止状態で記憶
    しておいたプロセスを再起動し、以前のステップ状態を
    再現する手段を備えたことを特徴とするシンボリックデ
    バッガ。
JP4028668A 1992-02-15 1992-02-15 シンボリックデバッガ Pending JPH05224986A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4028668A JPH05224986A (ja) 1992-02-15 1992-02-15 シンボリックデバッガ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4028668A JPH05224986A (ja) 1992-02-15 1992-02-15 シンボリックデバッガ

Publications (1)

Publication Number Publication Date
JPH05224986A true JPH05224986A (ja) 1993-09-03

Family

ID=12254896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4028668A Pending JPH05224986A (ja) 1992-02-15 1992-02-15 シンボリックデバッガ

Country Status (1)

Country Link
JP (1) JPH05224986A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997017638A1 (fr) * 1995-11-09 1997-05-15 Fanuc Ltd Systeme de commande de l'execution d'un programme sequentiel

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997017638A1 (fr) * 1995-11-09 1997-05-15 Fanuc Ltd Systeme de commande de l'execution d'un programme sequentiel
US6290403B1 (en) 1995-11-09 2001-09-18 Fanuc Ltd Sequence program execution control system

Similar Documents

Publication Publication Date Title
JP2002505768A (ja) 計算の状態を再構成する方法ならびにシステム
JPH07225693A (ja) 異なるアドレス空間にわたってスレッド事象を処理する方法
CN100359486C (zh) 一种调试操作系统内核态程序的方法及装置
JPH05341819A (ja) Sfcプログラムのデバッグ装置及びデバッグ方法
JPH05224986A (ja) シンボリックデバッガ
JPH0588933A (ja) デバツグ機能を有する並列処理システム
JPH0250228A (ja) デバッグ処理装置
JP2715988B2 (ja) プログラムシミュレータ装置及びプログラムデバッグ方法
CN112130990B (zh) 机器人任务运行方法及系统
JPH0218644A (ja) キャッシュメモリ制御方式
JPS62290942A (ja) デバツガ起動方式
JPH09259004A (ja) デバッグ方法
JP2000181746A (ja) デバッグサポート付プロセッサ、及びデバッグ機能実行制御方法
JPH0561717A (ja) プログラムデバツグ装置
JP2663895B2 (ja) Cpuシミュレータ
JP2751423B2 (ja) プログラムデバッグ処理方式
JPH08161195A (ja) アドレストレース格納装置及びアドレストレース生成方法
JPS63639A (ja) プログラムデバツグ方式
JPS61279949A (ja) プログラムデバツグ方式
JPH08241224A (ja) エミュレータ用インターフェース回路
JP2004005302A (ja) モーションプログラムの実行装置およびデバック装置
JPH06214828A (ja) 対話型デバッグ制御装置
JPH04332050A (ja) 再起動時中断点からの再開可能なデバガ
JPH11288371A (ja) インサーキットエミュレータ
JPH04296943A (ja) 関数型言語のデバッグ方式