2

私はJPLブリッジを介してJava+Prologアプリケーションを開発しています。メインアプリケーションはJavaであり、を使用してPrologコードを呼び出しますQuery.oneSolution("doPrologStuff(here)")

を使用してGUIデバッガー/トレーサーを実行しようとしましQuery.hasSolution("gtrace")たが、例外がスローされます。

Exception in thread "main" jpl.PrologException: PrologException: error(existence_error(procedure, /(gtrace, 0)), context(:(system, /('$c_call_prolog', 0)), _0))
    at jpl.Query.get1(Query.java:336)
    ...

(「guitracer」も同様です)

Prologコードを直接実行すると、呼び出しgtrace.はうまく機能します。swipl

試しQuery.hasSolution("trace")てみると、テキストコンソールを使用してコードをデバッグできますが、それは私が探しているものではありません。GUIデバッガーを有効にする方法はありますか?

私はUbuntuでEclipseを使用して開発していますが、それが役立つ場合は他のツールを試すことができます:)

4

1 に答える 1

0

Prolog のグラフィカル環境 (xpce) をアタッチする必要があります。これは、swi('swipl.rc') ファイルをロードすることで実行できます。次の問題は、イベントのディスパッチが発生するかどうかです。それはセットアップに依存します。最新の 5.11.18/5.10.4 バージョンを使用している場合は、Prolog フラグ xpce_threaded を true に設定できます。これにより、SWI-Prolog は独自のスレッドで開発ツールを実行します (現在、Unix/Linux システムでのみ動作します)。

于 2011-03-31T08:56:09.137 に答える