【问题标题】:How to set a break-point to a line in debugging prolog?如何在调试序言中设置断点到一行?
【发布时间】:2014-07-25 15:16:55
【问题描述】:

在 Yap 中,我正在调试一个程序,它会从文件中读取大量数据。我想问一下是否有一些方法可以在 prolog 文件中为 LINE 设置断点。我知道有一个名为spy 的谓词,它允许您将程序停止设置在预期的谓词处,但是如果这个谓词调用子谓词,我如何为子谓词设置断点?例如:

pA :-
  pB, 
  pC.

我如何设置断点以在 pC 处停止(如果 pC 是内置谓词),因为spy 只允许我在 pA 处设置断点。非常感谢您的回答。

【问题讨论】:

    标签: prolog logic


    【解决方案1】:

    当前Logtalk git版本支持定义文件行号spy点。 YAP 是 Logtalk 支持的一种 Prolog 后端编译器。但是,使用 Logtalk 调试器调试程序的可行性取决于它是否使用 Prolog 模块构建。如果是这样,应该可以通过简单地将文件扩展名从 Prolog 更改为 Logtalk(即从 .pl.yap.lgt)并使用 Logtalk 编译和加载谓词来将 Prolog 模块编译为对象。

    【讨论】:

      猜你喜欢
      • 2012-12-12
      • 1970-01-01
      • 2022-01-18
      • 2012-11-06
      • 1970-01-01
      • 2011-05-13
      • 1970-01-01
      • 2011-01-20
      • 2020-08-20
      相关资源
      最近更新 更多