Skip to content

Commit 1d629ee

Browse files
committed
Updated documentation for 0.60.
1 parent 2b6de8e commit 1d629ee

File tree

4 files changed

+227
-173
lines changed

4 files changed

+227
-173
lines changed

CHANGELOG.md

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
# MobDebug Changelog
2+
3+
## v0.60 (Aug 30 2014)
4+
- Added support for nginx debugging using internal coroutine API.
5+
- Fixed localizaton in breakpoint handling function.
6+
- Added path processing for chunk names that look like file names.
7+
- Added line mapping support for debugging Lua-based languages.
8+
- Fixed compatibility with Lua 5.2 (#13).
9+
10+
## v0.56 (May 11 2014)
11+
- Added `pause` method to suspend debugging from the application.
12+
- Added DONE command to stop debugging and continue execution.
13+
- Updated handling of `os.getenv` that may return multiple values (fixes #13).
14+
- Updated coroutine debugging to avoid using `require` calls.
15+
- Added support for setting/deleting breakpoints at run-time.
16+
- Added number conversion for MOBDEBUG_PORT.
17+
- Added check for loading 'os' module that may be absent on some systems.
18+
- Updated Serpent (0.272) to fix array indexes serialization.
19+
- Added closing Lua state during os.exit() for Lua 5.2+ (closes #11).
20+
- explicit load Lua standard library (thanks to Alexey Melnichuk)
21+
- Added explicit loading of `table` table (fixes #9).
22+
23+
## v0.55 (Dec 14 2013)
24+
- Added `setbreakpoint` and `removebreakpoint` public methods (closes #8).
25+
- Fixed complex values 'captured' by redirected 'print' and not collected.
26+
- Fixed error reporting on debugging non-existing file.
27+
- Added ability to overwrite `line` and `dump` methods for serialization.
28+
- Added handling of case-sensitive partitions on OSX (fixes #6, closes #7).
29+
- Fixed Step Over/Out commands to stay in the same coroutine.
30+
- Updated LICENSE information.
31+
- Added optimization and limiting elements in a table in serializer (Serpent 0.25).
32+
- Added support for `MOAICoroutine.new().run` to enable coroutine debugging.
33+
- Added reporting of socket error for failed start()/loop() calls.
34+
- Fixed debugging on/off handling in 'main' thread for LuaJIT.
35+
- Fixed stepping through blocks with `nil` variables when 'strict' is in effect.
36+
37+
## v0.54 (Aug 30 2013)
38+
- Added reset of hook visits in case earlier start() call is refused.
39+
- Added saving host/port configuration to reuse in start/loop calls.
40+
- Added handling of code fragments reported as 'source'.
41+
- Improved handling of done() in environments that reuse VMs.
42+
- Reset state to allow multiple start()/done() calls from the same process.
43+
- Replaces `unpack` with `table.unpack` for Lua 5.2 compatibility.
44+
- Updated filenames/source code heuristic to avoid serializing filenames.
45+
- Upgraded Serpent to 0.24 to fix table serialization issue.
46+
- Upgraded Serpent to 0.231 to fix luaffi issue.
47+
- Fixed debugging of zero length scripts.
48+
49+
## v0.53 (May 06 2013)
50+
- Added handling of case-insensitive filenames on OSX.
51+
- Allowed start() to be called inside other functions (like assert).
52+
- Improved debugging performance.
53+
- Replaced socket.select with non-blocking .receive as it is faster.
54+
- Upgraded serializer to add notification on incomplete output.
55+
- Upgraded serializer (v0.224) to add support for __tostring and __serialize metamethods.
56+
- Updated to allow `debug.traceback()` to be called under debugger.
57+
- Fixed 'breaking' after executing OUT command that never reaches the target level.
58+
- Fixed terminating debugging of an empty script.
59+
- Fixed resetting cached source as it may change when basedir changes.
60+
- Fix stack trace when LuaJIT FFI data is present (add `cdata` handling).
61+
62+
## v0.52 (Mar 04 2013)
63+
- Added `done()` method to finish debugging and to allow the script to continue.
64+
- Added support for cross-platform remote debugging.
65+
- Added support for code reloading and coroutine debugging under LuaJIT (v2.0.1).
66+
- Added using `socket.connect4` when available.
67+
- Added support for debugging Lua 5.2 scripts.
68+
- Added check for `os.getenv` for those platforms that don't implement it.
69+
- Improved handling of run-time errors in serialized data (__tostring method).
70+
- Improved reporting of debugger errors to the application.
71+
- Moved mosync/mobileLua code into a separate module.
72+
- Fixed an issue with `eval/exec` commands not working immediately after `start()`.
73+
74+
## v0.51 (Dec 13 2012)
75+
- Added yield callback to customize event loop call during debugging.
76+
- Added custom error handler for start() call to report errors remotely.
77+
- Added serialization of remote 'print' results.
78+
- Added 'output' command to redirect 'print' remotely.
79+
- Added turning JIT off under LuaJIT to get reliable debug hook calls.
80+
- Added setting/using global vars in a way that is 'strict.lua' friendly.
81+
- Changed default port to 8172. Added setting port # using MOBDEBUG_PORT.
82+
- Updated license to add remdebug license information.
83+
- Upgraded to Serpent v0.20 to add serialization of metatables with
84+
__tostring and fix serialization of functions as shared keys.
85+
- Fixed using correct environment after the main script is done.
86+
87+
## v0.50 (Oct 05 2012)
88+
- Improved path matching when absolute and relative paths are used.
89+
- Improved performance; thanks to Stephen Nichols for profiling and
90+
detailed suggestions.
91+
- Added conversion of file names on Windows to lower case to make
92+
x:\Foo and X:\foo to match in breakpoint checks.
93+
- Added reporting errors in deserializing stack data.
94+
- Fixed an issue with returning stack values with circular references.
95+
- Fixed serialization of usedata values that don't provide tostring().
96+
- Fixed an issue with wx IDLE event on Linux.
97+
98+
## v0.49 (Sep 03 2012)
99+
- Added support for unicode names in load and breakpoint commands.
100+
- Added conversion to short path for unicode names on windows.
101+
- Added handling of exit/load/reload commands after watch condition is fired.
102+
- Added support for moai breakpoints and callback debugging.
103+
- Fixed an issue of starting debugging too early in some cases using start().
104+
- Fixed an issue with coroutine debugging.
105+
- Fixed an issue with yielding to wxwidgets apps while running main loop.
106+
107+
## v0.48 (Aug 05 2012)
108+
- Added support for coroutine debugging. Added methods (coro/moai) to
109+
support coroutine debugging without adding 'on()' calls to all coroutines.
110+
- Added on/off methods to turn debugging on and off (to improve performance).
111+
- Fixed an issue with localized variables not being properly restored
112+
if there are multiple variables with the same name in the environment.
113+
- Added restoring variables between stack calls to make them reflect changes
114+
that can be caused by EXEC/EVAL commands.
115+
- Fixed compilation errors on scripts with a shebang line.
116+
117+
## v0.47 (Jun 28 2012)
118+
- Added special handling to debug clients running under LuaJIT.
119+
- Fixed an issue when a remote client could not suspend/exit.
120+
- Added default configuration for start/loop/listen methods.
121+
- Relaxed safety checks to allow debugging lua code called from C
122+
functions (to support debugging Love2d and similar applications).
123+
- Fixed incorrect initial stack level when started with start() command.
124+
- Added short_src field to the reported stack data.
125+
126+
## v0.46 (Jun 19 2012)
127+
- Added reporting of stack and variable (local/upvalue) information.
128+
- Added support for multiple results returned by EXEC/EVAL commands.
129+
- Added serialization/pretty-printing of results from EXEC/EVAL.
130+
131+
## v0.45 (May 28 2012)
132+
- Added select() implementation to mosync client to abort/break a running
133+
mosync app.
134+
- Added support for scratchpad.
135+
- Added SUSPEND command to suspend execution of a running script.
136+
- Added 'loadstring' command to load chunks of code to run under debugger.
137+
- Added safety mechanism to LOAD/RELOAD to avoid aborting when there are
138+
C functions in the stack.
139+
- Added reset for loaded modules to get 'require' to be processed correctly
140+
after LOAD/RELOAD commands.
141+
- Added integration with MobileLua event loop to allow debugging of
142+
applications that require event loop processing.
143+
- Improved handling and reporting of run-time errors during debugging.
144+
- Fixed handling of multi-line fragments with comments executed with EXEC/EVAL.
145+
- Fixed exit from the debugger when the application throws an error.
146+
- Fixed an issue with saving/restoring internal local variables.
147+
- Fixed an issue with local variables not being updated after EXEC/EVAL
148+
commands.
149+
150+
## v0.44 (Mar 20 2012)
151+
- Updated to work with "mosync" namespace (MobileLua 20120319 and MoSync 3.0).
152+
- Removed the use of "module()".
153+
154+
## v0.43 (Jan 16 2012)
155+
- Fixed errors from LOAD/RELOAD commands when used with start() method.
156+
- Added reporting of a file name and a line number to properly display
157+
source code when attach to a debugger.
158+
159+
## v0.42 (Dec 30 2011)
160+
- Added support for debugging of wxwidgets applications.
161+
- Added ability to break an application being debugged; this requires
162+
socket.select and async processing (doesn't work from the command line).
163+
164+
## v0.41 (Dec 17 2011)
165+
- Added slash conversion in filenames to make breakpoints work regardless
166+
of how slashes are specified in file names and in setb/delb commands.
167+
- Added tests with breakpoints in files in subfolders.
168+
- Added optimization for filename processing in the debug hook
169+
(Christoph Kubisch).
170+
- Added conversion of newlines for EVAL/EXEC commands to make them work
171+
with multiline expressions.
172+
- Allowed 'setb' and 'delb' commands to accept '-' as the filename.
173+
The last referenced (checked/stopped at/etc.) filename is used.
174+
175+
## v0.40 (Dec 02 2011)
176+
- First public release.

README.md

Lines changed: 1 addition & 171 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# MobDebug
1+
# Project Description
22

33
MobDebug is a remote debugger for Lua.
44

@@ -53,173 +53,3 @@ Paul Kulchenko (paul@kulchenko.com)
5353
## License
5454

5555
See LICENSE file
56-
57-
## History
58-
59-
### v0.56 (May 11 2014)
60-
- Added `pause` method to suspend debugging from the application.
61-
- Added DONE command to stop debugging and continue execution.
62-
- Updated handling of `os.getenv` that may return multiple values (fixes #13).
63-
- Updated coroutine debugging to avoid using `require` calls.
64-
- Added support for setting/deleting breakpoints at run-time.
65-
- Added number conversion for MOBDEBUG_PORT.
66-
- Added check for loading 'os' module that may be absent on some systems.
67-
- Updated Serpent (0.272) to fix array indexes serialization.
68-
- Added closing Lua state during os.exit() for Lua 5.2+ (closes #11).
69-
- explicit load Lua standard library (thanks to Alexey Melnichuk)
70-
- Added explicit loading of `table` table (fixes #9).
71-
72-
### v0.55 (Dec 14 2013)
73-
- Added `setbreakpoint` and `removebreakpoint` public methods (closes #8).
74-
- Fixed complex values 'captured' by redirected 'print' and not collected.
75-
- Fixed error reporting on debugging non-existing file.
76-
- Added ability to overwrite `line` and `dump` methods for serialization.
77-
- Added handling of case-sensitive partitions on OSX (fixes #6, closes #7).
78-
- Fixed Step Over/Out commands to stay in the same coroutine.
79-
- Updated LICENSE information.
80-
- Added optimization and limiting elements in a table in serializer (Serpent 0.25).
81-
- Added support for `MOAICoroutine.new().run` to enable coroutine debugging.
82-
- Added reporting of socket error for failed start()/loop() calls.
83-
- Fixed debugging on/off handling in 'main' thread for LuaJIT.
84-
- Fixed stepping through blocks with `nil` variables when 'strict' is in effect.
85-
86-
### v0.54 (Aug 30 2013)
87-
- Added reset of hook visits in case earlier start() call is refused.
88-
- Added saving host/port configuration to reuse in start/loop calls.
89-
- Added handling of code fragments reported as 'source'.
90-
- Improved handling of done() in environments that reuse VMs.
91-
- Reset state to allow multiple start()/done() calls from the same process.
92-
- Replaces `unpack` with `table.unpack` for Lua 5.2 compatibility.
93-
- Updated filenames/source code heuristic to avoid serializing filenames.
94-
- Upgraded Serpent to 0.24 to fix table serialization issue.
95-
- Upgraded Serpent to 0.231 to fix luaffi issue.
96-
- Fixed debugging of zero length scripts.
97-
98-
### v0.53 (May 06 2013)
99-
- Added handling of case-insensitive filenames on OSX.
100-
- Allowed start() to be called inside other functions (like assert).
101-
- Improved debugging performance.
102-
- Replaced socket.select with non-blocking .receive as it is faster.
103-
- Upgraded serializer to add notification on incomplete output.
104-
- Upgraded serializer (v0.224) to add support for __tostring and __serialize metamethods.
105-
- Updated to allow `debug.traceback()` to be called under debugger.
106-
- Fixed 'breaking' after executing OUT command that never reaches the target level.
107-
- Fixed terminating debugging of an empty script.
108-
- Fixed resetting cached source as it may change when basedir changes.
109-
- Fix stack trace when LuaJIT FFI data is present (add `cdata` handling).
110-
111-
### v0.52 (Mar 04 2013)
112-
- Added `done()` method to finish debugging and to allow the script to continue.
113-
- Added support for cross-platform remote debugging.
114-
- Added support for code reloading and coroutine debugging under LuaJIT (v2.0.1).
115-
- Added using `socket.connect4` when available.
116-
- Added support for debugging Lua 5.2 scripts.
117-
- Added check for `os.getenv` for those platforms that don't implement it.
118-
- Improved handling of run-time errors in serialized data (__tostring method).
119-
- Improved reporting of debugger errors to the application.
120-
- Moved mosync/mobileLua code into a separate module.
121-
- Fixed an issue with `eval/exec` commands not working immediately after `start()`.
122-
123-
### v0.51 (Dec 13 2012)
124-
- Added yield callback to customize event loop call during debugging.
125-
- Added custom error handler for start() call to report errors remotely.
126-
- Added serialization of remote 'print' results.
127-
- Added 'output' command to redirect 'print' remotely.
128-
- Added turning JIT off under LuaJIT to get reliable debug hook calls.
129-
- Added setting/using global vars in a way that is 'strict.lua' friendly.
130-
- Changed default port to 8172. Added setting port # using MOBDEBUG_PORT.
131-
- Updated license to add remdebug license information.
132-
- Upgraded to Serpent v0.20 to add serialization of metatables with
133-
__tostring and fix serialization of functions as shared keys.
134-
- Fixed using correct environment after the main script is done.
135-
136-
### v0.50 (Oct 05 2012)
137-
- Improved path matching when absolute and relative paths are used.
138-
- Improved performance; thanks to Stephen Nichols for profiling and
139-
detailed suggestions.
140-
- Added conversion of file names on Windows to lower case to make
141-
x:\Foo and X:\foo to match in breakpoint checks.
142-
- Added reporting errors in deserializing stack data.
143-
- Fixed an issue with returning stack values with circular references.
144-
- Fixed serialization of usedata values that don't provide tostring().
145-
- Fixed an issue with wx IDLE event on Linux.
146-
147-
### v0.49 (Sep 03 2012)
148-
- Added support for unicode names in load and breakpoint commands.
149-
- Added conversion to short path for unicode names on windows.
150-
- Added handling of exit/load/reload commands after watch condition is fired.
151-
- Added support for moai breakpoints and callback debugging.
152-
- Fixed an issue of starting debugging too early in some cases using start().
153-
- Fixed an issue with coroutine debugging.
154-
- Fixed an issue with yielding to wxwidgets apps while running main loop.
155-
156-
### v0.48 (Aug 05 2012)
157-
- Added support for coroutine debugging. Added methods (coro/moai) to
158-
support coroutine debugging without adding 'on()' calls to all coroutines.
159-
- Added on/off methods to turn debugging on and off (to improve performance).
160-
- Fixed an issue with localized variables not being properly restored
161-
if there are multiple variables with the same name in the environment.
162-
- Added restoring variables between stack calls to make them reflect changes
163-
that can be caused by EXEC/EVAL commands.
164-
- Fixed compilation errors on scripts with a shebang line.
165-
166-
### v0.47 (Jun 28 2012)
167-
- Added special handling to debug clients running under LuaJIT.
168-
- Fixed an issue when a remote client could not suspend/exit.
169-
- Added default configuration for start/loop/listen methods.
170-
- Relaxed safety checks to allow debugging lua code called from C
171-
functions (to support debugging Love2d and similar applications).
172-
- Fixed incorrect initial stack level when started with start() command.
173-
- Added short_src field to the reported stack data.
174-
175-
### v0.46 (Jun 19 2012)
176-
- Added reporting of stack and variable (local/upvalue) information.
177-
- Added support for multiple results returned by EXEC/EVAL commands.
178-
- Added serialization/pretty-printing of results from EXEC/EVAL.
179-
180-
### v0.45 (May 28 2012)
181-
- Added select() implementation to mosync client to abort/break a running
182-
mosync app.
183-
- Added support for scratchpad.
184-
- Added SUSPEND command to suspend execution of a running script.
185-
- Added 'loadstring' command to load chunks of code to run under debugger.
186-
- Added safety mechanism to LOAD/RELOAD to avoid aborting when there are
187-
C functions in the stack.
188-
- Added reset for loaded modules to get 'require' to be processed correctly
189-
after LOAD/RELOAD commands.
190-
- Added integration with MobileLua event loop to allow debugging of
191-
applications that require event loop processing.
192-
- Improved handling and reporting of run-time errors during debugging.
193-
- Fixed handling of multi-line fragments with comments executed with EXEC/EVAL.
194-
- Fixed exit from the debugger when the application throws an error.
195-
- Fixed an issue with saving/restoring internal local variables.
196-
- Fixed an issue with local variables not being updated after EXEC/EVAL
197-
commands.
198-
199-
### v0.44 (Mar 20 2012)
200-
- Updated to work with "mosync" namespace (MobileLua 20120319 and MoSync 3.0).
201-
- Removed the use of "module()".
202-
203-
### v0.43 (Jan 16 2012)
204-
- Fixed errors from LOAD/RELOAD commands when used with start() method.
205-
- Added reporting of a file name and a line number to properly display
206-
source code when attach to a debugger.
207-
208-
### v0.42 (Dec 30 2011)
209-
- Added support for debugging of wxwidgets applications.
210-
- Added ability to break an application being debugged; this requires
211-
socket.select and async processing (doesn't work from the command line).
212-
213-
### v0.41 (Dec 17 2011)
214-
- Added slash conversion in filenames to make breakpoints work regardless
215-
of how slashes are specified in file names and in setb/delb commands.
216-
- Added tests with breakpoints in files in subfolders.
217-
- Added optimization for filename processing in the debug hook
218-
(Christoph Kubisch).
219-
- Added conversion of newlines for EVAL/EXEC commands to make them work
220-
with multiline expressions.
221-
- Allowed 'setb' and 'delb' commands to accept '-' as the filename.
222-
The last referenced (checked/stopped at/etc.) filename is used.
223-
224-
### v0.40 (Dec 02 2011)
225-
- First public release.

0 commit comments

Comments
 (0)