我想跟踪SWI-Prolog中的内置append/3,但是我立刻得到了结果,看不到中间发生了什么.
有什么我需要做的事情来启用跟踪追踪?
?- trace .
true.
[trace] ?- append([a,b,c], [[],[2,3], b], X).
X = [a, b, c, [], [2, 3], b].
Run Code Online (Sandbox Code Playgroud)
在SWI-Prolog中,append/3
谓词在lists
模块中定义,其中包含指令:
:- set_prolog_flag(generate_debug_info, false).
Run Code Online (Sandbox Code Playgroud)
此SWI-Prolog专有指令指示编译器跳过对模块内任何谓词定义的跟踪.如果lists.pl
在SWI-Prolog 安装中注释掉该文件中的指令,则应该能够跟踪对append/3
谓词或模块中定义的任何其他谓词的调用.