Skip to content

Commit abcb18e

Browse files
committed
Extension update
1 parent e944e2a commit abcb18e

File tree

3 files changed

+50
-11
lines changed

3 files changed

+50
-11
lines changed

CHANGELOG.md

+17
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
# Changelog
22

3+
## [0.6.0] - 2020-05-30
4+
5+
### Added
6+
7+
- Support for breakpoints
8+
- Support for Step Over, Step In and Step Out
9+
- Debug logs
10+
- Function name cache for fast stack filter for Lua 5.2 and 5.3
11+
- Lua function upvalue support in expression evaluation and Locals window
12+
13+
### Changed
14+
15+
- Fixed access to local functions list of a Lua function
16+
- Fixed enumeration size and double completion callback call in Locals window
17+
- Additional stack filter optimizations
18+
- Hide Lua call stack frames between internal Lua calls for Lua 5.3
19+
320
## [0.4.1] - 2020-05-23
421

522
### Added

LuaDkmDebugger/source.extension.vsixmanifest

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
33
<Metadata>
4-
<Identity Id="LuaDkmDebugger.e3e2ef04-27c9-46a6-ad45-79bd29067eb6" Version="0.4.1" Language="en-US" Publisher="WheretIB" />
4+
<Identity Id="LuaDkmDebugger.e3e2ef04-27c9-46a6-ad45-79bd29067eb6" Version="0.6" Language="en-US" Publisher="WheretIB" />
55
<DisplayName>C++ debugger extensions for Lua</DisplayName>
6-
<Description xml:space="preserve">This Visual Studio extension enables support for inspection of Lua state in C++ applications during debug.</Description>
6+
<Description xml:space="preserve">This extension adds integrated debugging for Lua scripts executing inside C++ applications with Lua library.</Description>
77
<License>license.txt</License>
88
<ReleaseNotes>https://raw.githubusercontent.com/WheretIB/LuaDkmDebugger/master/CHANGELOG.md</ReleaseNotes>
99
<Tags>lua, debugger</Tags>

README.md

+31-9
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# C++ Debugger Extensions for Lua
22

33
---
4-
This Visual Studio extension enables limited support for inspection of Lua state in C++ applications during debug.
4+
This Visual Studio extension enables debugging of Lua scripts running inside C++ applications with Lua library.
55

66
Supported Lua versions:
77
* Lua 5.3
@@ -10,17 +10,23 @@ Supported Lua versions:
1010

1111
[Extension on Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=wheretib.lua-dkm-debug)
1212

13-
### Features:
14-
* Lua 'inline' stack frame insertion into the Call Stack
15-
* Mark Lua library stack frames as non-user code
16-
* Jump to Lua source/line from Lua stack frames
17-
* Function argument and local variable display in the 'Locals' watch section
18-
* Local variable lookup and expression evaluation in Watch, Immediate and similar elements
13+
## Features:
14+
* Lua call stack frames in the Call Stack window
15+
* Lua library call stack frames are marked as non-user code
16+
* Jump to Lua source/line from Lua call stack frames
17+
* Function arguments, local variables and upvalues are displayed in the 'Locals' window
18+
* Lua expression evaluation in Watch, Immediate and similar elements
1919
* Numeric and user data values can be modified
20+
* Breakpoints
21+
* Known issue: breakpoints must be set after the debugger is launched
22+
* Up to 256 breakpoints are supported
23+
* Step Over, Step Into and Step Out
24+
25+
![Example debug session](https://github.com/WheretIB/LuaDkmDebugger/blob/master/resource/front_image_2.png?raw=true)
2026

2127
![Example debug session](https://github.com/WheretIB/LuaDkmDebugger/blob/master/resource/front_image.png?raw=true)
2228

23-
### Additional configuration
29+
## Additional configuration
2430

2531
In the default configuration, debugger searches for script files in current working directory and application executable directory.
2632

@@ -39,6 +45,22 @@ Add `ScriptPaths` key with an array of additional search paths.
3945
}
4046
```
4147

42-
### Known Issues:
48+
## Troubleshooting
49+
50+
If you experience issues with the extension, you can enable debug logs in 'Extensions -> Lua Debugger' menu if you wish to provide additional info in your report.
51+
52+
### Breakpoints and Stepping information
53+
54+
As in other Lua debuggers, breakpoints are implemented using Lua library hooks. The hook is set as soon as Lua state is created.
55+
56+
If you use your own Lua hooks in your application, you can call the previous hook function from your hook.
57+
58+
This debugger or other debuggers might override each other hooks, so if breakpoints are not hit, this might be the reason.
59+
60+
If you experience issues with the debugger on launch, you can disable attachment to your process in 'Extensions -> Lua Debugger' menu. Debug logs can be enabled there as well if you wish to report the issue. (note that names of your Lua scripts might be included in the log). If debugger attachment is disabled, all features except for breakpoints and stepping will still work.
61+
62+
## Known Issues:
4363
* This extension will always add Lua module to the application (can be seen in 'Modules' section of the debugger) even when debugging applications with no Lua code (check notes in RemoteComponent.cs)
4464
* Lua 5.2 is assumed to be compiled with LUA_NANTRICK in x86 (default configuration)
65+
* Breakpoints must be set after the debugger is launched
66+
* Step Into from Lua into C++ doesn't work at the moment

0 commit comments

Comments
 (0)