Advertisement
szpg1108

stackTrace

Aug 28th, 2013
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.74 KB | None | 0 0
  1. void stackTrace(lua_State *L)
  2. {
  3.     int i;
  4.     int top = lua_gettop(L);
  5.     printf("---- Begin Stack ----\n");
  6.     printf("Stack size: %i\n\n", top);
  7.     for (i = top; i >= 1; i--)
  8.     {
  9.         int t = lua_type(L, i);
  10.         switch (t)
  11.         {
  12.             case LUA_TSTRING:
  13.             printf("%i -- (%i) ---- `%s'", i, i - (top + 1), lua_tostring(L, i));
  14.             break;
  15.    
  16.             case LUA_TBOOLEAN:
  17.             printf("%i -- (%i) ---- %s", i, i - (top + 1), lua_toboolean(L, i) ? "true" : "false");
  18.             break;
  19.    
  20.             case LUA_TNUMBER:
  21.             printf("%i -- (%i) ---- %g", i, i - (top + 1), lua_tonumber(L, i));
  22.             break;
  23.    
  24.             default:
  25.             printf("%i -- (%i) ---- %s", i, i - (top + 1), lua_typename(L, t));
  26.             break;
  27.         }
  28.         printf("\n");
  29.     }
  30.     printf("---- End Stack ----\n");
  31.     printf("\n\n");
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement