Как мне использовать Lua-хуки, чтобы узнать имя запущенной в данный момент функции? - PullRequest
2 голосов
/ 18 января 2011

В настоящее время я запускаю скрипт 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 для меня является полной загадкой, и документация также ничего не проясняет, поэтому любая помощь будет очень признательна.

1 Ответ

3 голосов
/ 21 января 2011

lua_getstack сделал трюк, так что неважно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...