在Yap中,我正在调试程序,它从文件中读取大量数据。我想问一下是否有一些方法可以在prolog文件中为LINE设置断点。我知道有一个名为spy
的谓词允许您将程序停止设置为预期谓词,但是如果此谓词调用子谓词,我如何设置子谓词的断点?例如:
pA :-
pB,
pC.
如何将断点设置为在pC处停止(如果pC是内置谓词),因为spy
只允许我在pA处设置断点。非常感谢您的回答。
答案 0 :(得分:0)
当前的Logtalk git版本支持文件行号间谍点的定义。 YAP是Logtalk支持的一个Prolog后端编译器。但是,使用Logtalk调试器调试程序的可行性取决于它是否使用Prolog模块进行结构化。如果是这样,应该可以将Prolog模块编译为对象,只需将文件扩展名从Prolog更改为Logtalk(即从.pl
或.yap
更改为.lgt
)并使用Logtalk编译和加载谓词。