- Added filter to the script list panel
- Columns in the script list are now sortable
- Added support for Visual Studio 2022
- Fixed the order of locals lookup to preserve shadowing
- Mouse hover evaluation over members access after array indexing
- Added support for __index function evaluation
- Mouse hover performs this by default. Evaluation could have side-effects, new menu item can be used to disable auto-evaluation
- Fixed inability to open files from temp folder which have spaces in the name
- Fixed helper library load from paths with non-ASCII characters
- Table indexing will no longer lookup members of a metatable, __index will be used immediately
- Fixed value writes in Lua 5.1
- Fixed written string type tag in Lua 5.2/5.3/5.4 to include 'collectible' flag
- Array length operator will report element count until first 'nil'
- Improvements for LuaJIT support (2.0.5 x86/x64, 2.1.0 x86/x64):
- Global variable lookup
- Fixed breaking on internal runtime errors
- Breakpoint and stepping support in multiple global states
- Fixed missing call stack in error handling
- Additional internal LuaJIT functions are hidden
- Value write support
- Fixed launch without 'Compatibility Mode' enabled
- Function upvalue lookup support
- Stability improvements
- Experimental support for LuaJIT (2.0.5 x86/x64, 2.1.0 x86/x64). Limitations include:
- Scripts loaded from a file are not captured for breakpoint placement/stepping immediately
- Only writes to 'number' are supported with LUA_GC64
- Conditional breakpoints are not supported
- Only one global state is supported for breakpoints/stepping
- Breakpoints based on function name are not supported
- Status bar for information about detected Lua library and helper attachment state
- Fixed a case when failed helper attachment to x64 process could suspend thread indefinitely
- Lua Script List panel can be opened from menu
- Improved script name mapping to potential file name
- String values can be modified
- Support for assignments in watch and immediate windows
- Support for table and string length operator
- Watch values are refreshed after modification of a related value
- Fixed bool value modification in Lua 5.4
- Fixed nested linear array indexing
- Fixed breakpoints not being activated immediately after script load
- Fixed invalid call error display location
- Fixed error display location in Lua 5.1
- Fixed table size and content display in Lua 5.2 (nil entries)
- Added handler for unexpected exceptions in DIA SDK symbol load functions
- Fixed performance issue with Lua error handling
- Optimization for table summary and element lookups using batched memory reads and lazy evaluation
- Optimization for function locals list using batched memory reads
- Function location display now works with Lua 5.1
- Function name caching for Lua 5.1 stack frames
- Conditional breakpoint support for Lua 5.4
- Fixed Lua version lookup and hook setup when Lua library is built with optimization
- Fixed crash on function data lookup when debugging Lua 5.1
- Fix for Lua state creation hook when library is built with optimization
- Fix for internal Lua function display on 'Step Out' when debugging Lua 5.1
- Fixed conditional breakpoints
- Support for full process dump debug
- Support for Lua 5.4
- Lookup in __index metadata table in expression evaluation
- Location display for Lua function values and Jump to Source context menu option
- Alternative name is generated for unnamed scripts
- Fixes for Lua libraries built with optimizations
- Fix for Lua sources without a valid name
- Compatibility Mode improvements
- Lua table address is now displayed in Watch
- Stability fixes
- Additional source file search locations
- '.lua' is added to temporary file names if the Lua source name doesn't contain it already
- Fixed long debugger startup when application is linked with /DEBUG:FULL and symbol file is large
- Support for Visual Studio 2017
- Fixed debug hook setup for Lua 5.1 and 5.2
- Fixed empty files being saved to Temp folder
- Compatibility Mode for customized Lua interpreters
- Added 'Initialize...' action to the extension menu that can be used if extension hasn't loaded yet
- Breakpoints can now be set before application has launched
- Lua hooks are only set when breakpoints are active or stepping through code was performed
- Support for debug helper injection into x86 UWP apps (for breakpoints and stepping)
- Fixed debug helper initialization after Lua state is created
- Allow debugging when Lua is built as a DLL from @fsfod.
- Quick Info tooltip display with variable value evaluation on mouse over in the code window
- Global environment variable lookup in expression evaluation
- External C function/closure pointer display with 'Go To Source' provided by Visual Studio
- Hexadecimal value support in expression evaluation
- Assertion failure, error call and runtime errors are displayed as unhandled exceptions (Break on Error option)
- User data meta-table value display
- ':' member access is now handled in expression evaluation
- When Lua library is used together with sol library, C++ object in user data is available (may work for custom user data if meta-table contains '__type.name' string with C++ type name)
- Fixed hexadecimal value formatting & crash
- Expression evaluation optimization (caching call info, function data, upvalues and table values are not fetched until accessed)
- Lua module code is marked as user code
- Support for debug helper injection into x64 UWP apps (for breakpoints and stepping)
- Cleaned up module instance creation
- Silent debug helper injection failures will not hang the app on a suspended thread
- Fixed crash when crash dump is debugged
- Support for conditional breakpoints
- Added display of source files that haven't been found disk
- Option to show hidden Lua call stack frames (for troubleshooting)
- Fixed hook crash when application Lua library is compiled with a different LUA_IDSIZE
- Fixed conditional breakpoints in Lua 5.3 built for x64
- Some documents can be linked to known scripts using content comparison even when script source name doesn't match any file on disk
- Support for breakpoints
- Support for Step Over, Step In and Step Out
- Debug logs
- Function name cache for fast stack filter for Lua 5.2 and 5.3
- Lua function upvalue support in expression evaluation and Locals window
- Fixed access to local functions list of a Lua function
- Fixed enumeration size and double completion callback call in Locals window
- Additional stack filter optimizations
- Hide Lua call stack frames between internal Lua calls for Lua 5.3
- Support for Lua 5.2 in default configuration (LUA_NANTRICK is enabled for x86 and disabled for other platforms)
- Support for Lua 5.1
- Numeric and light user data values can be modified
- Fixed missing locals when their lifetime ends after current instruction (off-by-one error)
- Lua global function is called 'main' instead of '__global'
- Identifier names can contain '_' symbol
- Stack frame location is now provided for Lua 5.3 finalizers and Lua 5.2/5.3 tail-called functions
- Fixed out-of-order/missing call stack sections
- Stability improvements when accessing target process memory
- Reduce amount of expression evaluation requests to C++ debugger
- Fixed amount of skipped frames on stacks with multiple language transitions
- Support call stacks with transitions between different Lua states/threads
- Complex expression evaluation
- Support for relative Lua script source paths
- Adjusted frame instruction pointer value to point on the currently executing instruction (fixes missing locals)
- Fixed search for files without '@' at the start of the name
- Fixed interaction with C++ debugger that broke C++ breakpoint placement
- Support for configuration file with additional script search directories
[unreleased]https://github.com/olivierlacan/keep-a-changelog/compare/v0.9.7...HEAD
[0.9.7]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.9.6...v0.9.7
[0.9.6]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.9.5...v0.9.6
[0.9.5]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.9.4...v0.9.5
[0.9.4]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.9.3...v0.9.4
[0.9.3]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.9.2...v0.9.3
[0.9.2]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.9.1...v0.9.2
[0.9.1]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.9.0...v0.9.1
[0.9.0]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.8.8...v0.9.0
[0.8.8]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.8.7...v0.8.8
[0.8.7]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.8.2...v0.8.7
[0.8.2]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.8.1...v0.8.2
[0.8.1]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.8.0...v0.8.1
[0.8.0]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.7.7...v0.8.0
[0.7.7]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.7.5...v0.7.7
[0.7.5]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.7.4...v0.7.5
[0.7.4]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.6.0...v0.7.4
[0.6.0]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.4.1...v0.6.0
[0.4.1]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.3.0...v0.4.1
[0.3.0]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.2.6...v0.3.0
[0.2.6]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.2.5...v0.2.6
[0.2.5]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.2.4...v0.2.5
[0.2.4]https://github.com/WheretIB/LuaDkmDebugger/compare/v0.2.3...v0.2.4
[0.2.3]https://github.com/WheretIB/LuaDkmDebugger/releases/tag/v0.2.3