debugger

Страницы: 1
RSS
debugger
 
На просторах интернета есть скрипт на основе debug-библиотеки, встроенной в Луа.
https://stackoverflow.com/questions/15725744/easy-lua-profiling
Я - увы - ничего не понимаю в этом коде, но моих слабых способностей хватило, чтобы начать его использовать.
До начала отслеживаемого куска ставится код:
Код
local calls, total, this = {}, {}, {}debug.sethook(function(event)
  local i = debug.getinfo(2, "Sln")
  if i.what ~= 'Lua' then return end
  local func = i.name or (i.source..':'..i.linedefined)
  if event == 'call' then
    this[func] = os.clock()
  else
    local time = os.clock() - this[func]
    total[func] = (total[func] or 0) + time
    calls[func] = (calls[func] or 0) + 1
  end
end, "cr")
--изучаемый код

Концовка:
Код
debug.sethook()
-- print the results
for f,time in pairs(total) do
  print(("Function %s took %.3f seconds after %d calls"):format(f, time, calls[f]))
end
вместо print я вывожу эту строку в файл.

Скрипт работает и внутри колбека OnQuote показывает мои "личные" функции:



Но самое ценное - функцию получения стакана getQuoteLevel2 не показывает. Видимо, он понимает только пользовательские функции.
Прошу подсказать, как в этот дебаггер добавить другую полезную информацию:
--функции QLUA
--пробегание циклов
--переменные
Спасибо за советы.
Страницы: 1
Читают тему
Наверх