Отладчик Lua, который может подключаться к процессу

У моей компании есть программа, которая использует Lua, встроенную в ее среду выполнения, загружая файлы .lua с диска и многократно выполняя определенные в них функции .

Есть ли способ подключиться к запущенному процессу и установить точки останова в моих файлах .lua ? (Я бы принял либо отладку командной строки в стиле gdb как часть дистрибутива Lua, либо, возможно, стороннюю среду IDE, которая предоставляет точки останова графического интерфейса в стиле Visual Studio.)

Или то, что я просить совершенно бессмысленно и невозможно, учитывая характер среды выполнения, загружающей случайные файлы с диска?

Edit : Похоже, это не бессмысленно, учитывая, что собственная функция Lua debug.getinfo () может определяет исходный файл для данной функции, а debug.sethook () разрешает обратный вызов для каждой новой введенной строки кода. Итак, разумно загрузить исходный код с диска и иметь возможность узнать, когда интерпретатор выполняет определенную строку кода из этого файла. Остается вопрос: как мне зафиксировать существующий процесс, у которого есть интерпретатор Lua, и ввести мою собственную функцию трассировки (которая затем может отслеживать пары номеров файлов и строк и приостанавливать выполнение)?

12
задан Phrogz 7 December 2011 в 18:13
поделиться