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 回答