WoW API < debugstack

Output a string representation of the current calling stack, similar to the standard Lua debug.traceback() call, which is not present in WoW.

description = debugstack([start[, count1[, count2]]])

Arguments Edit

Parameters Edit

Number - the stack depth at which to start the stack trace (default 1 - the function calling debugstack)
Number - the number of functions to output at the top of the stack (default 12)
Number - the number of functions to output at the bottom of the stack (default 10)

Returns Edit

String - a multi-line string showing what the current call stack looks like

If there are more than count1+count2 calls in the stack, they are separated by a "..." line.

Example Edit

Assume the following example file, "file.lua":

 1: function a()
 2:   error("Boom!"); 
 3: end
 5: function b() a(); end
 7: function c() b(); end
 9: function d() c(); end
11: function e() d(); end
13: function f() e(); end
15: function errhandler(msg)
16:   print (msg .. "\nCall stack: \n" .. debugstack(2, 3, 2));
17: end
19: xpcall(f, errhandler);

This would output something along the following:

file.lua:2: Boom!
Call stack:
file.lua:2: in function a
file.lua:5: in function b
file.lua:7: in function c
file.lua:13: in function f

Note that despite its all-lowercase name, this is not a core Lua function. It is a WoW API.

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.