mirror of
https://github.com/Vitexus/xdebug-tui.git
synced 2026-10-03 22:17:11 +00:00
Interactive PHP step debugger for your terminal. Made on planet earth with effort.
Forky is still unstable/research-only. The full Debian package ecosystem is not yet available for Forky, causing cascading unmet dependency failures. Re-enable once the full stack builds cleanly for Forky. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .github/workflows | ||
| debian | ||
| demo | ||
| example/demo | ||
| php | ||
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
| rustfmt.toml | ||
Debug-TUI
Interactive Xdebug step-debugging client for your terminal.
- Travel forwards: step over, into and out.
- Travel backwards: it's not quite time travel - but you can revisit and inspect previous steps in history mode.
- Jump the stack: jump up and down the stack.
- Vim-like motions: Typing
100nwill repeat "step into" 100 times. - Inline values: Show variable values inline with the source code.
- Process control: Launch, monitor and restart the process being debugged.
Installation
- Download the latest release.
- Compile it yourself
cargo build. - Install the Debian package:
sudo dpkg -i xdebug-tui_*.deb
Building the Debian package
dpkg-buildpackage -us -uc -b
CLI options
--log: Debug log to file.--listen: Listen on an alternative address (defaults to0.0.0.0:9003).
In addition you can optionally specify a process to debug:
$ debug-tui -- php path/to/script.php
Key bindings
Prefix with number to repeat:
rrunnnext / step intoNstep overpprevious (switches to history mode if in current mode)ostep outRrestart process if one was providedjdownJdown 10kupKup 10hleftHleft 10lrightLright 10+increase context depth-decrease context depthtabswitch paneentertoggle pane focus (full screen)trotate the theme?Show helpfFilter (context pane) - use dot notation to filter on multiple levels.
Setting Breakpoints
debug-tui has no mechanism for setting a breakpoint but you can use the
function xdebug_break() in your code:
<?php
function my_function() {
xdebug_break(); // break after this line
}