JPH02224142A - Prologソースレベル・デバッグシステム - Google Patents
Prologソースレベル・デバッグシステムInfo
- Publication number
- JPH02224142A JPH02224142A JP8945689A JP4568989A JPH02224142A JP H02224142 A JPH02224142 A JP H02224142A JP 8945689 A JP8945689 A JP 8945689A JP 4568989 A JP4568989 A JP 4568989A JP H02224142 A JPH02224142 A JP H02224142A
- Authority
- JP
- Japan
- Prior art keywords
- debugging
- source text
- spy point
- prolog
- program
- 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
Links
- 230000003936 working memory Effects 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000014509 gene expression Effects 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、人工知能の分野での自然言語処理やエキスパ
ート・システムなどで利用されるProlog言語やこ
れに準するProlog系プログラミング言語で記述さ
れたプログラムのデバッグ装置に関する。
ート・システムなどで利用されるProlog言語やこ
れに準するProlog系プログラミング言語で記述さ
れたプログラムのデバッグ装置に関する。
(従来の技術)
人工知能の分野などでは論理プログラミングを支援する
プログラム言語として、f!dCAAD、 Deper
t −ment of Architecture、
University of Edinburghで開
発されたC−PrologなどのProlog系の言語
が知られている。
プログラム言語として、f!dCAAD、 Deper
t −ment of Architecture、
University of Edinburghで開
発されたC−PrologなどのProlog系の言語
が知られている。
このProlog言語は会話型言語であり、第3図のよ
うなプログラムをワーキングメモリに読み込み、第4図
のように述語呼出しによりプログラムを実行する。第3
図のプログラムは、子孫(descendant) 、
子供(offapring)、親(paren t)の
関係及び事実(gt308はg ts328の親、di
no246はgtb308の親)を定義したものである
。第4図は、dino246の子孫を求める実行例であ
る。第4図では1度求めた解(gtn308)に対し、
それを「;」で否定し、バックトランク(逆戻り)によ
り別の解(gts328 )を求めさせている。
うなプログラムをワーキングメモリに読み込み、第4図
のように述語呼出しによりプログラムを実行する。第3
図のプログラムは、子孫(descendant) 、
子供(offapring)、親(paren t)の
関係及び事実(gt308はg ts328の親、di
no246はgtb308の親)を定義したものである
。第4図は、dino246の子孫を求める実行例であ
る。第4図では1度求めた解(gtn308)に対し、
それを「;」で否定し、バックトランク(逆戻り)によ
り別の解(gts328 )を求めさせている。
第3図において、descendanL offspr
ing 、 pa −ren t はアリティ2の述
語で、x、y、zは変数、dino246 、gtb3
08、g ts328はアトムと言う値である。述語の
実行は変数と値とのユニファイと、バックトラック制御
とにより行われ、変数の有効範囲は一つの述語定義の中
で閉じており、全て局所変数である。−度ユニファイで
与えられた変数の値はバンクトラックでしか変更できな
い。
ing 、 pa −ren t はアリティ2の述
語で、x、y、zは変数、dino246 、gtb3
08、g ts328はアトムと言う値である。述語の
実行は変数と値とのユニファイと、バックトラック制御
とにより行われ、変数の有効範囲は一つの述語定義の中
で閉じており、全て局所変数である。−度ユニファイで
与えられた変数の値はバンクトラックでしか変更できな
い。
第5図から第7図までは、上述のようなC−Pro−1
ogの持つデバッグ機能により、第4図のプログラム実
行においてステップ毎にトレース情報を出力したものの
全体を各図に分解して示すである。
ogの持つデバッグ機能により、第4図のプログラム実
行においてステップ毎にトレース情報を出力したものの
全体を各図に分解して示すである。
このデバッグ機能では、まず、
spy 述語名/アリティ
で、デバッグ対象の述語を指定する。その後、プログラ
ムの実行中にspyで指定した述語の手続きの入口、出
口に出会った時に実行の中断やトレース情報の出力が行
われる。述語手続きの入口としては述語の呼出しく C
a1l )が、出口としては成功(Exit )、バッ
クトラック(BackTo )、失敗(Fa−il )
がある。トレース情報は出会った時点での引き数の値を
示すものであり、 xxxは値が未定義であることを
意味する。
ムの実行中にspyで指定した述語の手続きの入口、出
口に出会った時に実行の中断やトレース情報の出力が行
われる。述語手続きの入口としては述語の呼出しく C
a1l )が、出口としては成功(Exit )、バッ
クトラック(BackTo )、失敗(Fa−il )
がある。トレース情報は出会った時点での引き数の値を
示すものであり、 xxxは値が未定義であることを
意味する。
実行が中断された場合には「?」のプロンプトが出力さ
れ、これに対してユーザがデバッグコマンドを入力する
。
れ、これに対してユーザがデバッグコマンドを入力する
。
デバッグコマンドには第8図に示すようなものがあり、
ユーザはこれらのデバッグコマンドによって実行の制御
を行いながらデバッグ作業を行う。
ユーザはこれらのデバッグコマンドによって実行の制御
を行いながらデバッグ作業を行う。
第9図は、述語が定義されているソースプログラムをワ
ーキングメモリに読み込む述語upda teO例であ
る。
ーキングメモリに読み込む述語upda teO例であ
る。
上記従来のデバッグ機能では、述語が第9図の程度に複
雑になると、第10から第15図までに分割して全体を
示すように(第3図の述語が定義されているソースファ
イルXXXの読み込みをステップ実行した例)、かなり
複雑になってしまう。
雑になると、第10から第15図までに分割して全体を
示すように(第3図の述語が定義されているソースファ
イルXXXの読み込みをステップ実行した例)、かなり
複雑になってしまう。
(発明が解決しようとする課題)
上述した従来のデバッグ機能では、スパイ点が述語単位
に設定されるので、第10図から15図までに例示した
ように、真に必要とするトレース情報を得るまでのデバ
ッグステップが長いデバッグコマンド列を必要とする複
雑なものになってしまうという問題がある。
に設定されるので、第10図から15図までに例示した
ように、真に必要とするトレース情報を得るまでのデバ
ッグステップが長いデバッグコマンド列を必要とする複
雑なものになってしまうという問題がある。
また、従来のデバッグ機能ではデバッグ時に出力される
トレース情報には不必要なものが多数台まれ、無駄が多
くなるという問題もある。
トレース情報には不必要なものが多数台まれ、無駄が多
くなるという問題もある。
(課題を解決するための手段)
本発明のPrologソースレベル・デバッグシステム
は、デバッグ対象の述語の指定により、その述語のソー
ステキストをソースプログラムから抽出するソーステキ
スト抽出部と、この抽出されたソーステキスト上にディ
スプレイとマウスを利用して対話形式でスパイ点の位置
及び仕様の設定を行うスパイ点の位置及び仕様設定部と
を備えている。
は、デバッグ対象の述語の指定により、その述語のソー
ステキストをソースプログラムから抽出するソーステキ
スト抽出部と、この抽出されたソーステキスト上にディ
スプレイとマウスを利用して対話形式でスパイ点の位置
及び仕様の設定を行うスパイ点の位置及び仕様設定部と
を備えている。
このスパイ点の設定は、ソーステキストの中で述語本体
を構成する述語呼出しの間の位置にスパイ点でのアクシ
ョンプログラムコードを挿入することにより行われる。
を構成する述語呼出しの間の位置にスパイ点でのアクシ
ョンプログラムコードを挿入することにより行われる。
また、スパイ点の仕様としては、スパイ点の有動性(ス
パイ点におけるアクションの有効の可否)、プログラム
実行の中断条件(スパイ点でプログラム実行を中断する
か否かを判断する条件式)、トレース情報の出力条件(
スパイ点でのトレース情報を出力するか否かを判断する
条件式)、トレース情報の内容(スパイ点で出力するト
レース情報の内容:述語定義に現れる変数の値等)など
が設定される。なお、アクションプログラムコードは元
のプログラムの制御を変えないために、通常、呼出しは
成功、バンクトラック時は失敗するように実現する。
パイ点におけるアクションの有効の可否)、プログラム
実行の中断条件(スパイ点でプログラム実行を中断する
か否かを判断する条件式)、トレース情報の出力条件(
スパイ点でのトレース情報を出力するか否かを判断する
条件式)、トレース情報の内容(スパイ点で出力するト
レース情報の内容:述語定義に現れる変数の値等)など
が設定される。なお、アクションプログラムコードは元
のプログラムの制御を変えないために、通常、呼出しは
成功、バンクトラック時は失敗するように実現する。
サラに、本発明のPrologソースレベル・デバッグ
システムは、スパイ点におけるアクションプログラムコ
ードを挿入したデバッグ用ソーステキストをProlo
gプログラム実行部のワーキングメモリに一時的に登録
することにより実行部によるデバッグを可能とするデバ
ッグ用ソーステキスト登録部を備えている Prologプログラム実行部は、デバッグモード下に
おいてスパイ点に制御が達した時に、スパイ点に対応す
るアクションプログラムコードの実行によりトレース情
報の出力、実行の中断、再開、Breakによる任意プ
ログラムの実行等のデバッグ作業を遂行する機能を有す
る。
システムは、スパイ点におけるアクションプログラムコ
ードを挿入したデバッグ用ソーステキストをProlo
gプログラム実行部のワーキングメモリに一時的に登録
することにより実行部によるデバッグを可能とするデバ
ッグ用ソーステキスト登録部を備えている Prologプログラム実行部は、デバッグモード下に
おいてスパイ点に制御が達した時に、スパイ点に対応す
るアクションプログラムコードの実行によりトレース情
報の出力、実行の中断、再開、Breakによる任意プ
ログラムの実行等のデバッグ作業を遂行する機能を有す
る。
そしてデバッグの実行終了の際に、原ソーステキストの
再登録により、Prologプログラム実行部のワーキ
ングメモリをデバッグ開始以前の状態に復元するソース
テキスト復元部を有する。
再登録により、Prologプログラム実行部のワーキ
ングメモリをデバッグ開始以前の状態に復元するソース
テキスト復元部を有する。
このように、本発明のデバッグシステムによれば、スパ
イ点をユーザの所望の位置に随意に設定できるため、デ
バッグ時に真に必要なトレース情報のみを出力させるこ
とが可能になる。
イ点をユーザの所望の位置に随意に設定できるため、デ
バッグ時に真に必要なトレース情報のみを出力させるこ
とが可能になる。
しかも、設定に必要な操作はディスプレイとマウスによ
る対話形式で容易・確実に行える。
る対話形式で容易・確実に行える。
以下、本発明の作用を実施例と共に詳細に説明する。
(実施例)
第1図は本発明の一実施例のPrologソースレベル
・デバッグシステムの全体構成図で、Prologソー
スプログラム1、ソーステキスト抽出部2、スパイ点の
位置及び仕様設定部3、デバッグ用ソーステキスト登録
部4、ソーステキスト復元部5、デバッグ作業入出力部
6、マンマシンインタフェース制御部7 、Prolo
gプログラム実行部8、デバッグ用ソーステキスト9、
ソーステキスト10、ディスプレイ11及びマウス12
を備えている。
・デバッグシステムの全体構成図で、Prologソー
スプログラム1、ソーステキスト抽出部2、スパイ点の
位置及び仕様設定部3、デバッグ用ソーステキスト登録
部4、ソーステキスト復元部5、デバッグ作業入出力部
6、マンマシンインタフェース制御部7 、Prolo
gプログラム実行部8、デバッグ用ソーステキスト9、
ソーステキスト10、ディスプレイ11及びマウス12
を備えている。
ソーステキスト抽出部2は、デバッグの対象とする述語
のソーステキストを、外部記憶装置内のファイルやPr
o logプログラム実行部8のワーキングメモリ内に
保持されているソースプログラム1から抽出する。
のソーステキストを、外部記憶装置内のファイルやPr
o logプログラム実行部8のワーキングメモリ内に
保持されているソースプログラム1から抽出する。
スパイ点の位置及び仕様設定部3は、抽出されたソース
テキスト中にデバッグのためのアクションプログラムコ
ードを挿入するスパイ点の位置及び仕様設定を行う。
テキスト中にデバッグのためのアクションプログラムコ
ードを挿入するスパイ点の位置及び仕様設定を行う。
デバッグ用ソーステキスト登録部4は、デバッグ用アク
ションプログラムコードが挿入されたデバッグ用ソース
テキスト9をPrologプログラム実行部8のワーキ
ングメモリに登録し、このProl −ogプログラム
実行部8の実行状態をデバッグモードにする。
ションプログラムコードが挿入されたデバッグ用ソース
テキスト9をPrologプログラム実行部8のワーキ
ングメモリに登録し、このProl −ogプログラム
実行部8の実行状態をデバッグモードにする。
ソーステキスト復元部5は、デバッグ作業終了後にデバ
ッグ用ソーステキストロード直前の原ソーステキスト1
0をPrologプログラム実行部8のワーキングメモ
リに再登録することにより、このワーキングメモリをデ
バッグ開始以前の状態に復元する。
ッグ用ソーステキストロード直前の原ソーステキスト1
0をPrologプログラム実行部8のワーキングメモ
リに再登録することにより、このワーキングメモリをデ
バッグ開始以前の状態に復元する。
デバッグ作業入出力部6は、Prologプログラム実
行部8に於けるデバッグ作業中の入出力フロントエンド
となる。すなわち、デバッグ作業中にスパイ点で実行さ
れるアクションプログラムコードに関しては、トレース
情報の出力、デバッグコマンドの入力はこのデバッグ作
業入出力部6を介して行われる。
行部8に於けるデバッグ作業中の入出力フロントエンド
となる。すなわち、デバッグ作業中にスパイ点で実行さ
れるアクションプログラムコードに関しては、トレース
情報の出力、デバッグコマンドの入力はこのデバッグ作
業入出力部6を介して行われる。
マンマシンインタフェース制御部7は、ユーザが上記各
部2〜6の機能をディスプレイ11とマウス12で能率
よく利用するためのマンマシンインタフェース制御部で
ある。
部2〜6の機能をディスプレイ11とマウス12で能率
よく利用するためのマンマシンインタフェース制御部で
ある。
第2図は、第1図のデバッグ装置によって第7図に例示
した述語upda teのデバッグ作業を行う際のディ
スプレイ画面21の表示例である。
した述語upda teのデバッグ作業を行う際のディ
スプレイ画面21の表示例である。
本例では、ディスプレイ11とマウス12はマルチウィ
ンドウ・システムにより制御されており、Prolog
プログラム実行部8はPrologウィンドウ22
を介して、その他の各部はデバッグウィンドウ23を介
して、ユーザとの会話を行う。
ンドウ・システムにより制御されており、Prolog
プログラム実行部8はPrologウィンドウ22
を介して、その他の各部はデバッグウィンドウ23を介
して、ユーザとの会話を行う。
このデバッグウィンドウ23は、スパイ・サブウィンド
ウ24、パネル・サブウィンドウ25、テキスト・サブ
ウィンドウ26、トレース・サブウィンドウ27から構
成される。このうちスパイ・サブウィンドウ24、テキ
スト・サブウィンドウ26、トレース・サブウィンドウ
27は、テキスト表示ウィンドウであり、左側にスクロ
ールバーを持つ、これらのスクロールバーは表示中の部
分がテキスト中で占める位置と割合を示し、マウス操作
により表示部分を移動できるものである。
ウ24、パネル・サブウィンドウ25、テキスト・サブ
ウィンドウ26、トレース・サブウィンドウ27から構
成される。このうちスパイ・サブウィンドウ24、テキ
スト・サブウィンドウ26、トレース・サブウィンドウ
27は、テキスト表示ウィンドウであり、左側にスクロ
ールバーを持つ、これらのスクロールバーは表示中の部
分がテキスト中で占める位置と割合を示し、マウス操作
により表示部分を移動できるものである。
図示の例では、スパイ・サブウィンドウ24ではテキス
ト全体が、テキスト・サブウィンドウ26ではテキスト
の上半分が、トレース・サブウィンドウ27ではテキス
トの下半分が表示されている。パネル・サブウィンドウ
25は、複数のボタン領域からなり、各ボタン領域をマ
ウス12で選択することにより、そのボタン領域に特定
のアクションが行われる。パネル・サブウィンドウ25
ではbreakボタンが選択されていることが示されて
いる(斜め矢印はマウスカーソル)。
ト全体が、テキスト・サブウィンドウ26ではテキスト
の上半分が、トレース・サブウィンドウ27ではテキス
トの下半分が表示されている。パネル・サブウィンドウ
25は、複数のボタン領域からなり、各ボタン領域をマ
ウス12で選択することにより、そのボタン領域に特定
のアクションが行われる。パネル・サブウィンドウ25
ではbreakボタンが選択されていることが示されて
いる(斜め矢印はマウスカーソル)。
デバッグウィンドウ23を使ったデバッグ例を第2図に
よって説明する。
よって説明する。
1 、5pyset ボタン領域選択アバ。7グの対
象とする述語名/アリティ入力のプロンプトがトレース
・サブウィンドウ27に表示される。この表示されたプ
ロンプトにより述語名/アリティ (upda te/
2)をトレース・サブウィンドウ27から入力する。
象とする述語名/アリティ入力のプロンプトがトレース
・サブウィンドウ27に表示される。この表示されたプ
ロンプトにより述語名/アリティ (upda te/
2)をトレース・サブウィンドウ27から入力する。
テキスト・サブウィンドウ26に指定した述語のソース
テキストが表示される。
テキストが表示される。
2、5pyne−ボタン領域選択
新しいスパイ点(SI)のデフォルトの仕様が、スパイ
・サブウィンドウ24に表示される。
・サブウィンドウ24に表示される。
図示の例では、
スパイ点名 predicate 述語名/アリティ
s ta te スパイ点の状態(activ
e又は1nactive) trace )レース情報出力判定条件式 %式% s topback バックトラック時実行中断判
定条件式 traceX )レース情報出力する式の並び という仕様になっている。
s ta te スパイ点の状態(activ
e又は1nactive) trace )レース情報出力判定条件式 %式% s topback バックトラック時実行中断判
定条件式 traceX )レース情報出力する式の並び という仕様になっている。
デフォルトに関しては、predicateはテキスト
・サブウィンドウ26に表示中の述語、s ta te
はactive(有効) 、traceはtrue (
常に出力)、5topはtrue (常に中断) 、5
topbackはfalse (常に素通り) 、tr
aceX はソーステキストに現れる変数の並びであ
る。なお、5pycl −earボタン領域によってス
パイ点が消去される。
・サブウィンドウ26に表示中の述語、s ta te
はactive(有効) 、traceはtrue (
常に出力)、5topはtrue (常に中断) 、5
topbackはfalse (常に素通り) 、tr
aceX はソーステキストに現れる変数の並びであ
る。なお、5pycl −earボタン領域によってス
パイ点が消去される。
3、テキスト・サブウィンドウ26において、スパイ点
の位置をマウス12の操作で設定。
の位置をマウス12の操作で設定。
スパイ点の設定位置にアウトラインフォントでスパイ点
名(Sl)が挿入される。
名(Sl)が挿入される。
4、スパイ・サブウィンドウ24において、スパイ点の
仕様を変更。
仕様を変更。
例では、traceX をpile、 X、 A、
B、 F、 Nに変更5、5pysave ボタン選
択 スパイ点設定済みのデバッグ用ソーステキストがPro
logプログラム実行部8のワーキングメモリに登録さ
れ、Prolog プログラム実行部8がデバッグモ
ードにされる。
B、 F、 Nに変更5、5pysave ボタン選
択 スパイ点設定済みのデバッグ用ソーステキストがPro
logプログラム実行部8のワーキングメモリに登録さ
れ、Prolog プログラム実行部8がデバッグモ
ードにされる。
6、 Prologウィンドウ22においてて、アノ1
ソゲのためにプログラムが実行される。
ソゲのためにプログラムが実行される。
例では、update (xxx)。
7、スパイ点でのアクションプログラムコードの実行結
果がトレース・サブウィンドウ27に出力され(X=、
0.p= 、、、 N=、、、)、更に、中断時(st
。
果がトレース・サブウィンドウ27に出力され(X=、
0.p= 、、、 N=、、、)、更に、中断時(st
。
p at Sl)にはデバッグコマンド入力のプロンプ
ト(command ? )が出力される。
ト(command ? )が出力される。
8、スパイ点での中断時、デバッグコマンドボタン領域
を選択。
を選択。
conttnueは実行m続、abor tは実行中止
、breakは新しい実行レベルに入る。
、breakは新しい実行レベルに入る。
9.5pyoffボタン領域選択
原ソーステキストをPrologプログラム実行部8の
ワーキングメモリに再登録して、Prologプログラ
ム実行部8のデバッグモードを終了させる。
ワーキングメモリに再登録して、Prologプログラ
ム実行部8のデバッグモードを終了させる。
なお、quitボタン領域は各部2〜7の動作を終了さ
せる。
せる。
(発明の効果)
以上説明したように、本発明のPrologソースレベ
ル・デバッグシステムは、デバッグの際に用いるスパイ
点の設定を述語定義のソーステキスト中にアクションプ
ログラムコードを挿入する形で行うため、デバッグ時に
真に必要とするトレース情報のみの出力が可能になる。
ル・デバッグシステムは、デバッグの際に用いるスパイ
点の設定を述語定義のソーステキスト中にアクションプ
ログラムコードを挿入する形で行うため、デバッグ時に
真に必要とするトレース情報のみの出力が可能になる。
また、スパイ点の位置及び仕様の設定が、ディスプレイ
とマウスの利用による会話形式で行える構成であるから
、デバッグを極めて能率よく行えるという効果がある。
とマウスの利用による会話形式で行える構成であるから
、デバッグを極めて能率よく行えるという効果がある。
第1図は本発明の一実施例のPrologソースレベル
・デバッグシステムの構成を示す機能ブロック図、第2
図は上記デバッグシステムによるデバッグ作業時のディ
スプレイ画面の表示内容を例示する概念図、第3図はP
rolog言語のプログラムの一例を示す概念図、第4
図は第3図のプログラムの実行の一例を示す概念図、第
5図から第7図までは第3図のプログラムに対する従来
のデバッグ機能によるデバッグ作業内容の一例を示す概
念図、第8図はProlog言語に対する従来のデバッ
グ機能におけるデバッグコマンドの一覧を示す概念図、
第9図はProlog言語のプログラムの他の例を示す
概念図、第10図から第15図までは第9図のプログラ
ムに対する従来のデバッグ機能によるデバッグ作業の内
容の一例を示す概念図である。 1・・・Prologソースプログラム、2・・・ソー
ステキスト抽出部、3・・・スパイ点の位置及び仕様設
定部、4・・・デバッグ用ソーステキスト登録部、5・
・・ソーステキスト復元部、6・・・デバッグ作業入出
力部、7・・・マンマシンインタフェース制御部、8・
・・Prologプログラム実行部、9・・・デバッグ
用アクションコードを含むソーステキスト、10・・・
デバッグの終了後に復元される原ソーステキスト、11
・・・ディスプレイ、12・・・マウス、21・・・デ
ィスプレイ画面、22・・・Prologウィンドウ、
23・・・デバッグウィンドウ、24・・・スパイ・サ
ブウィンドウ、25・・・パネル・サブウィンドウ、2
6・・・テキスト・サブウィンドウ、27・・・トレー
ス・サブウィンドウ。 第 図
・デバッグシステムの構成を示す機能ブロック図、第2
図は上記デバッグシステムによるデバッグ作業時のディ
スプレイ画面の表示内容を例示する概念図、第3図はP
rolog言語のプログラムの一例を示す概念図、第4
図は第3図のプログラムの実行の一例を示す概念図、第
5図から第7図までは第3図のプログラムに対する従来
のデバッグ機能によるデバッグ作業内容の一例を示す概
念図、第8図はProlog言語に対する従来のデバッ
グ機能におけるデバッグコマンドの一覧を示す概念図、
第9図はProlog言語のプログラムの他の例を示す
概念図、第10図から第15図までは第9図のプログラ
ムに対する従来のデバッグ機能によるデバッグ作業の内
容の一例を示す概念図である。 1・・・Prologソースプログラム、2・・・ソー
ステキスト抽出部、3・・・スパイ点の位置及び仕様設
定部、4・・・デバッグ用ソーステキスト登録部、5・
・・ソーステキスト復元部、6・・・デバッグ作業入出
力部、7・・・マンマシンインタフェース制御部、8・
・・Prologプログラム実行部、9・・・デバッグ
用アクションコードを含むソーステキスト、10・・・
デバッグの終了後に復元される原ソーステキスト、11
・・・ディスプレイ、12・・・マウス、21・・・デ
ィスプレイ画面、22・・・Prologウィンドウ、
23・・・デバッグウィンドウ、24・・・スパイ・サ
ブウィンドウ、25・・・パネル・サブウィンドウ、2
6・・・テキスト・サブウィンドウ、27・・・トレー
ス・サブウィンドウ。 第 図
Claims (1)
- 【特許請求の範囲】 Prolog系言語のソースプログラム中からデバッグ
対象として指定された述語のソーステキストを抽出する
ソーステキスト抽出部と、 この抽出されたソーステキスト中の述語本体を構成する
述語呼出しの間にスパイ点の位置を設定すると共にデバ
ッグ実行時のこのスパイ点の有効性、プログラム実行の
中断条件、トレース情報の出力条件、出力するトレース
情報の内容を含むスパイ点の仕様を設定し、この設定に
基づきアクションプログラムコードをスパイ点の位置に
挿入することによりデバッグ用ソーステキストを生成す
るスパイ点及び仕様設定部と、 このデバッグ用ソーステキストをPrologプログラ
ム実行部のワーキングメモリに登録してこのProlo
gプログラム実行部によるデバッグの実行を可能にする
デバッグ用ソーステキスト登録部と、前記デバッグの実
行中に制御がスパイ点に達した時に前記設定済みのスパ
イ点の仕様に従ってトレース情報の出力、実行中断、実
行再開、任意プログラム実行等のデバッグを実行するP
rologプログラム実行部と、 前記デバッグの終了の際に前記Prologプログラム
実行部のワーキングメモリ内のソーステキストをデバッ
グ開始以前の状態に復元するソーステキスト復元部と、 前記各部の動作を対話形式で制御可能とするディスプレ
イ、マウス及びマンマシンインタフェース部とを備えた
ことを特徴とするPrologソースレベル・デバッグ
システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8945689A JPH02224142A (ja) | 1989-02-27 | 1989-02-27 | Prologソースレベル・デバッグシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8945689A JPH02224142A (ja) | 1989-02-27 | 1989-02-27 | Prologソースレベル・デバッグシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02224142A true JPH02224142A (ja) | 1990-09-06 |
Family
ID=12726355
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8945689A Pending JPH02224142A (ja) | 1989-02-27 | 1989-02-27 | Prologソースレベル・デバッグシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02224142A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05342052A (ja) * | 1992-06-05 | 1993-12-24 | Kobe Nippon Denki Software Kk | デバッグ方式 |
| JP2012190219A (ja) * | 2011-03-10 | 2012-10-04 | Fujitsu Ltd | 情報処理装置、およびトレースログ取得方法 |
-
1989
- 1989-02-27 JP JP8945689A patent/JPH02224142A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05342052A (ja) * | 1992-06-05 | 1993-12-24 | Kobe Nippon Denki Software Kk | デバッグ方式 |
| JP2012190219A (ja) * | 2011-03-10 | 2012-10-04 | Fujitsu Ltd | 情報処理装置、およびトレースログ取得方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6016474A (en) | Tool and method for diagnosing and correcting errors in a computer program | |
| JPH0883197A (ja) | ソフトウエアプログラムをデバッグする方法およびコンピュータシステム | |
| US20030081002A1 (en) | Method and system for chaining and extending wizards | |
| JPH02272645A (ja) | プログラム・デバツグ支援方法 | |
| JPH02224142A (ja) | Prologソースレベル・デバッグシステム | |
| JPS62113244A (ja) | プログラムテスト装置 | |
| JPH0554277A (ja) | プラント監視装置 | |
| JPH02275539A (ja) | デバッグ処理方式 | |
| JPS63131229A (ja) | 処理手続作成処理方式 | |
| JPH052477A (ja) | グラフイカル・ユーザ・インタフエースの作成方式 | |
| JP2809048B2 (ja) | 対画面デバッグ方式 | |
| JPH04155540A (ja) | 対話型デバッガによるプログラム修正方式 | |
| JPH0760363B2 (ja) | ユーザ定義コマンドの自動作成方式 | |
| JPS6383861A (ja) | 数式自動処理方式 | |
| JPH09160611A (ja) | プログラマブルコントローラ | |
| JPH05250221A (ja) | シミュレータ実行方式 | |
| JP2002073370A (ja) | デバッグ支援装置およびその装置によるデバッグ方法 | |
| JPS63211433A (ja) | コマンドプロシ−ジヤ/ジヨブ制御言語の作成における事前エラ−チエツク方式 | |
| JPH0341509A (ja) | 処理装置 | |
| JPS6172339A (ja) | プログラム実行表示制御方式 | |
| JPS63223928A (ja) | 論理図デバツグ処理方式 | |
| JPH04260970A (ja) | アプリケーションプログラムにおける日本語入力方法 | |
| JPH0887403A (ja) | プログラム開発支援装置 | |
| JPH08297568A (ja) | プログラム開発支援方法およびその方法が適用されるコンピュータシステム | |
| JPH02253347A (ja) | プログラムのトレース装置 |