- swipl
- library
- error.pl
- debug.pl
- apply.pl -- Apply predicates on a list
- lists.pl
- broadcast.pl -- Event service
- shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects)
- option.pl -- Option list processing
- thread_pool.pl -- Resource bounded thread management
- gensym.pl -- Generate unique symbols
- settings.pl
- arithmetic.pl -- Extensible arithmetic
- main.pl -- Provide entry point for scripts
- readutil.pl -- Read utilities
- operators.pl -- Manage operators
- pairs.pl
- prolog_source.pl -- Examine Prolog source-files
- quasi_quotations.pl -- Define Quasi Quotation syntax
- url.pl -- Analysing and constructing URL
- www_browser.pl -- Open a URL in the users browser
- prolog_colour.pl -- Prolog syntax colouring support.
- record.pl -- Access compound arguments by name
- prolog_xref.pl -- Prolog cross-referencer data collection
- occurs.pl -- Finding and counting sub-terms
- ordsets.pl -- Ordered set manipulation
- assoc.pl -- Binary associations
- ugraphs.pl -- Graph manipulation library
- solution_sequences.pl -- Modify solution sequences
- atom.pl -- Operations on atoms
- prolog_pack.pl
- git.pl
- ctypes.pl
- utf8.pl -- UTF-8 encoding/decoding on lists of character codes.
- base64.pl -- Base64 encoding and decoding
- persistency.pl -- Provide persistent dynamic predicates
- pure_input.pl -- Pure Input from files and streams
- nb_set.pl -- Non-backtrackable sets
- aggregate.pl -- Aggregation operators on backtrackable predicates
- csv.pl -- Process CSV (Comma-Separated Values) data
- iostream.pl -- Utilities to deal with streams
- dialect.pl
- apply_macros.pl -- Goal expansion rules to avoid meta-calling
- yall.pl -- Lambda expressions
- prolog_code.pl -- Utilities for reasoning about code
- dif.pl -- The dif/2 constraint
- thread.pl -- High level thread primitives
- predicate_options.pl
- rbtrees.pl -- Red black trees
- nb_rbtrees.pl -- Non-backtrackable operations on red black trees
- sandbox.pl
- prolog_format.pl -- Analyse format specifications
- random.pl
- pprint.pl -- Pretty Print Prolog terms
- modules.pl -- Module utility predicates
- lazy_lists.pl -- Lazy list handling
- edinburgh.pl -- Some traditional Edinburgh predicates
- prolog_clause.pl
- prolog_breakpoints.pl
- dicts.pl -- Dict utilities
- threadutil.pl -- Interactive thread utilities
- backcomp.pl -- Backward compatibility
- date.pl -- Process dates and times
- oset.pl -- Ordered set manipulation
- listing.pl
- make.pl -- Reload modified source files
- heaps.pl -- heaps/priority queues
- prolog_coverage.pl -- Coverage analysis tool
- edit.pl -- Editor interface
- ansi_term.pl -- Print decorated text to ANSI consoles
- check.pl
- prolog_codewalk.pl -- Prolog code walker
- shell.pl -- Elementary shell commands
- charsio.pl -- I/O on Lists of Character Codes
- intercept.pl -- Intercept and signal interface
- terms.pl -- Term manipulation
- portray_text.pl
- prolog_profile.pl -- Execution profiler
- quintus.pl
- zip.pl
- optparse.pl -- command line parsing
- prolog_debug.pl -- User level debugging tools
- base32.pl -- Base32 encoding and decoding
- codesio.pl -- I/O on Lists of Character Codes
- coinduction.pl -- Co-Logic Programming
- sort.pl
- statistics.pl
- varnumbers.pl -- Utilities for numbered terms
- when.pl -- Conditional coroutining
- prolog_trace.pl -- Print access to predicates
- prolog_metainference.pl -- Infer meta-predicate properties
- hashtable.pl
- prolog_versions.pl
- tables.pl -- XSB interface to tables
- prolog_stack.pl -- Examine the Prolog stack
- macros.pl
- system.pl
- tty.pl
- prolog_autoload.pl
- strings.pl -- String utilities
- prolog_wrap.pl -- Wrapping predicates
- streams.pl
- increval.pl -- Incremental dynamic predicate modification
- prolog_jiti.pl -- Just In Time Indexing (JITI) utilities
- exceptions.pl
- writef.pl -- Old-style formatted write
- prolog_history.pl -- Per-directory persistent commandline history
- prolog_config.pl -- Provide configuration information
- wfs.pl
- rwlocks.pl
- tableutil.pl -- Table inspection and statistics utilities
- files.pl
- help.pl -- Text based manual
- explain.pl -- Describe Prolog Terms
- fastrw.pl
- library
- tdebug is det
- tdebug(+ThreadOrClass) is det
- tnodebug is det
- tnodebug(+ThreadOrClass) is det
- Enable or disable a thread or group of threads for debugging using
the graphical tracer. A group of threads is addressed based on the
classproperty of a thread set by thread_create/3 or set_thread/2. This implies loading the graphical tracer and switching the thread to debug mode using debug/0. New threads created inherit their debug mode from the thread that created them.Thread classes have been introduced in SWI-Prolog 10.0.2/10.1.5. This allows for more selective debugging as well as ensuring debugging works in newly created threads. For example, the HTTP server creates all its worker threads in the class
http. Using query below, we reliable make sure spy points are trapped in HTTP handler threads, regardless of whether the worker existed or is lazily created and regardless of whether the user switched to nodebug mode while tracing a previous event (see debug_reset_from_class/0).?- tdebug(http).