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

发布于 2024-10-21 03:00:26 字数 658 浏览 5 评论 0原文

我正在通过 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”也是如此)

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

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

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

I'm developing a Java+Prolog application through the JPL bridge. The main application is in Java and it calls the Prolog code using Query.oneSolution("doPrologStuff(here)")

I tried running the GUI debugger/tracer using Query.hasSolution("gtrace") but it throws an exception:

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

(Same goes for "guitracer")

Calling gtrace. works well when I run the Prolog code in swipl directly.

When I try Query.hasSolution("trace") it lets me debug the code using the text console, but that's not what I'm looking for. Any ideas how to enable the GUI debugger?

I'm using Eclipse on Ubuntu to develop, but I can try other tools if that helps :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

美煞众生 2024-10-28 03:00:26

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

You need to attach Prolog's graphical environment (xpce). You can do that by loading
the file swi('swipl.rc'). The next question is whether or not event dispatching happens.
That depends on the setup. If you use the latest 5.11.18/5.10.4 versions, you can set the
Prolog flag xpce_threaded to true, which causes SWI-Prolog to run the development tools
in their own thread (currently only works on Unix/Linux systems).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文