Maxima/Debugging
< Maxima
Directories
editStart Maxima and type the command:[1]
maxima_userdir;
this will tell you the directory that is being used as your user directory.
infolists
edit- is a system variable
- Default value: []
- is a list of the names of all of the information lists in Maxima. These are
- labels : All bound %i, %o, and %t labels.
- values : All bound atoms which are user variables, not Maxima options or switches, created by : or :: or functional binding.
- functions : All user-defined functions, created by := or define.
- arrays : All declared and undeclared arrays, created by :, ::, or :=.
- macros : All user-defined macro functions, created by ::=.
- myoptions : All options ever reset by the user (whether or not they are later reset to their default values).
- rules : All user-defined pattern matching and simplification rules, created by tellsimp, tellsimpafter, defmatch, or defrule.
- aliases : All atoms which have a user-defined alias, created by the alias, ordergreat, orderless functions or by declaring the atom as a noun with declare.
- dependencies : All atoms which have functional dependencies, created by the depends, dependencies, or gradef functions.
- gradefs : All functions which have user-defined derivatives, created by the gradef function.
- props : All atoms which have any property other than those mentioned above, such as properties established by atvalue or matchdeclare, etc., as well as properties established in the declare function.
- let_rule_packages : All user-defined let rule packages plus the special package default_let_rule_package. (default_let_rule_package is the name of the rule package used when one is not explicitly set by the user.)
reset
editreset : resets many (global) system variables
Use:
reset()
example output :
(%o1) [_, __, load_pathname, labels, %, linenum, ratprint, tr-unique, lispdisp, multiplicities]
trace
editIn Maxima :
:lisp (setf *debugger-hook* nil)
manual debugging
editprint partial results using :
- playback
values
editvalues:
- is a system variable
- is a list ... which contains the names of currently assigned scalar values which have been set by:
- the user interactively
- by packages which have been loaded"[2]
- initial value is []
dependencies
editdependencies :
- is a system variable
- is the list of atoms which have functional dependencies, assigned by:
- depends
- the function dependencies
- gradef
status
editstatus (feature);
example output:
(%o34) [sb-bsd-sockets-addrinfo, cl, mk-defsystem, cltl2, 64-bit, 64-bit-registers, alien-callbacks, ansi-cl, ash-right-vops, c-stack-is-control-stack, common-lisp, compare-and-swap-vops, complex-float-vops, cycle-counter, elf, float-eql-vops, fp-and-pc-standard-save, gencgc, ieee-floating-point, inline-constants, integer-eql-vop, interleaved-raw-slots, largefile, linkage-table, linux, little-endian, memory-barrier-vops, multiply-high-vops, os-provides-blksize-t, os-provides-dladdr, os-provides-dlopen, os-provides-getprotoby-r, os-provides-poll, os-provides-putwc, os-provides-suseconds-t, package-local-nicknames, precise-arg-count-error, raw-instance-init-vops, sb-after-xc-core, sb-core-compression, sb-doc, sb-eval, sb-futex, sb-ldb, sb-package-locks, sb-simd-pack, sb-source-locations, sb-test, sb-thread, sb-unicode, sb-xref-for-internals, sbcl, stack-allocatable-closures, stack-allocatable-fixed-objects, stack-allocatable-lists, stack-allocatable-vectors, stack-grows-downward-not-upward, symbol-info-vops, unix, unwind-to-frame-and-call-vop, x86-64]