Builds call stack.
Unit
Syntax
ParametersAFirstAddr [in, optional] Code address to add to stack. May be nil (default), which means do not add any additional items to stack.
When specified:
AStackFrame [in, optional] Specifies current stack pointer. This value indicate starting pointer to start tracing process. May be nil (default), which means use current stack pointer (i.e. trace entire stack).
When specified:
ATopOfStack [in, optional] Specifies top of the stack. This value indicate ending value for tracing process. May be nil (default), which means use current stack limits (i.e. trace entire stack).
Usually this value is not specified, unless you want to build call stack for another (external) thread.
When specified:
AStartLevel [in, optional] Indicates how many items (i.e. levels) should be skipped from start of call stack. Default is -1, which means "do not remove any items".
ALevelsNumber [in, optional] Limits length (items' count) of call stack. Default is -1, which means "do not limit call stack".
ADebugDetails [in, optional] Only store locations with this level of details. Default is [ddUnit, ddProcedure, ddSourceCode].
AThreadID [in, optional] A thread ID (this is not thread handle).
Mark call stack items as belonging to the specified thread. Default is 0, which means current thread.
This argument is used to build call stack for another (external) thread, assuming that you pass CPU context and other values belonging to the specified thread. Please note that target thread must be a current thread or a suspended thread.
However, if you want to build a call stack for another (external) thread - there is an easier way: use the BuildForThread method.
ARunningThread [in, optional] Set this argument to True when build call stacks manually. Value of False is used to indicate error (exception) thread. Default is True.
AGetDebugInfo [in, optional] Retrieve debug information.
False - retrieve only RAW pointers; UnitName, ClassName, ProcedureName and LineNumber will be empty.
True - retrieve full information. Each possible property will be filled. This works slower.
AShowBeginCalls [in, optional] For backward compatibility only. Always use False.
AMethods [in, optional] Mask for call stack tracing methods to use. Default is DefaultTracerMask (which is "EurekaLog 7 RAW"). Do not use this argument. Use GetTracer or GetTracerClass functions.
AContext [in, optional] A pointer to CPU context record. Supply this value when available.
RemarksTraces CPU stack and looks for return addresses. Each found return address will be added to the list (object). You can walk though stack by using Count and Items properties.
See also
|