API debugstack

104,671pages on
this wiki
Add New Page
Talk0 Share
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.

Also on Fandom

Random Wiki