Example of Execution
This is an example of a debugging session of the following script (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")
First run the RemDebug controller:
% lua50 controller.lua Lua Remote Debugger Run the program you wish to debug
At this moment you can run your target program (in another window):
% lua50 test.lua
Now go back to the window where you ran controller.lua (this assumes
you are running test.lua inside C:\development\kepler on a
Windows system):
Paused at file C:/development/kepler/test.lua Type 'help' for commands > basedir C:/development/kepler/ New base directory is C:/development/kepler/ > basedir C:/development/kepler/ > step Paused at file C:/development/kepler/test.lua line 6 > over Paused at file C:/development/kepler/test.lua line 7 > over Paused at file C:/development/kepler/test.lua line 10 > over Paused at file C:/development/kepler/test.lua line 15 > setb test.lua 19 > run
You can change to the application window anytime to see its output. Back to the debugger session:
Paused at file C:/development/kepler/test.lua line 19 > run Paused at file C:/development/kepler/test.lua line 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 > run Paused at file C:/development/kepler/test.lua line 19 > eval tab.foo 4 > delb test.lua 19 > setw tab.foo == 32 Inserted watch exp no. 1 > run Paused at file C:/development/kepler/test.lua line 17 (watch expression 1: [tab.foo = 32]) > eval tab.foo 32 > delw 1 > run Program finished