angerangel edited this page Jan 3, 2013 · 3 revisions


   EVOKE chant


Special guru meditations. (Not for beginners.)

EVOKE is a native value.


  • chant -- Single or block of words ('? to list) (word! block! integer!)


evoke: make native! [  [
    "Special guru meditations. (Not for beginners.)"
    chant [word! block! integer!] "Single or block of words ('? to list)"
] ]


This is useful for analyzing hard REBOL crashes that lead to assertion errors and other crashes that aren't related to your script errors, but directly exposes bugs in the REBOL kernel. This is helpful information for REBOL Technologies to fix these bugs.

To enable this kind of analysis, have this at the beginning of your program:

secure [debug allow] 
evoke 'crash-dump

If REBOL crashes, you will get a stack dump. You can force a crash using:

evoke 'crash
--REBOL Kernel Dump--
Cycles:  110001
Counter: 4907
Dose:    10000
Signals: #00000000
Sigmask: #FFFFFFFF
DSP:     5
DSF:     1
Ballast: 1709360
Disable: 1
Protect: 1
Infants: 1

STACK[5] evoke[1] native!
    chant: crash

#Special Notes

Common for all operations with evoke is that debugging must be allowed using:

secure [debug allow]

evoke also allows other debug output, mostly used internally by REBOL Technologies to help test REBOL 3.

The function can also be used to monitor the garbage collector:

evoke 'watch-recycle

or to monitor object copying:

evoke 'watch-obj-copy

or to set the stack size:

evoke 'stack-size 2000000

or to debug delect information:

evoke 'delect
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.