Previous: Additional Lisp Resources, Up: General Lisp Advice [Contents][Index]
For problems related to the execution of external commands turn on logging of all execution of shell commands by SEL. This may be done by setting the ‘*shell-debug*‘ variable to a non-nil value.
(setq *shell-debug* t)
All subsequent executions of shell will now print logging
information.
Common Lisp provides support for function-level tracing. This may be
enabled and disabled using the cl-user::trace and
cl-user::untrace functions respectively, as shown in the
following.
CL-USER> (in-package :software-evolution-library/test)
#<PACKAGE "SOFTWARE-EVOLUTION-LIBRARY/TEST">
SE-TEST> (hello-world-clang)
T
SE-TEST> (cl-user::trace snippet->clang-type)
(SNIPPET->CLANG-TYPE)
SE-TEST> (update-asts *hello-world*)
0: (SNIPPET->CLANG-TYPE
((:ARRAY . "") (:COL . 0) (:DECL . "") (:FILE . "")
(:HASH . 342363981814211589) (:LINE . 0) (:POINTER . T) (:REQS)
(:SIZE . 4) (:TYPE . "char")))
0: SNIPPET->CLANG-TYPE returned
#S(CLANG-TYPE
:ARRAY ""
:COL 0
;;;...
#<CLANG {1003AD88D3}>
SE-TEST>
Many command-line tools compiled from sel support various levels of
verbosity in their output. The simplest first step in debugging these
tools should be to maximize the level of verbosity, e.g. -v 5.