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

 

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(Context) debugBrowsableProcs(Context) onError(Context)

 

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 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

How do I contact the AIS Server team?

You can always talk with the AIS at aiserver.sourceforge.net.