/usr/local/lib/swipl/library/prolog_breakpoints.pl
All Application Manual Name SummaryHelp

  • swipl
    • library
      • error.pl
      • debug.pl
      • apply.pl -- Apply predicates on a list
      • lists.pl -- List Manipulation
      • broadcast.pl
      • 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 -- Setting management
      • arithmetic.pl -- Extensible arithmetic
      • main.pl
      • readutil.pl -- Read utilities
      • operators.pl -- Manage operators
      • pairs.pl -- Operations on key-value lists
      • prolog_source.pl -- Examine Prolog source-files
      • record.pl -- Access compound arguments by name
      • quasi_quotations.pl
      • pure_input.pl -- Pure Input from files and streams
      • solution_sequences.pl -- Modify solution sequences
      • ordsets.pl -- Ordered set manipulation
      • random.pl -- Random numbers
      • base64.pl -- Base64 encoding and decoding
      • aggregate.pl
      • yall.pl -- Lambda expressions
      • sandbox.pl -- Sandboxed Prolog code
      • apply_macros.pl -- Goal expansion rules to avoid meta-calling
      • assoc.pl -- Binary associations
      • prolog_format.pl -- Analyse format specifications
      • predicate_options.pl -- Access and analyse predicate options
      • csv.pl
      • pprint.pl -- Pretty Print Prolog terms
      • atom.pl -- Operations on atoms
      • modules.pl
      • occurs.pl -- Finding and counting sub-terms
      • prolog_xref.pl
      • prolog_colour.pl
      • lazy_lists.pl -- Lazy list handling
      • ugraphs.pl -- Graph manipulation library
      • url.pl -- Analysing and constructing URL
      • www_browser.pl -- Open a URL in the users browser
      • prolog_pack.pl -- A package manager for Prolog
      • git.pl
      • utf8.pl
      • dialect.pl -- Support multiple Prolog dialects
      • system.pl -- System utilities
      • terms.pl -- Term manipulation
      • date.pl -- Process dates and times
      • persistency.pl -- Provide persistent dynamic predicates
      • iostream.pl -- Utilities to deal with streams
      • prolog_stack.pl -- Examine the Prolog stack
      • edinburgh.pl -- Some traditional Edinburgh predicates
      • prolog_clause.pl
      • prolog_breakpoints.pl -- Manage Prolog break-points
        • set_breakpoint/4
        • set_breakpoint/5
        • delete_breakpoint/1
        • breakpoint_property/2
        • set_breakpoint_condition/2
      • wfs.pl -- Well Founded Semantics interface
      • prolog_code.pl -- Utilities for reasoning about code
      • sort.pl
      • dicts.pl
      • dif.pl -- The dif/2 constraint
      • varnumbers.pl -- Utilities for numbered terms
      • pio.pl -- Pure I/O
      • backcomp.pl -- Backward compatibility
      • base32.pl -- Base32 encoding and decoding
      • charsio.pl
      • codesio.pl
      • coinduction.pl -- Co-Logic Programming
      • heaps.pl -- heaps/priority queues
      • rbtrees.pl -- Red black trees
      • statistics.pl -- Get information about resource usage
      • when.pl -- Conditional coroutining
      • make.pl
      • check.pl -- Consistency checking
      • optparse.pl
      • prolog_debug.pl -- User level debugging tools
      • threadutil.pl -- Interactive thread utilities
      • ctypes.pl -- Character code classification
      • quintus.pl -- Quintus compatibility
      • qsave.pl
      • zip.pl
      • prolog_autoload.pl
      • shell.pl -- Elementary shell commands
      • edit.pl
      • listing.pl -- List programs and pretty print clauses
      • intercept.pl
      • thread.pl
      • ansi_term.pl -- Print decorated text to ANSI consoles
      • prolog_profile.pl -- Execution profiler
      • portray_text.pl -- Portray text
      • files.pl
      • prolog_jiti.pl
      • nb_set.pl
      • strings.pl -- String utilities
      • oset.pl
      • tables.pl
      • prolog_codewalk.pl -- Prolog code walker
      • increval.pl -- Incremental dynamic predicate modification
      • tty.pl -- Terminal operations
      • prolog_trace.pl
      • prolog_wrap.pl -- Wrapping predicates
      • fastrw.pl
      • prolog_metainference.pl
      • hashtable.pl
      • prolog_coverage.pl -- Coverage analysis tool
      • macros.pl
      • prolog_versions.pl -- Demand specific (Prolog) versions
      • help.pl
      • explain.pl
      • prolog_history.pl
      • exceptions.pl -- Exception classification
      • prolog_config.pl
      • readln.pl
      • streams.pl
      • writef.pl
      • rwlocks.pl
 set_breakpoint(+File, +Line, +Char, -Id) is det
 set_breakpoint(+Owner, +File, +Line, +Char, -Id) is det
Put a breakpoint at the indicated source-location. File is a current sourcefile (as reported by source_file/1). Line is the 1-based line in which Char is. Char is the position of the break.

First, '$clause_from_source'/4 uses the SWI-Prolog clause-source information to find the last clause starting before Line. '$break_pc' generates (on backtracking), a list of possible breakpoints.

Note that in addition to setting the breakpoint, the system must be in debug mode for the breakpoint to take effect. With threading enabled, there are various different ways this may be done. See debug/0, tdebug/0 and tdebug/1. Therefore, this predicate does not enable debug mode.

Arguments:
Owner- denotes the file that owns the clause. set_breakpoint/5 is used to set breakpoints in an included file in the context of the Owner main file. See source_file_property/2.