如何在调试prolog中设置一个断点?

时间:2014-07-25 15:16:55

标签: prolog logic

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

pA :-
  pB, 
  pC.

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

1 个答案:

答案 0 :(得分:0)

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