You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,6 +49,7 @@ The simplest and most efficient way to use luceedebug. No JVM configuration requ
49
49
|`LUCEE_DAP_PORT`|| Port for DAP server (default: 10000) |
50
50
|`LUCEE_DAP_HOST`|| Bind address for DAP server (default: localhost, use `0.0.0.0` for Docker) |
51
51
|`LUCEE_DAP_BREAKPOINT`|| Set to `false` to disable breakpoint instrumentation |
52
+
|`LUCEE_DEBUGGER_DEBUG`|| Set to `true` to enable verbose debug logging to the console |
52
53
53
54
Setting `LUCEE_DAP_BREAKPOINT=false` disables breakpoint support but keeps the DAP server running. This is useful if you only want console output streaming without the instrumentation overhead.
Copy file name to clipboardExpand all lines: examples/docker/README.md
+57-3Lines changed: 57 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,16 +11,69 @@ docker compose up
11
11
- Lucee: http://localhost:8888
12
12
- DAP debugger: port 10000
13
13
14
-
Install the [LuceeDebug](https://marketplace.visualstudio.com/items?itemName=DavidRogers.luceedebug) vscode extension,
14
+
## VS Code
15
15
16
-
## Run the demo
16
+
Install the [LuceeDebug](https://marketplace.visualstudio.com/items?itemName=DavidRogers.luceedebug) VS Code extension.
17
17
18
18
- Open this folder in VS Code
19
19
- Set a breakpoint in [app/index.cfm](app/index.cfm)
20
20
- Press F5 (Run / Start Debugging)
21
-
- Switch the to debug console view
21
+
- Switch to the debug console view
22
22
- Open [http://localhost:8888](http://localhost:8888) in a browser
23
23
24
+
The VS Code extension adds context menu commands (writeDump, serializeJSON, getMetadata) and hover evaluation for CFML variables. All core debugging features (breakpoints, stepping, variable inspection) are standard DAP.
25
+
26
+
## Other DAP Clients
27
+
28
+
Luceedebug uses the [Debug Adapter Protocol](https://microsoft.github.io/debug-adapter-protocol/), so any DAP client that can connect via TCP socket should work. The key requirement is that the `attach` request must include `secret` in its arguments.
29
+
30
+
### Neovim (nvim-dap)
31
+
32
+
```lua
33
+
localdap=require("dap")
34
+
35
+
dap.adapters.cfml= {
36
+
type="server",
37
+
host="localhost",
38
+
port=10000,
39
+
}
40
+
41
+
dap.configurations.cfml= {
42
+
{
43
+
type="cfml",
44
+
request="attach",
45
+
name="Lucee Docker Debugger",
46
+
secret="my-secret",
47
+
pathTransforms= {
48
+
{
49
+
idePrefix="${workspaceFolder}/app",
50
+
serverPrefix="/var/www",
51
+
},
52
+
},
53
+
},
54
+
}
55
+
```
56
+
57
+
### IntelliJ (LSP4IJ plugin)
58
+
59
+
Install the [LSP4IJ](https://plugins.jetbrains.com/plugin/23257-lsp4ij) plugin, then create a DAP Run/Debug configuration:
60
+
61
+
-**Server tab**: Connect via socket to `localhost:10000` (no command needed, the server is already running)
62
+
-**Configuration tab**: Set the JSON to:
63
+
64
+
```json
65
+
{
66
+
"request": "attach",
67
+
"secret": "my-secret",
68
+
"pathTransforms": [
69
+
{
70
+
"idePrefix": "${workspaceFolder}/app",
71
+
"serverPrefix": "/var/www"
72
+
}
73
+
]
74
+
}
75
+
```
76
+
24
77
## How It Works
25
78
26
79
The Lucee 7.1+ Docker image is used, with with the debugger extension being installed via an env var:
@@ -32,5 +85,6 @@ Three env vars enable it:
32
85
-`LUCEE_DAP_SECRET` - authentication secret (must match your launch.json)
33
86
-`LUCEE_DAP_PORT` - DAP server port
34
87
-`LUCEE_DAP_HOST` - bind address (`0.0.0.0` for Docker, defaults to `localhost`)
88
+
-`LUCEE_DEBUGGER_DEBUG` - set to `true` for verbose debug logging to the console
35
89
36
90
The `pathTransforms` in [.vscode/launch.json](.vscode/launch.json) maps your local `app/` folder to `/var/www` inside the container.
0 commit comments