Я не уверен, правильно ли это.Надеюсь, что это поможет:
Источник: http://www.keplerproject.org/remdebug/example.html
Это пример сеанса отладки следующего сценария (test.lua):
1 require"remdebug.engine"
2
3 remdebug.engine.start()
4
5 local tab = {
6 foo = 1,
7 bar = 2
8 }
9
10 print("Start")
11
12 function bar()
13 print("In bar 1")
14 print("In bar 2")
15 end
16
17 for i = 1, 10 do
18 print("Loop")
19 bar()
20 tab.foo = tab.foo * 2
21 end
22
23 print("End")
Первыйзапустите контроллер RemDebug:
% lua50 controller.lua Удаленный отладчик Lua Запустите программу, которую вы хотите отлаживать В данный момент вы можете запустить вашу целевую программу (в другом окне):
% lua50 test.lua Теперь вернитесь к окну, где вы запустили controller.lua (предполагается, что вы запускаете test.lua внутри C: \ development \ kepler в системе Windows):
Приостановлено в файле C: / development /kepler / test.lua Введите 'help' для команд
basedir C: / development / kepler / Новый базовый каталог - C: / development / kepler / basedir C: / development / kepler / step. Приостановлено вфайл C: /development/kepler/test.lua, строка 6 над Приостановлено в файле C: /development/kepler/test.lua строка 7 над Приостановлено в файле C: /development/kepler/test.lua строка 10 над Приостановлено в файле C: /development/kepler/test.lua line 15 setb test.lua 19 run Вы можете изменитьge в окно приложения в любое время, чтобы увидеть его вывод.Вернуться к сеансу отладчика:
Приостановлено в файле C: /development/kepler/test.lua строка 19
Запустить Приостановлено в файле C: / development / kepler /test.lua строка 19 eval tab.foo 2 eval tab.bar 2 exec old_tab = tab nil exec tab = 2 nil eval tab 2 exec tab = old_tab nil eval tab.foo 2 запустить Приостановлено в файле C: / development / kepler / test.lua line 19 eval tab.foo 4 delb test.lua 19 setw tab.foo == 32 Вставленный номер эксп.1 запуск Приостановлено в файле C: /development/kepler/test.lua строка 17 (просмотрите выражение 1: [tab.foo = 32]) eval tab.foo 32 delw 1 run Программа завершена