如何在通过JPL在Java应用程序内运行的Prolog代码上使用GUI调试器?

时间:2011-03-10 12:14:01

标签: java eclipse prolog swi-prolog jpl

我正在通过JPL桥开发Java + Prolog应用程序。主要应用程序是Java,它使用Query.oneSolution("doPrologStuff(here)")

调用Prolog代码

我尝试使用Query.hasSolution("gtrace")运行GUI调试器/跟踪器,但它会引发异常:

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”)

当我直接在gtrace.中运行Prolog代码时,调用swipl效果很好。

当我尝试Query.hasSolution("trace")时,它允许我使用文本控制台调试代码,但这不是我正在寻找的。有关如何启用GUI调试器的任何想法吗?

我在Ubuntu上使用Eclipse进行开发,但如果有帮助我可以尝试其他工具:)

1 个答案:

答案 0 :(得分:0)

您需要附加Prolog的图形环境(xpce)。你可以通过加载来做到这一点 文件swi('swipl.rc')。接下来的问题是事件调度是否发生。 这取决于设置。如果您使用最新的5.11.18 / 5.10.4版本,则可以设置 Prolog标志xpce_threaded为true,这导致SWI-Prolog运行开发工具 在他们自己的线程中(目前只适用于Unix / Linux系统)。