Skip to content

Commit 8224def

Browse files
authored
feat: Control socket (#1078)
* Control socket pause. * Refactor control socket and support win32 and linux. * Use provided control socket path in init packet. * Update Xdebug version. * Force close control socket. * Remove deprecated abstract socket package. Generalize linux and windows ctrl socket routines. * Update package lock. * Reflect changes in Xdebug. The control socket attribute does not have \\.\pipe\ anymore. * Get package-lock.json from main * Remove abstract-socket.d.ts * Update Linux abstract UNIX socket name. * npm audit fix * Update CHANGELOG.md * Add command to find and pause a PHP process. * Support listing control sockets on linux * Control Socket test file * Prettier * Skip tests for macos, implement progress indicator... * Docs.
1 parent f797413 commit 8224def

File tree

9 files changed

+381
-94
lines changed

9 files changed

+381
-94
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).
66

7+
## [1.39.0]
8+
9+
- Xdebug control socket support for pause on Linux and Windows (Xdebug 3.5).
10+
711
## [1.38.2]
812

913
- Fix problematic evaluate changes

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ Options specific to CLI debugging:
125125
- Run without debugging
126126
- DBGp Proxy registration and unregistration support
127127
- Xdebug Cloud support
128+
- Xdebug Control Sockets
128129

129130
## Remote Host Debugging
130131

@@ -150,6 +151,16 @@ The official implementation of the [dbgpProxy](https://xdebug.org/docs/dbgpProxy
150151

151152
A _Xdebug helper_ browser extension is also recommended. There the request side IDE key can be easily configured.
152153

154+
## Xdebug Control Sockets
155+
156+
With Xdebug 3.5+, a new feature enables IDEs to trigger pauses in PHP execution. This extension supports Xdebug Control Sockets in two ways:
157+
158+
1. **Pause during active debugging**: The _pause_ button triggers a control socket pause command, allowing you to pause PHP execution even in loops without breakpoints.
159+
160+
2. **Pause any PHP process**: The VS Code command `Pause PHP process (Xdebug Control Socket)` lists all PHP Control Sockets on your system, letting you pause any process or initiate a debug connection. Ensure the debugger is listening for incoming connections.
161+
162+
For setup instructions, see the [Xdebug control_socket documentation](https://xdebug.org/docs/step_debug#control_socket).
163+
153164
## Troubleshooting
154165

155166
- Ask a question on [StackOverflow](https://stackoverflow.com/questions/tagged/xdebug)

0 commit comments

Comments
 (0)