JPH0695910A - 異常処理のための対話型デバッグ制御方式 - Google Patents
異常処理のための対話型デバッグ制御方式Info
- Publication number
- JPH0695910A JPH0695910A JP4105092A JP10509292A JPH0695910A JP H0695910 A JPH0695910 A JP H0695910A JP 4105092 A JP4105092 A JP 4105092A JP 10509292 A JP10509292 A JP 10509292A JP H0695910 A JPH0695910 A JP H0695910A
- Authority
- JP
- Japan
- Prior art keywords
- execution
- user program
- control means
- program
- post
- 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.)
- Withdrawn
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】 プログラムを対話的にデバッグする場合にお
いて、プログラムに異常が発生した場合のデバッグ処理
を行うことを目的とする。 【構成】 デバッグ制御手段2として、実行後中断点コ
マンド解析手段4と実行後中断点設定制御手段6と、リ
ターンコード変更制御手段7と、利用者プログラムオブ
ジェクト8中にコンパイラーによって生成される実行後
中断点情報10とから構成され、指定した命令実行後に
中断点を設定可能とすることで、利用者プログラムオブ
ジェクト8の中の入出力エラーを疑似的に起こした異常
時のプログラム動作をデバッグ可能とした。 【効果】 利用者プログラムでシステムを呼び出した後
の結果を変更可能とすることで、プログラムの異常処理
のデバッグを可能とする効果を有する。
いて、プログラムに異常が発生した場合のデバッグ処理
を行うことを目的とする。 【構成】 デバッグ制御手段2として、実行後中断点コ
マンド解析手段4と実行後中断点設定制御手段6と、リ
ターンコード変更制御手段7と、利用者プログラムオブ
ジェクト8中にコンパイラーによって生成される実行後
中断点情報10とから構成され、指定した命令実行後に
中断点を設定可能とすることで、利用者プログラムオブ
ジェクト8の中の入出力エラーを疑似的に起こした異常
時のプログラム動作をデバッグ可能とした。 【効果】 利用者プログラムでシステムを呼び出した後
の結果を変更可能とすることで、プログラムの異常処理
のデバッグを可能とする効果を有する。
Description
【0001】
【産業上の利用分野】本発明は異常処理のための対話型
デバッグ制御方式に関し、特にオペレーティングシステ
ムの制御下で動作する利用者プログラムをデバッグする
ために実行中に必要となる異常処理のための対話型デバ
ッグ制御方式に関する。
デバッグ制御方式に関し、特にオペレーティングシステ
ムの制御下で動作する利用者プログラムをデバッグする
ために実行中に必要となる異常処理のための対話型デバ
ッグ制御方式に関する。
【0002】
【従来の技術】従来、利用者プログラムを対話型でデバ
ッグする場合では、実行中の利用者プログラムを止める
ための中断点の設定方法として、利用者がプログラム内
の行番号や手続きラベル名を対話型のデバッグ用コマン
ドで指定するが、このとき中断点として設定されるオブ
ジェクト上のアドレスは、指定された行番号や手続きラ
ベル名をもつ実行命令の先頭のアドレスが設定されてい
た。しかし、利用者プログラムは、ファイルの入出力や
オンラインメッセージの送受信のためにシステムの呼び
出しを行っており、命令実行前の中断点の設定手段では
その呼び出し結果が異常のときのデバッグを行うことが
できなかった。特に、単体テストでは発生せず、本番運
用で始めて発生するような入出力エラー状態(例えばデ
ッドロックのようなエラー)に対するデバッグを従来の
対話型デバッグ手段で行うことができなかった。
ッグする場合では、実行中の利用者プログラムを止める
ための中断点の設定方法として、利用者がプログラム内
の行番号や手続きラベル名を対話型のデバッグ用コマン
ドで指定するが、このとき中断点として設定されるオブ
ジェクト上のアドレスは、指定された行番号や手続きラ
ベル名をもつ実行命令の先頭のアドレスが設定されてい
た。しかし、利用者プログラムは、ファイルの入出力や
オンラインメッセージの送受信のためにシステムの呼び
出しを行っており、命令実行前の中断点の設定手段では
その呼び出し結果が異常のときのデバッグを行うことが
できなかった。特に、単体テストでは発生せず、本番運
用で始めて発生するような入出力エラー状態(例えばデ
ッドロックのようなエラー)に対するデバッグを従来の
対話型デバッグ手段で行うことができなかった。
【0003】
【発明が解決しようとする課題】上述した従来の対話画
デバッグ制御手段では、利用者プログラムの命令実行前
にしか中断点の設定ができない。このため、利用者プロ
グラムのオブジェクトプログラムがシステムを呼び出
し、その結果を疑似的に異常としてプログラムのデバッ
グを行う手段がなかった。また高水準言語で記述された
利用者プログラムでは、指定した行番号をもつ命令の次
の命令に中断点を設定しても、システムを呼び出した後
の結果を通知するリターンコードの変更で疑似的な異常
を起こし、異常時のデバッグを行うことができない。こ
れは、利用者プログラムのオブジェクトのなかでコンパ
イラによって暗黙に生成された部分が先に実行される場
合があるためである。
デバッグ制御手段では、利用者プログラムの命令実行前
にしか中断点の設定ができない。このため、利用者プロ
グラムのオブジェクトプログラムがシステムを呼び出
し、その結果を疑似的に異常としてプログラムのデバッ
グを行う手段がなかった。また高水準言語で記述された
利用者プログラムでは、指定した行番号をもつ命令の次
の命令に中断点を設定しても、システムを呼び出した後
の結果を通知するリターンコードの変更で疑似的な異常
を起こし、異常時のデバッグを行うことができない。こ
れは、利用者プログラムのオブジェクトのなかでコンパ
イラによって暗黙に生成された部分が先に実行される場
合があるためである。
【0004】本発明は上記の点に鑑み提案されたもので
あり、その目的とするところは、利用者プログラムから
システムを呼び出す命令の実行後に中断点を設定可能と
すること、およびシステムから返却される結果を示すリ
ターンコードを利用者が変更可能とすることにより、利
用者プログラムの異常時のデバッグを可能とする対話型
デバッグ制御方式を提供することにある。
あり、その目的とするところは、利用者プログラムから
システムを呼び出す命令の実行後に中断点を設定可能と
すること、およびシステムから返却される結果を示すリ
ターンコードを利用者が変更可能とすることにより、利
用者プログラムの異常時のデバッグを可能とする対話型
デバッグ制御方式を提供することにある。
【0005】
【課題を解決するための手段】本発明は上記の目的を達
成するため、本発明の異常処理のための対話型デバッグ
制御方式は、利用者プログラムを対話的にデバッグ中
に、利用者によりプログラム中の中断点を設定する場合
に、指定した命令を実行した後に中断点を設定するため
のコマンドを解析する実行後中断点コマンド解析手段
と、実行後中断点を設定するための実行後中断点制御手
段と、異常処理のために利用者プログラムからシステム
を呼び出した結果を示すリターンコードを変更するリタ
ーンコード変更制御手段とを有する利用者プログラムの
異常処理を行って構成される。
成するため、本発明の異常処理のための対話型デバッグ
制御方式は、利用者プログラムを対話的にデバッグ中
に、利用者によりプログラム中の中断点を設定する場合
に、指定した命令を実行した後に中断点を設定するため
のコマンドを解析する実行後中断点コマンド解析手段
と、実行後中断点を設定するための実行後中断点制御手
段と、異常処理のために利用者プログラムからシステム
を呼び出した結果を示すリターンコードを変更するリタ
ーンコード変更制御手段とを有する利用者プログラムの
異常処理を行って構成される。
【0006】
【作用】本発明の異常処理のための対話型デバッグ制御
方式は、利用者が利用者プログラムをデバッグするため
に実行命令を実行した後に中断点を設定するためのコマ
ンドを解析する実行後コマンド解析制御手段が解析した
結果により実行後中断点設定手段を呼び出し、その実行
後中断点設定手段は利用者プログラムのオブジェクト中
に生成されているデバッグ情報テーブルのなかの実行後
中断点情報を参照して、中断点アドレスを取り出し設定
する。またリターンコード変更手段によって、利用者が
システムルーチンの結果を変更することにより、利用者
プログラムの異常処理のデバッグを可能にしている。
方式は、利用者が利用者プログラムをデバッグするため
に実行命令を実行した後に中断点を設定するためのコマ
ンドを解析する実行後コマンド解析制御手段が解析した
結果により実行後中断点設定手段を呼び出し、その実行
後中断点設定手段は利用者プログラムのオブジェクト中
に生成されているデバッグ情報テーブルのなかの実行後
中断点情報を参照して、中断点アドレスを取り出し設定
する。またリターンコード変更手段によって、利用者が
システムルーチンの結果を変更することにより、利用者
プログラムの異常処理のデバッグを可能にしている。
【0007】
【実施例】次に本発明について図面を参照して説明す
る。図1は本発明の全体の構成を表す全体構成図であ
る。利用者がデバッグのために使用するキーボードディ
スプレイ1と、デバッグ制御手段2と、コマンド解析制
御手段3と、実行後中断点コマンド解析手段4と、コマ
ンド実行制御手段5と、実行後中断点設定制御手段6
と、リターンコード変更制御手段7と、利用者プログラ
ムオブジェクト8と、デバッグ情報テーブル9と、実行
後中断点情報10と、システムサブルーチン11とから
その主要部が構成されている。
る。図1は本発明の全体の構成を表す全体構成図であ
る。利用者がデバッグのために使用するキーボードディ
スプレイ1と、デバッグ制御手段2と、コマンド解析制
御手段3と、実行後中断点コマンド解析手段4と、コマ
ンド実行制御手段5と、実行後中断点設定制御手段6
と、リターンコード変更制御手段7と、利用者プログラ
ムオブジェクト8と、デバッグ情報テーブル9と、実行
後中断点情報10と、システムサブルーチン11とから
その主要部が構成されている。
【0008】図2は本発明の一実施例の構成を示すブロ
ック図である。
ック図である。
【0009】実行後中断点コマンド解析手段4は、コマ
ンド解析結果情報テーブル12を作成する。デバッグ制
御手段2は実行前中断点設定手段13を含み、利用者プ
ログラムオブジェクト8は利用者プログラムソース14
を元のコンパイラ(図中に示さず)によって生成された
ものである。
ンド解析結果情報テーブル12を作成する。デバッグ制
御手段2は実行前中断点設定手段13を含み、利用者プ
ログラムオブジェクト8は利用者プログラムソース14
を元のコンパイラ(図中に示さず)によって生成された
ものである。
【0010】次にこのように構成されたデバッグ制御手
段の動作について説明する。利用者はキーボードディス
プレイ1を使用し、利用者プログラムソース14をデバ
ッグする。利用者プログラムソース14の100行目に
ファイルAを入力するリード(READ)命令があるも
のとする。このとき、リード(READ)命令の実行結
果として、システムからデッドロックステータスのリタ
ーンコードが返された場合に動作確認をするときの動作
について説明する。
段の動作について説明する。利用者はキーボードディス
プレイ1を使用し、利用者プログラムソース14をデバ
ッグする。利用者プログラムソース14の100行目に
ファイルAを入力するリード(READ)命令があるも
のとする。このとき、リード(READ)命令の実行結
果として、システムからデッドロックステータスのリタ
ーンコードが返された場合に動作確認をするときの動作
について説明する。
【0011】利用者はキーボードディスプレイ1を使用
して、利用者プログラムソースの100行目の命令を実
行した後に中断点を設定するために、コマンド“AT
AFTER 100”を入力する。そのコマンドは、実
行後中断点コマンド解析手段4によって解析され、その
結果はコマンド解析結果情報テーブル12に作成され
る。
して、利用者プログラムソースの100行目の命令を実
行した後に中断点を設定するために、コマンド“AT
AFTER 100”を入力する。そのコマンドは、実
行後中断点コマンド解析手段4によって解析され、その
結果はコマンド解析結果情報テーブル12に作成され
る。
【0012】そして、コマンド解析制御手段3は、コマ
ンド実行制御手段5を呼び出し、コマンド実行制御手段
5の中の実行前中断点設定手段12が動作する。実行前
中断点設定手段12は利用者プログラムオブジェクト8
のなかの実行後中断点情報10を参照し、(1)のアド
レスに中断点を設定し、キーボードディスプレイ1から
の次のコマンドの入力を待つ。デバッグ利用者は次にコ
マンド“GO”を入力することで、デバッグ制御手段2
は、利用者プログラムオブジェクト8に制御を渡す。利
用者プログラムオブジェクト8が実行され、行番号10
0に対応する(1)の時点で中断事象が発生し、再びデ
バッグ制御手段2に実行制御が戻される。デバッグ制御
手段2は実行後中断点制御手段6を呼び出し、実行後中
断点設定制御手段6は利用者プログラムオブジェクト8
の中の(1)の中断点の設定を解除し、実行後中断点情
報10のソース行100の情報を参照し、利用者プログ
ラムオブジェクト8の中の(2)に中断点を再度設定す
る。
ンド実行制御手段5を呼び出し、コマンド実行制御手段
5の中の実行前中断点設定手段12が動作する。実行前
中断点設定手段12は利用者プログラムオブジェクト8
のなかの実行後中断点情報10を参照し、(1)のアド
レスに中断点を設定し、キーボードディスプレイ1から
の次のコマンドの入力を待つ。デバッグ利用者は次にコ
マンド“GO”を入力することで、デバッグ制御手段2
は、利用者プログラムオブジェクト8に制御を渡す。利
用者プログラムオブジェクト8が実行され、行番号10
0に対応する(1)の時点で中断事象が発生し、再びデ
バッグ制御手段2に実行制御が戻される。デバッグ制御
手段2は実行後中断点制御手段6を呼び出し、実行後中
断点設定制御手段6は利用者プログラムオブジェクト8
の中の(1)の中断点の設定を解除し、実行後中断点情
報10のソース行100の情報を参照し、利用者プログ
ラムオブジェクト8の中の(2)に中断点を再度設定す
る。
【0013】その後、利用者プログラムオブジェクト8
に制御を渡す。利用者プログラムオブジェクト8は
(2)の時点で再び中断事象が起こり、デバッグ制御手
段2に再び制御が戻される。デバッグ制御手段2は、そ
の後キーボードディスプレイから次のコマンドが入力さ
れるのを待つ。デバッグ利用者は、次に、行番号100
のREAD命令でデッドロックが発生したようにみなす
ため、コマンド“C RC= DL”を入力する。これ
によりデバッグ制御手段2はコマンド解析制御手段3を
呼び出し、リターンコード変更制御手段7を実行する。
リターンコード変更制御手段7は実行後中断点情報10
のなかのリターンコードデータアドレスを参照し、行番
号100のREAD命令を実行することにより呼び出さ
れたシステムサブルーチン11のリターンコードRCに
デッドロックステータスをセットし、その後利用者プロ
グラムオブジェクト8の中の中断点(2)の設定を解除
し、次のデバッグコマンドの入力待ちとなる。
に制御を渡す。利用者プログラムオブジェクト8は
(2)の時点で再び中断事象が起こり、デバッグ制御手
段2に再び制御が戻される。デバッグ制御手段2は、そ
の後キーボードディスプレイから次のコマンドが入力さ
れるのを待つ。デバッグ利用者は、次に、行番号100
のREAD命令でデッドロックが発生したようにみなす
ため、コマンド“C RC= DL”を入力する。これ
によりデバッグ制御手段2はコマンド解析制御手段3を
呼び出し、リターンコード変更制御手段7を実行する。
リターンコード変更制御手段7は実行後中断点情報10
のなかのリターンコードデータアドレスを参照し、行番
号100のREAD命令を実行することにより呼び出さ
れたシステムサブルーチン11のリターンコードRCに
デッドロックステータスをセットし、その後利用者プロ
グラムオブジェクト8の中の中断点(2)の設定を解除
し、次のデバッグコマンドの入力待ちとなる。
【0014】デバッグ利用者はキーボードディスプレイ
1より再びGOコマンドを入力することにより、デバッ
グ制御手段2から利用者プログラムオブジェクト8に実
行制御が渡り、利用者プログラムオブジェクト8のなか
の行番号100のREAD命令でデッドロックが発生し
たように動作させることができる。
1より再びGOコマンドを入力することにより、デバッ
グ制御手段2から利用者プログラムオブジェクト8に実
行制御が渡り、利用者プログラムオブジェクト8のなか
の行番号100のREAD命令でデッドロックが発生し
たように動作させることができる。
【0015】また、利用者プログラムソース14の行番
号200行目に、同じファイルAに対するREAD命令
があり利用者プログラムオブジェクト8のなかの内部手
続きがFILE Aを共有していたとしても、当デバッ
グ制御方式は、実行前中断点設定手段13により、1度
中断点を実行前に設定し、実行後の中断点は動的に実行
後中断点設定手段により設定されるため、行番号200
行目に再度中断事象が発生することがないようになって
いる。
号200行目に、同じファイルAに対するREAD命令
があり利用者プログラムオブジェクト8のなかの内部手
続きがFILE Aを共有していたとしても、当デバッ
グ制御方式は、実行前中断点設定手段13により、1度
中断点を実行前に設定し、実行後の中断点は動的に実行
後中断点設定手段により設定されるため、行番号200
行目に再度中断事象が発生することがないようになって
いる。
【0016】
【発明の効果】以上説明したように本発明は、実行後中
断点設定手段を設けたことにより、利用者プログラムを
対話型でデバッグする場合において、命令を実行した後
で中断点が設定できることにより、プログラム内で入出
力命令を実行したり、オンラインメッセージの送受信を
実行することにより、システムルーチンを呼び出した後
に返却されるリターンコードを変更することができ、そ
のプログラムであたかも、実際に入出力命令の実行結果
に以上が発生したようにみなし、異常時のプログラム動
作をデバッグすることができるという効果がある。
断点設定手段を設けたことにより、利用者プログラムを
対話型でデバッグする場合において、命令を実行した後
で中断点が設定できることにより、プログラム内で入出
力命令を実行したり、オンラインメッセージの送受信を
実行することにより、システムルーチンを呼び出した後
に返却されるリターンコードを変更することができ、そ
のプログラムであたかも、実際に入出力命令の実行結果
に以上が発生したようにみなし、異常時のプログラム動
作をデバッグすることができるという効果がある。
【図1】本発明の全体構成図
【図2】本発明の一実施例の構成を示すブロック図
1 キーボードディスプレイ 2 デバッグ制御手段 3 コマンド解析制御手段 4 実行後中断点コマンド解析手段 5 コマンド実行制御手段 6 実行後中断設定制御手段 7 リターンコード変更制御手段 8 利用者プログラムオブジェクト 9 デバッグ情報テーブル 10 実行後中断点情報 11 システムサブルーチン 12 コマンド解析結果情報テーブル 13 実行前中断点設定手段 14 利用者プログラムソース
Claims (2)
- 【請求項1】 利用者プログラムを対話的にデバッグ中
に、利用者によりプログラム中の中断点を設定する場合
に、指定した命令を実行した後に中断点を設定するため
のコマンドを解析する実行後中断点コマンド解析手段
と、実行後中断点を設定するための実行後中断点制御手
段と、異常処理のために利用者プログラムからシステム
を呼び出した結果を示すリターンコードを変更するリタ
ーンコード変更制御手段とを有する利用者プログラムの
異常処理を行って成ることを特徴とする異常処理のため
の対話型デバッグ制御方式。 - 【請求項2】 利用者プログラムオブジェクトの中のデ
バッグ情報テーブルに実行後中断点設定処理のための実
行後中断点情報を設けて成ることを特徴とする請求項1
記載の異常処理のための対話型デバッグ制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4105092A JPH0695910A (ja) | 1992-04-24 | 1992-04-24 | 異常処理のための対話型デバッグ制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4105092A JPH0695910A (ja) | 1992-04-24 | 1992-04-24 | 異常処理のための対話型デバッグ制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0695910A true JPH0695910A (ja) | 1994-04-08 |
Family
ID=14398275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4105092A Withdrawn JPH0695910A (ja) | 1992-04-24 | 1992-04-24 | 異常処理のための対話型デバッグ制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0695910A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015141539A (ja) * | 2014-01-28 | 2015-08-03 | 株式会社東芝 | 故障注入プログラム |
-
1992
- 1992-04-24 JP JP4105092A patent/JPH0695910A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015141539A (ja) * | 2014-01-28 | 2015-08-03 | 株式会社東芝 | 故障注入プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5630049A (en) | Method and apparatus for testing software on a computer network | |
US8336032B2 (en) | Implementing enhanced template debug | |
US20140109064A1 (en) | Multi-threaded debugger support | |
IE920746A1 (en) | Improved software debugging system and method especially adapted for code debugging within a multi-architecture environment | |
JP2000122886A (ja) | 半導体試験装置のプログラム作成方式 | |
JPH0695910A (ja) | 異常処理のための対話型デバッグ制御方式 | |
KR950012113B1 (ko) | 멀티 아키텍춰 환경내의 다중 코드 실행 및 디버깅 시스템에서 코드 인터페이스 자케팅에 특히 적합한 크로스-도메인 명령 호출 및 데이타 참조를 검출하기 위한 시스템 및 방법 | |
JP2659366B2 (ja) | デバッグ方法及びその装置 | |
JP2001166966A (ja) | デバッガにおける被テストプログラムの実行環境管理方法 | |
JPH0395638A (ja) | デバッグ装置 | |
KR920001103B1 (ko) | 전자교환기용 소프트웨어 시뮬레이션방법 | |
JPH06274370A (ja) | デバッガ装置 | |
JPH10161904A (ja) | 複数言語対応のデバッグ装置およびデバッグ方法 | |
JPS6214240A (ja) | プログラム検査方式 | |
JPH03242736A (ja) | 異常処理方式 | |
KR19990061516A (ko) | 전전자 교환기에 있어서 디버깅 명령 수행방법 | |
JPH0468446A (ja) | デバッグ支援装置 | |
JPH11191072A (ja) | デバッグのブレイク処理方法及びデバッグ処理装置 | |
JPH05127945A (ja) | プログラム実行状況解析方式 | |
JPH0353335A (ja) | コンパイラの処理方式 | |
JPH08185326A (ja) | インタープリタ言語処理装置 | |
JPH0675776A (ja) | マイクロコンピュータ | |
JPS61267137A (ja) | 割込み動作制御方式 | |
JPH0540653A (ja) | デバツグ装置及びデバツグ方法 | |
JPH04169941A (ja) | デバッグ情報出力処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19990706 |