Example Context debug 001

 

 

Description

This utility Lambda inputs text and returns a properly compiled Lambda with all necessary debugger info.

 

Details

The utility Lambda is defined.

(defun compile-text-in-debug-mode(theText) vars:(proc lexresult morphresult) (debug true) (setq lexresult (lisp theText (setq proc (makeLambda)))) (setq morphresult (morph lexresult)) (compile morphresult proc) (debug false) proc) Returns: #<Lambda 197451<

An example of using this utility is included here.

(define theText "args:(start stop) vars:(n) (loop for n from start to stop do)") Returns: args:(start stop) vars:(n) (loop for n from start to stop do)
(define foo (compile-text-in-debug-mode theText)) Returns: #<Lambda 197451<

Notes and Hints

The debug function arguments must be one of the following valid commands with these optional

d

Displays a (disassemble self) command.

g

Turns off instruction trace and resumes execution.

m

Displays a (disassemble self src:) command.

p

Displays a list of current Analytic Information Server Lambdas.

s

Displays a (disassemble self srcOnly:) command.

t

Continues instruction trace at the very next instruction in any Lambdas.

t,nn

Continues instruction trace at the specified (nn) instruction in the current Lambdas.

t,proc

Continues instruction trace at any instruction in the specified (proc) Lambda.

t,proc,nn

Continues instruction trace at the specified (nn) instruction in the specified (proc) Lambda.

t,proc,nn,cc

Continues instruction trace at the specified (nn) instruction in the specified (proc) Lambda, after the specified count (cc).

t=exp

Continues instruction trace when the specifed expression is true.

v

Displays the current  proc's, faces, args, vars, cvars, and pvars.

x

Continues instruction trace at the very next instruction in the current Lambda.

=source

Evals the source following the equal symbol, and displays and results in the browser.

?

Displays the above command list in the browser

When a break or trace break occurs, Analytic Information Server saves the Lambda's current structure in the following property names:

Av                                The current argument variable structure.

Tv                                The current temporary variable structure.

Pv                                The current persistent variable structure.

Cv                                The current persistent class variable structure.

In                                 The current interface structure.

Vm                               The current virtual machine used by this Lambda.

 

Related Examples

Here are examples of the debug function at work.

Context debug 001 Lambda debug 001

 

Function Links

Here is the link to the current function used in this example.

debug

Here are a number of links to other related functions.

