Difference between revisions of "ASTACKTRACE()"

From Lianjapedia
Jump to: navigation, search
(Created page with "==Purpose== Fill a two-dimensional array with the current execution stack information ==Syntax== ASTACKTRACE("<arrayname>") ==See Also== DEBUGOUT, DISPLAY CALLS, [[D...")
 
 
Line 1: Line 1:
 
==Purpose==
 
==Purpose==
Fill a two-dimensional array with the current execution stack information
+
Function to fill a two-dimensional array with current execution stack information
  
 
==Syntax==
 
==Syntax==

Latest revision as of 06:43, 23 October 2013

Purpose

Function to fill a two-dimensional array with current execution stack information

Syntax

ASTACKTRACE("<arrayname>")

See Also

DEBUGOUT, DISPLAY CALLS, DOSERROR(), ERRNO(), ERROR(), LIST CALLS, MESSAGE(), ON ERROR, PROCLINE(), PROCNAME(), RETRY, SET DEBUGOUT, SET ONERROR, STRERROR()

Description

The ASTACKTRACE() function fills a two-dimensional array, <arrayname> with the current execution stack information. Each row in the array will have two elements: the first is the name of the procedure, the second the line number.

Example

proc errorproc
	astacktrace("a_trace")
	display memory
endproc
proc proc1
	proc2()
endproc
proc proc2
	proc3()
endproc
proc proc3
	proc4()
endproc
proc proc4
	messagebox("In proc4")
	crash
endproc
on error errorproc()
proc1()

Run the program:

do doc

Output:

Memory Variables:
------------------------
private(7):
A_TRACE    Fixed array (refcnt 1)
A_TRACE    [1,1] pri( 7)    Character[  9]    'errorproc'
A_TRACE    [1,2] pri( 7)    Numeric  [ 10]    2  (2.000000000)
A_TRACE    [2,1] pri( 7)    Character[  5]    'proc4'
A_TRACE    [2,2] pri( 7)    Numeric  [ 10]    16  (16.000000000)
A_TRACE    [3,1] pri( 7)    Character[  5]    'proc3'
A_TRACE    [3,2] pri( 7)    Numeric  [ 10]    12  (12.000000000)
A_TRACE    [4,1] pri( 7)    Character[  5]    'proc2'
A_TRACE    [4,2] pri( 7)    Numeric  [ 10]    9  (9.000000000)
A_TRACE    [5,1] pri( 7)    Character[  5]    'proc1'
A_TRACE    [5,2] pri( 7)    Numeric  [ 10]    6  (6.000000000)
A_TRACE    [6,1] pri( 7)    Character[  7]    'doc.dbo'
A_TRACE    [6,2] pri( 7)    Numeric  [ 10]    19  (19.000000000)
A_TRACE    [7,1] pri( 7)    Character[  8]    'keyboard'
A_TRACE    [7,2] pri( 7)    Numeric  [ 10]    0  (0.000000000)

** Total of ** 15 variables defined and 1680 bytes used.