gpt4 book ai didi

c++ - 从 Xcode 调试器调用 lua_getstack

转载 作者:行者123 更新时间:2023-11-28 00:52:19 25 4
gpt4 key购买 nike

我正在尝试调试使用 Lua 5.1 的 C/C++ 应用程序。在这个阶段,有一种方法可以在调试时将人类可读的数据表示形式转储到 Lua 堆栈上,这将非常有用。我找到了 lua_getstack 函数,它看起来是正确的类型,但我找不到通过 LLDB 命令行调用它并将其打印为人类可读内容的方法。有更好的方法吗?

最佳答案

您可以使用类似这样的东西,然后从调试器中调用它:

void lua_stackdump(lua_State *L) 
{
int i;
int top = lua_gettop(L);
for (i = 1; i <= top; i++) { /* repeat for each level */
int t = lua_type(L, i);
switch (t) {
case LUA_TSTRING: { /* strings */
printf("’%s’\n", lua_tostring(L, i));
break;
}
case LUA_TBOOLEAN: { /* booleans */
printf(lua_toboolean(L, i) ? "true" : "false");
break;
}
case LUA_TNUMBER: { /* numbers */
printf("%g\n", lua_tonumber(L, i));
break;
}
default: { /* other values */
printf("%s\n", lua_typename(L, t));
break;
}
}
}
printf("\n"); /* end the listing */
}

关于c++ - 从 Xcode 调试器调用 lua_getstack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13451360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com