stack threadID:<int> showLocals:<bool> firstFrameOnly:<bool> excludeOwner:<bool> to:<stream> asString:<bool>
This function dumps the call stack showing the nesting of function calls at the current execution point.
If threadID: is not specified, the current thread is dumped. If a thread ID is supplied, the specified thread is dumped. See the threads() method.
If showLocals: is not specified or supplied as true, the local variables in each stack frame are dumped.
If firstFrameOnly: is not specified or supplied as false, all stack frames are displayed. If supplied as true, only the current stack frame is displayed.
If to: is not specified, output is sent to the MAXScript Listener, otherwise to the supplied stream.
NEW in 3ds Max 2017: If excludeOwner: is true, the dumping of the owner (if any) is not performed at each stack level. If excludeOwner: if false, a dump of the owner of the frame is included. "Owners" include rollouts, scripted plugins, and structure instances. See the second example below.
If asString: is true, the method does not write to a stream (either the listener or the stream specified by to), rather the stack capture is returned from the function as a string.
EXCLUDEOWNER EXAMPLE: |
rollout test "test" ( button b "Press Me" on b pressed do ( print "stack with owner" stack excludeOwner:false print "\n\nstack w/o owner" stack excludeOwner:true ) ) createDialog test |
OUTPUT: |
"stack with owner" ** thread data: threadID:7228 ** ------------------------------------------------------ ** [stack level: 0] ** In b.pressed(); filename: ; position: 125; line: 7 ** member of: Rollout:test -- Locals: -- Externals: -- test: Rollout:test -- owner: Rollout:test -- Owner: -- Locals: -- b: RolloutControl:b in rollout:test : ButtonControl:b -- Externals: ** ------------------------------------------------------ ** [stack level: 1] ** called from top-level " stack w/o owner" ** thread data: threadID:7228 ** ------------------------------------------------------ ** [stack level: 0] ** In b.pressed(); filename: ; position: 183; line: 9 ** member of: Rollout:test -- Locals: -- Externals: -- test: Rollout:test -- owner: Rollout:test ** ------------------------------------------------------ ** [stack level: 1] ** called from top-level |