disassemble(#void) debugBrowsableProcs(#void) onError(#void)

 

Argument Types

Here are the links to the data types of the arguments used in this example.

Lambda Boolean Symbol Context

Here are a number of links to examples having similar argument types.

BitVector addMethod 023 BitVector compareEQ 014 BitVector compareGE 014 BitVector compareGT 014
BitVector compareLE 014 BitVector compareLT 014 BitVector compareNE 014 BitVector comparison 014
BitVector defmethod 020 BitVector inside 007 BitVector isAtom 010 BitVector isEqual 017
BitVector isIdentical 017 BitVector isObject 012 BitVector isType 020 BitVector member 008
BitVector methodsOf 021 BitVector sort 017 Boolean addMethod 011 Boolean addMethod 012
Boolean bcompareEQ 001 Boolean bcompareGE 001 Boolean bcompareGT 001 Boolean bcompareLE 001
Boolean bcompareLT 001 Boolean bcompareNE 001 Boolean boolean 001 Boolean compare 009
Boolean compareEQ 009 Boolean compareGE 009 Boolean compareGT 009 Boolean compareLE 009
Boolean compareLT 009 Boolean compareNE 009 Boolean comparison functions 009 Boolean defmethod 012
Boolean isBoolean 001 Boolean isEqual 007 Boolean isIdentical 007 Boolean isType 011
Boolean methodsOf 012 Boolean ref 018 Boolean send 010 Boolean setq 016
Boolean sizeof 009 Boolean type 011 Brick addMethod 008 Brick defmethod 025
Brick methodsOf 024 Brick send 027 ByteVector isCharAlphabetic 003 ByteVector isCharAlphanumeric 003
ByteVector isCharLowercase 003 ByteVector isCharName 003 ByteVector isCharNumeric 003 ByteVector isCharUppercase 003
ByteVector isCharWhitespace 003 ByteVector isObject 013 Character addMethod 013 Character ccompareEQ 001
Character ccompareGE 001 Character ccompareGT 001 Character ccompareLE 001 Character ccompareLT 001
Character ccompareNE 001 Character compare 010 Character defmethod 013 Character isCharacter 001
Character methodsOf 013 Character send 011 Complex compare 021 Complex isComplex 001
Context clear 001 Context debug 001 Context debugBrowsableProcs 001 Context disassemble 001
Context evalInSyncLocalContext 001 Context getGlobalValue 001 Context getSymbolTable 001 Context globalBinding 001
Context inspect 001 Context loadWorkspace 001 Context loadWorkspace 002 Context preAllocateFixedMemoryBlocks 001
Context reset 001 Context saveWorkspace 001 Context systemCheck 001 Context version 001
CpxVector addMethod 028 CpxVector send 028 Date addMethod 015 Date addMethod 016
Date compare 012 Date defmethod 015 Date methodsOf 015 Date send 013
Dictionary addMethod 005 Dictionary binarySearch 002 Dictionary compareEQ 004 Dictionary compareGE 004
Dictionary compareGT 004 Dictionary compareLE 004 Dictionary compareLT 004 Dictionary compareNE 004
Dictionary comparison functions 004 Dictionary defMethod 006 Dictionary delete 004 Dictionary insert 002
Dictionary inside 002 Dictionary isAtom 002 Dictionary isBound 002 Dictionary isDictionary 001
Dictionary isEqual 002 Dictionary isIdentical 002 Dictionary isInside 002 Dictionary isMember 002
Dictionary isObject 004 Dictionary isType 006 Dictionary member 002 Dictionary methodsOf 007
Dictionary new 004 Dictionary ref 007 Dictionary ref 008 Dictionary ref 009
Dictionary refAttributes 002 Dictionary refValues 002 Dictionary remove 002 Dictionary send 004
Dictionary setAttributes 002 Dictionary setq 007 Dictionary setq 009 Dictionary sort 003
Dictionary sort 005 Directory addMethod 006 Directory compareEQ 005 Directory compareGE 005
Directory compareGT 005 Directory compareLE 005 Directory compareLT 005 Directory compareNE 005
Directory comparison functions 005 Directory defMethod 007 Directory delete 006 Directory insert 003
Directory inside 003 Directory isAtom 003 Directory isBound 003 Directory isDirectory 001
Directory isEqual 003 Directory isIdentical 003 Directory isInside 003 Directory isMember 003
Directory isObject 005 Directory isType 007 Directory member 002 Directory member 003
Directory methodsOf 008 Directory new 005 Directory new 006 Directory ref 010
Directory ref 011 Directory ref 012 Directory refAttributes 003 Directory refValues 003
Directory remove 003 Directory send 005 Directory setAttributes 003 Directory setq 010
Directory setq 011 Directory sort 008 Directory sort 009 Error isIdentical 007
FltVector addMethod 019 FltVector binarySearch 005 FltVector compareEQ 014 FltVector compareGE 014
FltVector compareGT 014 FltVector compareLE 014 FltVector compareLT 014 FltVector compareNE 014
FltVector comparison functions 014 FltVector defmethod 017 FltVector delete 009 FltVector insert 005
FltVector isAtom 005 FltVector isEqual 013 FltVector isIdentical 012 FltVector isObject 007
FltVector isType 016 FltVector methodsOf 017 FltVector sort 013 Function addMethod 017
Function addMethod 018 Function compare 013 Function defmethod 016 Function methodsOf 016
Function send 014 IntVector addMethod 020 IntVector binarySearch 006 IntVector compareEQ 014
IntVector compareGE 014 IntVector compareGT 014 IntVector compareLE 014 IntVector compareLT 014
IntVector compareNE 014 IntVector comparison functions 014 IntVector defmethod 018 IntVector delete 010
IntVector insert 006 IntVector inside 005 IntVector isAtom 006 IntVector isEqual 014
IntVector isIdentical 013 IntVector isObject 008 IntVector isType 017 IntVector member 005
IntVector methodsOf 018 IntVector sort 014 Integer icompareGE 001 Integer icompareGT 001
Integer icompareLE 001 Integer icompareLT 001 Integer icompareNE 001 Lambda argCount 001
Lambda argFetch 001 Lambda balance 001 Lambda callcc 001 Lambda compare 008
Lambda compareEQ 008 Lambda compareGE 008 Lambda compareGT 008 Lambda compareLE 008
Lambda compareLT 008 Lambda compareNE 004 Lambda compile 001 Lambda copy 008
Lambda debug 001 Lambda debugBrowsableProcs 001 Lambda defchild 001 Lambda define 001
Lambda define(macro) 001 Lambda defmacro 001 Lambda defmacro 002 Lambda deforphan 001
Lambda defriend 001 Lambda defun 001 Lambda defun 002 Lambda disassemble 001
Lambda eval 001 Lambda exportTab 001 Lambda globalBinding 001 Lambda importTab 001
Lambda inspect 001 Lambda isLambda 001 Lambda lambda 001 Lambda makeLambda 001
Lambda myself 001 Lambda new 001 Lambda new 002 Lambda new 003
Lambda onError 001 Lambda send 008 Lambda send 009 Lambda setq 015
Lambda type 011 List addMethod 025 List compare 020 List compareEQ 020
List compareGE 020 List compareGT 020 List compareLE 020 List compareLT 020
List compareNE 020 List comparison 020 List defmethod 022 List isObject 015
List methodsOf 022 List send 020 Matrix addMethod 008 Matrix binarySearch 005
Matrix binarySearch 006 Matrix compareEQ 007 Matrix compareGE 007 Matrix compareGT 007
Matrix compareLE 007 Matrix compareLT 007 Matrix compareNE 007 Matrix comparison functions 007
Matrix defMethod 009 Matrix delete 009 Matrix insert 005 Matrix inside 005
Matrix isAtom 005 Matrix isEqual 005 Matrix isIdentical 005 Matrix isObject 007
Matrix isType 009 Matrix member 005 Matrix methodsOf 010 NumMatrix addMethod 027
NumMatrix binarySearch 007 NumMatrix compareEQ 023 NumMatrix compareGE 023 NumMatrix compareGT 023
NumMatrix compareLE 023 NumMatrix compareLT 023 NumMatrix compareNE 023 NumMatrix comparison functions 023
NumMatrix defmethod 024 NumMatrix delete 014 NumMatrix insert 009 NumMatrix inside 009
NumMatrix isAtom 012 NumMatrix isEqual 020 NumMatrix isIdentical 020 NumMatrix isObject 014
NumMatrix isType 022 NumMatrix member 009 NumMatrix methodsOf 024 NumVector addMethod 021
NumVector binarySearch 007 NumVector compareEQ 014 NumVector compareGE 014 NumVector compareGT 014
NumVector compareLE 014 NumVector compareLT 014 NumVector compareNE 014 NumVector comparison 014
NumVector defmethod 019 NumVector delete 011 NumVector insert 007 NumVector inside 006
NumVector isAtom 007 NumVector isEqual 015 NumVector isIdentical 014 NumVector isObject 009
NumVector isType 018 NumVector member 006 NumVector methodsOf 019 NumVector sort 015
Number addMethod 014 Number compare 011 Number defmethod 014 Number methodsOf 014
Number nadd 001 Number ncompareGE 001 Number ncompareGT 001 Number ncompareLE 001
Number ncompareLT 001 Number ndiv 001 Number nmod 001 Number nmul 001
Number nsub 001 Number send 012 ObjVector addMethod 022 ObjVector compareEQ 014
ObjVector compareGE 014 ObjVector compareGT 014 ObjVector compareLE 014 ObjVector compareLT 014
ObjVector compareNE 014 ObjVector comparison functions 014 ObjVector delete 012 ObjVector insert 008
ObjVector isAtom 008 ObjVector isEqual 016 ObjVector isIdentical 015 ObjVector isObject 010
ObjVector isType 019 ObjVector member 007 ObjVector sort 016 ObjectRepository addMethod 026
ObjectRepository clear 002 ObjectRepository compare 021 ObjectRepository compare 022 ObjectRepository compareEQ 021
ObjectRepository compareEQ 022 ObjectRepository compareGE 021 ObjectRepository compareGE 022 ObjectRepository compareGT 021
ObjectRepository compareGT 022 ObjectRepository compareLE 021 ObjectRepository compareLE 022 ObjectRepository compareLT 021
ObjectRepository compareLT 022 ObjectRepository compareNE 021 ObjectRepository compareNE 022 ObjectRepository comparison 021
ObjectRepository comparison 022 ObjectRepository defmethod 023 ObjectRepository delete 013 ObjectRepository detachLibrarian 001
ObjectRepository isIdentical 019 ObjectRepository isImmediate 001 ObjectRepository methodsOf 023 ObjectRepository refLibrarian 001
ObjectRepository saveImmediate 001 ObjectRepository send 026 Pair addMethod 024 Pair defmethod 021
Pair isObject 014 Pair methodsOf 021 Pair send 019 PcodeVector isAtom 009
PcodeVector isIdentical 016 PcodeVector isObject 011 PcodeVector methodsOf 020 ShortVector addMethod 021
ShortVector binarySearch 007 ShortVector compareEQ 015 ShortVector compareGE 015 ShortVector compareGT 015
ShortVector compareLE 015 ShortVector compareLT 015 ShortVector compareNE 015 ShortVector comparison functions 015
ShortVector defmethod 019 ShortVector delete 011 ShortVector insert 007 ShortVector inside 006
ShortVector isAtom 007 ShortVector isEqual 015 ShortVector isIdentical 014 ShortVector isObject 009
ShortVector isType 018 ShortVector member 006 ShortVector methodsOf 019 ShortVector sort 015
String comparison functions 001 String isChar 001 String isCharAlphabetic 001 String isCharAlphanumeric 001
String isCharLowercase 001 String isCharName 001 String isCharNumeric 001 String isCharUppercase 001
String isCharWhitespace 001 String isEqual 001 String isEqual 002 String isObject 001
String isString 001 String isText 001 String isType 001 String isType 002
String isType 003 String setq 001 String sizeof 001 String string 001
String string 002 String string 003 String type 001 Structure addMethod 003
Structure addMethod 004 Structure binaryInsert 001 Structure binarySearch 001 Structure compareEQ 003
Structure comparison functions 003 Structure defmethod 004 Structure defmethod 005 Structure defstruct 001
Structure defstruct 002 Structure delete 001 Structure delete 002 Structure insert 001
Structure inside 001 Structure isAtom 001 Structure isBound 001 Structure isEqual 001
Structure isIdentical 001 Structure isInside 001 Structure isMember 001 Structure isObject 003
Structure isStructure 001 Structure isType 005 Structure member 001 Structure methodsOf 005
Structure new 003 Structure ref 004 Structure ref 006 Structure refAttributes 001
Structure refValues 001 Structure remove 001 Structure send 003 Structure setAttributes 001
Structure setq 003 Structure setq 004 Structure setq 005 Structure setq 006
Structure uniqueInsert 001 Structure uniqueInsert 002 Symbol *< 001 Symbol ++ 001
Symbol +< 001 Symbol -- 001 Symbol -< 001 Symbol /< 001
Symbol addMethod 002 Symbol append 003 Symbol compare 002 Symbol compareEQ 002
Symbol compareGE 002 Symbol compareGT 002 Symbol compareLE 002 Symbol compareLT 002
Symbol compareNE 002 Symbol comparison functions 002 Symbol defMethod 003 Symbol downcase 002
Symbol getGlobalValue 001 Symbol getGlobalValue 002 Symbol getSymbolTable 001 Symbol getSymbolTable 002
Symbol hashString 002 Symbol isCharAlphabetic 002 Symbol isCharAlphanumeric 002 Symbol isCharLowercase 002
Symbol isCharName 002 Symbol isCharNumeric 002 Symbol isCharUppercase 002 Symbol isCharWhitespace 002
Symbol isObject 002 Symbol isSymbol 001 Symbol isType 004 Symbol methodsOf 004
Symbol new 002 Symbol proplist 001 Symbol proprecord 001 Symbol putprop 001
Symbol ref 003 Symbol remProp 001 Symbol setq 001 Symbol setq 002
Symbol sizeof 002 Symbol symbol 001 Symbol symbol 002 Symbol type 002
Symbol upcase 004 Vector addMethod 007 Vector binarySearch 003 Vector binarySearch 004
Vector compareEQ 006 Vector compareGE 006 Vector compareGT 006 Vector compareLE 006
Vector compareLT 006 Vector compareNE 006 Vector comparison functions 006 Vector defmethod 008
Vector delete 007 Vector delete 008 Vector insert 004 Vector inside 004
Vector isAtom 004 Vector isEqual 004 Vector isIdentical 004 Vector isObject 006
Vector isType 008 Vector member 004 Vector methodsOf 009 Vector setAttributes 004
Vector setAttributes 005 Vector sort 011 Void addMethod 009 Void addMethod 010
Void compareEQ 008 Void compareGE 008 Void compareGT 008 Void compareLE 008
Void compareLT 008 Void compareNE 008 Void comparison functions 008 Void defmethod 010
Void defmethod 011 Void isEqual 006 Void isIdentical 006 Void isType 010
Void methodsOf 011

Analytic Information Server (AIS)

AIS Component Systems

  • Smartbase Engine
  • QT C++ Libraries
  • MySQL Relational Database
  • AIS Lisp Libraries
  • Rapid Analytic Demo IDE