JP3645452B2 - プログラムデバッグ装置及びプログラムを記録した記録媒体 - Google Patents
プログラムデバッグ装置及びプログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP3645452B2 JP3645452B2 JP22141899A JP22141899A JP3645452B2 JP 3645452 B2 JP3645452 B2 JP 3645452B2 JP 22141899 A JP22141899 A JP 22141899A JP 22141899 A JP22141899 A JP 22141899A JP 3645452 B2 JP3645452 B2 JP 3645452B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- instruction
- execution
- execution result
- step number
- 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 - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
【発明の属する技術分野】
本発明は、作成されたプログラムをデバッグするプログラムデバッグ装置、及びこのプログラムデバッグ装置に組込まれ、プログラムデバッグを行うためのプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
作成されたプログラムをデバッグするプログラムデバッグ装置は例えば図5に示すように構成されている。
作成されたプログラム1においては、各ステップ番号2に対して命令3が書き込まれている。プログラムカウンタ4はステップ番号を計数する。プログラム実行部5は、プログラムカウンタ4のカウント値(計数値)が指定するステップ番号2の命令3を実行し、その実行結果をワークメモリ6へ書込む。この場合、一つ前に実行された命令3の実行結果を用いて次の命令3を実行する場合が多々ある。ワークメモリ5は各命令3の実行結果を一時的に記憶する機能を有しているので、新たな命令3の実行結果が生じると、この実行結果は先に実行された命令の実行結果に上書きされる。
【0003】
また、プログラム実行部5は、各ステップの命令3を実行する過程で、入出力I/O7を介して、外部メモリ8へデータを書込んだり、外部メモリ8からデータを取込む。
【0004】
さらに、操作部9を介して、操作者が指定したステップ番号2でプログラムカウンタ4の計数動作を一時停止させて、そのステップ番号2の命令3の実行結果を表示部10に表示させることができる。
【0005】
このように、操作者は、作成されたプログラム1におけるデバッグ動作において、任意のステップ番号2で、デバッグ動作を一時停止させて、その時点での命令3の実行結果を表示部10で確認できる。
【0006】
【発明が解決しようとする課題】
しかしながら、図5に示したプログラムデバッグ装置においても、まだ改良すべき次のような課題があった。
【0007】
すなわち、操作者は、プログラム1のデバッグ動作過程における任意位置での実行結果を確認することができる。しかし、このデバッグ動作はプログラム1におけるステップ番号の若い順に各命令3が実行されていくので、未実行の命令3のステップ番号2を指定して、この命令3の実行結果を確認することが可能である。
【0008】
しかし、実行済みのステップ番号における命令3の実行結果を表示させることができない。この理由は、各ステップにおける各命令3の実行結果はワークメモリ6に一旦、記憶されるが、次のステップの命令3が実行されると、その実行結果により上書きされ、ワークメモリ6上から消去されるから、たとえ、ステップ番号2で命令3を指定しても、該当命令3の一つ前の命令3の実行結果が不明であるので、該当命令3を実行できないからである。
【0009】
したがって、作成済みのプログラムに対する1回目のデバック処理の終了後、このデバッグ実行結果に異常点が発見された場合、その異常原因を究明するために、ステップ番号を指定して、該当位置の命令を再実行させる必要がある。このような場合、プログラム1のデバッグ動作をステップ番号2の先頭から再度やり直す必要がある。
【0010】
そのため、デバッグ対象のプログラムが長い場合、その都度、プログラムの最初からデバッグ動作を実行すると、デバッグ作業に多大の手間と作業時間が必要となり、このプログラムデバッグ装置を用いたプログラムに対するデバッグ作業能率が大幅に低下する。
【0011】
なお、ワープロソフトにおいては、オペレータが誤ってキー操作した場合において、この誤ったキー操作をキャンセルするために、プログラムの実行状態を一つ前のキー操作状態に戻す「UNDO」機能が組込まれている。
【0012】
しかし、この「UNDO」機能においては、キー入力単位で、過去の実行状態をメモリに記憶保持している。一つのキー操作で複数の命令が実行されることは頻繁に発生するので、たとえこの「UNDO」機能をプログラムデバッグ装置に組込んだとしても、操作者は、各命令毎の実行結果を得ることができない。
【0013】
さらに、この「UNDO」機能においては、実行されたキー操作を、キー操作一つ一つ順番に遡って行くので、1回の操作で目標のキー操作の実行状態を再現できない。
【0014】
本発明はこのような事情に鑑みてなされたものであり、各ステップの命令の実行結果を記憶保持することによって、デバッグ実行済みのプログラムにおける任意位置の命令を単独で実行させることができ、プログラムにおけるデバッグ作業能率を大幅に向上できるプログラムデバッグ装置及びプログラムデバッグを行うためのプログラムを記録した記録媒体を提供することを目的とする。
【0015】
【課題を解決するための手段】
本発明は、作成されたプログラムを構成する各ステップの命令を、ワークメモリに一時記憶された一つ前のステップで実行された命令の実行結果を用いて実行し、この実行結果をワークメモリの一つ前の実行結果に上書きすると共に、必要に応じてこの実行結果を出力するプログラムデバッグ装置に適用される。
【0016】
そして、上記課題を解消するために、本発明のプログラムデバッグ装置においては、各ステップの命令が実行される毎に、該当命令の実行順に、ワークメモリに書込まれた該当命令の実行結果を実行番号及びステップ番号と共にトレースファイルに記憶保持していく手段と、ステップ番号を指定したデバッグ再実行指令に応動して、トレースファイルに記憶された該当ステップ番号の一つ前に実行された命令のステップ番号を実行番号を用いて求め、このステップ番号の実行結果を抽出してワークメモリに書込む手段と、この手段にてワークメモリに実行結果が書込まれた後に、指定されたステップ番号の命令を実行する手段とを備えている。
【0017】
このように構成されたプログラムデバック装置においては、作成されたプログラムにおける各ステップの命令が実行される毎に、該当命令の実行順に、ワークメモリに書込まれた該当命令の実行結果を実行番号及びステップ番号と共にトレースファイルに記憶保持される。
【0018】
このように、実行済みの各命令の実行結果が破棄されずに、トレースファイルに記憶保持されていることは、任意位置の命令における一つ前の命令に対する実行結果も記憶保持されていることになる。その結果、任意位置の命令を一つ前の命令に対する実行結果を用いて即座に実行することができる。
【0019】
よって、デバッグ済みのプログラムにおける任意位置の命令に対するデバッグが再実行可能となり、作成済みのプログラムに対する1回目のデバッグ処理の終了後、このデバッグ実行結果に異常点が発見された場合における異常原因究明作業の能率を向上できる。
【0023】
さらに別の発明は、上述した発明のプログラムデバッグ装置としてコンピュータを機能させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体である。
【0024】
そして、この記録媒体に記憶されたプログラムは、プログラムデバッグ装置としてコンピユータに、各ステップの命令が実行される毎に、該当命令の実行順に、ワークメモリに書込まれた該当命令の実行結果を実行番号及びステップ番号と共にトレースファイルに記憶保持させ、ステップ番号を指定したデバッグ再実行指令に応動して、トレースファイルに記憶された該当ステップ番号の一つ前に実行された命令のステップ番号を実行番号を用いて求め、このステップ番号の実行結果を抽出してワークメモリに書込ませ、ワークメモリに実行結果が書込まれた後に、指定されたステップ番号の命令を実行させるようにしている。
【0025】
【発明の実施の形態】
以下、本発明の一実施形態を図面を用いて説明する。
図1は実施形態に係るプログラムデバッグ装置の概略構成を示すブロック図である。図5に示す従来のプログラムデバッグ装置と同一部分には同一符号を付して重複する部分の詳細説明を省略する。
【0026】
作成されたプログラム1においては、各ステップ番号2に対して命令3が書き込まれている。プログラムカウンタ4はステップ番号を計数する。プログラム実行部5は、プログラムカウンタ4のカウント値(計数値)CNが指定するステップ番号2の命令3を実行し、その実行結果をワークメモリ6へ書込む。ワークメモリ5は各命令3の実行結果を一時的に記憶する機能を有し、新たな命令3の実行結果が生じると、この実行結果はワークメモリ6に記憶された先に実行された命令の実行結果に上書きされる。
【0027】
また、プログラム実行部5は、各ステップの命令3を実行する過程で、入出力I/O7を介して、外部メモリ8へデータを書込んだり、外部メモリ8からデータを取込む。
【0028】
さらに、操作部9を介して、操作者が指定したステップ番号2でプログラムカウンタ4の計数動作を一時停止させて、そのステップ番号2の命令3の実行結果を表示部10に表示させることができる。
【0029】
さらに、この実施形態のプログラムデバッグ装置においては、データ取込部11、実行結果バッファ12、実行結果書込部13、トレースファイル14、戻り位置指定部15、実行結果抽出部16が設けられている。
【0030】
このプログラム実行部5、データ取込部11、実行結果書込部13、実行結果抽出部16は、RAMやROM等の記憶媒体に記録されたプログラムで実現される。
【0031】
トレースファイル14内には、図2に示すように、プログラム実行部5における命令3の実行番号17順に、該当プログラム実行部5で実行したプログラム1の各命令3、各ステップ番号2,各実行結果18が書込まれる。なお、実行番号17とステップ番号2とが一致しないのは、命令3が分岐命令等で、次に実行する命令3が必ずしも次のステップ番号2の命令3であるとは限らないからである。
【0032】
データ取込部11は、プログラム実行部5が実行してワークメモリ6に書込まれた各実行結果18を、実行番号17、ステップ番号2、命令3と共に取込んで実行結果バッファ12へ書込む。
【0033】
実行結果書込部13は、実行結果バッファ12が、実行結果18で満杯になると実行結果バッファ12に記憶された実行結果18をトレースファイル14へ移動させる。
【0034】
戻り位置指定部15は、操作者からステップ番号2又は命令3を指定したデバッグ再実行指令が入力されると、入力されたステップ番号2又は命令3をプログラム実行部5及び実行結果抽出部16へ送出すると共に、入力されたステップ番号2をプログラムカウンタ4の計数値CNに設定する。
【0035】
実行結果抽出部16は、戻り位置指定部15から指定されたステップ番号2又は命令3の一つ前(直前)に実行された命令3の実行結果18をワークメモリ6へ書込む。
【0036】
このような構成のプログラムデバック装置は図3に示す流れ図に従って作成されたプログラム1に対する1回目のデバック処理動作を実行する。
【0037】
まず、プログラムカウンタ4の計数値CNを「0」の初期値に設定する(S1)。次に、プログラム実行部5が起動してプログラムカウンタ4の計数値CNが示すステップ番号2の命令3を読出して実行する(S2)。そして、その実行結果18を実行番号17,ステップ番号2、該当命令3と共にワークメモリ6へ書込む(S3)。この命令3の実行過程で、必要ならば、ワークメモリ6に記憶されている一つ前に実行された命令3の実行結果を用いる。
【0038】
次に、データ取込部11が起動して、ワークメモリ6に今回書込まれた実行結果18を実行番号17、ステップ番号2、命令3と共に、実行結果バッファ12へ書込む(S4)。
【0039】
実行結果バッファ12が満杯になると(S5)、実行結果書込部13が起動して、実行結果バッファ12に記憶された実行結果18を読出して図2に示すトレースファイル14へ追加書込する(S6)。
その後、プログラムカウンタ4の計数値CNを1だけ更新する(S7)。
【0040】
CN=CN+1
更新後の計数値CNがプログラム1の最終のステップ数で定まる最大値CNmaxを超えていないことを確認すると(S8)、S2へ戻り、次のステップ番号の命令3を読出して実行する。
【0041】
更新後の計数値CNが最大値CNmaxを超えると、作成されたプログラム1に対する1回目のデバック処理動作を終了する。
【0042】
なお、図3の流れ図においては、作成されたプログラム1の各命令3に分岐条件が含まれない場合を示したが、分岐命令が含まれる場合は、分岐命令の実行結果に基づいて、プログラムカウンタ4の計数値CNが分岐先のステップ番号に移行する。しかし、たとえステップ番号2が不連続に移動したとしても、プログラム実行部5が行う各命令3の実行番号17は一連の続き番号を維持する。
【0043】
また、作成されたプログラム1に対する1回目のデバック処理動作が終了した後に、操作者が戻り位置指定部15からステップ番号2を指定したデバッグ再実行指令が入力されると、図4に示す流れ図に従って、デバッグ再実行処理を実行する。
【0044】
ステップ番号2を指定したデバッグ再実行指令が入力されると(Q1)、実行結果抽出部16が起動して、戻り位置指定部15から指定されたステップ番号(CNa)の一つ前(直前)ステップ番号(CNa−1)の命令3の実行結果18をトレースメモリ14から読出して(Q2)、ワークメモリ6へ書込む(Q3)。次に、プログラムカウンタ4の計数値CNを指定ステップ番号CNaに一致させる(Q4)。
【0045】
CN=CNa
そして、プログラム実行部5を起動して、プログラムカウンタ4の計数値CNが指定するステップ番号2の命令3を読出して実行する。この場合、必要ならば、ワークメモリ6に実行結果抽出部16にて書込まれた一つ前に実行された命令の実行結果を用いる(Q5)。そして、今回の新たな実行結果18をワークメモリ6へ書込む(Q6)。その後、今回の実行結果18を表示部10に表示出力する(Q7)。
【0046】
そして、操作部9からデバッグの継続実行指示が入力されなければ、所定の終了処理を実行して(Q9)、今回のデバッグ再実行処理を終了する。
【0047】
また、操作部9からデバッグの継続実行指示が入力されると、図3のS7へ移行して、プログラムカウンタ4の計数値CNを1だけ更新した後、S2へ戻り、次のステップ番号2の命令3を読出して実行する。すなわち、指定されたステップ番号からプログラム1のデバッグ処理動作を開始する。
【0048】
このように構成されたプログラムデバッグ装置においては、作成されたプログラム1に対する1回目のデバッグ処理動作過程において、各ステップ番号2の命令3がプログラム実行部5で実行される毎に、ワークメモリ6に書込まれた該当命令3の実行結果18が実行番号17、ステップ番号2、該当命令3と共にトレースファイル14に時系列的に記憶保持されて行く。
【0049】
そして、作成されたプログラム1に対する1回目のデバッグ処理動作が終了した後に、デバッグ実行結果に異常点が発見された場合に、ステップ番号2を指定してデバッグ再実行指令を入力すると、ステップ番号2の命令3一つ前の命令3に対する実行結果を用いて即座に実行される。
【0050】
よって、デバッグ済みのプログラム1における任意位置の命令3に対するデバッグが再実行可能となり、作成済みのプログラム1に対する1回目のデバッグ処理の終了後、このデバッグ実行結果に異常点が発見された場合における異常原因究明作業の能率を向上できる。
【0051】
なお、本発明は上述した実施形態に限定されるものではない。実施形態装置においては、ステップ番号で再度デバッグする命令3を指定した。しかし、命令3とステップ番号2とは対応しているので、直接命令3を指定することも可能である。
【0052】
また、上述した実施形態に説明した装置は、記録媒体に格納したプログラムをコンピュータに読み込ませることで実現させることができる。
【0053】
ここで本発明における記録媒体としては、磁気ディスク、フロッピーディスク、ハードディスク、光ディスク(CD−ROM、CD−R、DVD等)、光磁気ディスク(MO等)、半導体メモリ等、プログラムを記録でき、かつコンピュータが読み取り可能な記録媒体であれば、その記録形式は何れの形態であってもよい。
【0054】
また、記録媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
【0055】
さらに、本発明における記録媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記録又は一時記録した記録媒体も含まれる。
【0056】
また、記録媒体は1つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記録媒体に含まれ、媒体構成は何らの構成であってもよい。
【0057】
なお、本発明におけるコンピュータは、記録媒体に記録されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
【0058】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【0059】
【発明の効果】
以上説明したように、本発明のプログラムデバッグ装置及びログラムを記録した記録媒体においては、作成されたプログラムに対する1回目のデバッグ処理動作過程において、各ステップの命令の実行結果をトレースファイルに記憶保持している。
【0060】
その結果、一つ前の命令の実行結果が既知となるので、デバッグ実行済みのプログラムにおける任意位置の命令を単独で実行させることができ、プログラムにおけるデバッグ作業能率を大幅に向上できる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係わるプログラムデバッグ装置の概略構成を示すブロック図
【図2】同プログラムデバッグ装置内に形成されたトレースファイルの記憶内容を示す図
【図3】同プログラムデバッグ装置が行うプログラムに対する1回目のデバック処理動作を示す流れ図
【図4】同プログラムデバッグ装置が行うプログラムに対するデバッグ再実行処理動作を示す流れ図
【図5】従来のプログラムデバッグ装置の概略構成を示すブロック図
【符号の説明】
1…プログラム
2…ステップ番号
3…命令
4…プログラムカウンタ
5…プログラム実行部
6…ワークメモリ
y…入出力I/F
8…外部メモリ
9…操作部
10…表示部
11…データ取込部
12…実行結果バッファ
13…実行結果書込部
14…トレースファイル
15…戻り位置指定部
16…実行結果抽出部
17…実行番号
18…実行結果
Claims (2)
- 作成されたプログラムを構成する各ステップの命令を、ワークメモリに一時記憶された一つ前のステップで実行された命令の実行結果を用いて実行し、この実行結果を前記ワークメモリの前記一つ前の実行結果に上書きすると共に、必要に応じてこの実行結果を出力するプログラムデバッグ装置において、
前記各ステップの命令が実行される毎に、該当命令の実行順に、前記ワークメモリに書込まれた該当命令の実行結果を実行番号及びステップ番号と共にトレースファイルに記憶保持していく手段と、
ステップ番号を指定したデバッグ再実行指令に応動して、前記トレースファイルに記憶された該当ステップ番号の一つ前に実行された命令のステップ番号を前記実行番号を用いて求め、このステップ番号の実行結果を抽出して前記ワークメモリに書込む手段と、
この手段にて前記ワークメモリに実行結果が書込まれた後に、前記指定されたステップ番号の命令を実行する手段と
を備えたプログラムデバッグ装置。 - 請求項1に記載されたプログラムデバッグ装置としてコンピュータを機能させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22141899A JP3645452B2 (ja) | 1999-08-04 | 1999-08-04 | プログラムデバッグ装置及びプログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22141899A JP3645452B2 (ja) | 1999-08-04 | 1999-08-04 | プログラムデバッグ装置及びプログラムを記録した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001051872A JP2001051872A (ja) | 2001-02-23 |
JP3645452B2 true JP3645452B2 (ja) | 2005-05-11 |
Family
ID=16766438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22141899A Expired - Fee Related JP3645452B2 (ja) | 1999-08-04 | 1999-08-04 | プログラムデバッグ装置及びプログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3645452B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005165600A (ja) * | 2003-12-02 | 2005-06-23 | Nec Corp | トランザクション処理システム、トランザクション処理方法およびプログラム |
US9489284B2 (en) * | 2012-02-29 | 2016-11-08 | Freescale Semiconductor, Inc. | Debugging method and computer program product |
-
1999
- 1999-08-04 JP JP22141899A patent/JP3645452B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001051872A (ja) | 2001-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3206641B2 (ja) | マイコンシステムのデバッグ方法、デバッグ装置及びデバッグプログラムを記録した記録媒体 | |
JP3645452B2 (ja) | プログラムデバッグ装置及びプログラムを記録した記録媒体 | |
JPS60159951A (ja) | 情報処理装置におけるトレ−ス方式 | |
JPH0934754A (ja) | プログラムの性能測定装置と方法 | |
JP2002318712A (ja) | プログラム実行履歴解析方法 | |
JPH07200350A (ja) | ソフトウェアデバッガ | |
JP2642788B2 (ja) | 実行監視点削減方式 | |
JPH0287237A (ja) | Execute命令制御方式 | |
JPH0561717A (ja) | プログラムデバツグ装置 | |
JPH0468446A (ja) | デバッグ支援装置 | |
JPH10214204A (ja) | デバッガー | |
JP2515333B2 (ja) | システムの動的情報収集処理装置 | |
JPH08286950A (ja) | 情報処理装置及びトレース情報格納方法 | |
JPH06259278A (ja) | デバッグ情報の獲得方式 | |
JPS6341948A (ja) | シンボリツクデバグシステム | |
JPH11110253A (ja) | プログラムデバッグ装置およびデバッグ方法 | |
JPH04328644A (ja) | デバッグ支援装置 | |
JPH05274190A (ja) | ワークステーション稼働情報分析システム | |
JPH0269837A (ja) | プログラムデバック支援装置 | |
JPH04134535A (ja) | マルチタスクプログラムの例外情報採取機構 | |
JPS6240550A (ja) | プログラムデバツク装置 | |
JPH05225026A (ja) | 障害復旧方式 | |
JP2000089977A (ja) | デバッグシステム | |
JPS59229656A (ja) | プログラムデバツク装置 | |
JPS6326416B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040316 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041221 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050203 |
|
LAPS | Cancellation because of no payment of annual fees |