В настоящее время я запускаю скрипт Lua с подключенным хуком, используя LUA_MASKCALL
, и функция хука реализована следующим образом:
void LuaHook(lua_State *L, lua_Debug *ar) {
switch(ar->event) {
case LUA_HOOKCALL:
lua_getinfo(L, ">n", ar);
//breakpoint here...
} break;
default:
break;
}
}
Я хотел бы получить имя вызываемой функции, но не уверен, что я делаю это правильно, поскольку кажется, что она никогда ничего мне не дает (хотя точка останова срабатывает в подходящее время). Вызываемые функции являются связанными функциями C, которые имеют имена, поэтому это кажется странным. В целом lua_getinfo
для меня является полной загадкой, и документация также ничего не проясняет, поэтому любая помощь будет очень признательна.