This extension enables developers to debug their DBOS applications deployed to the DBOS Cloud using VS Code. DBOS Cloud allows time-travel debugging of any DBOS application execution that has occurred in the past three days.
The DBOS Time Travel Debugger extension attaches a "⏳ Time Travel Debug" CodeLens to every DBOS workflow, transaction and communicator method in your DBOS application.
When you click on the Time Travel Debug CodeLens, you are provided a list of recent executions of that method to debug.
After selecting a recent execution of your function, the DBOS Time Travel Debugger will launch the DBOS debug runtime and VS Code typescript debugger. This allows you to debug your DBOS application against the database as it existed at the time the selected execution originally occurred.
For more information, please see the official DBOS documentation.
The latest released version of the DBOS Time Travel Debugger for VS Code can be installed via the VS Code Marketplace.
DBOS depends on Node.js version 20 or later. The DBOS Time Travel Debugger for VS Code has no additional dependencies beyond what DBOS depends on.
The DBOS Time Travel Debugger builds every commit in our GitHub repo. You can install a preview build of the Time Travel Debugger extension navigating to a recent GitHub action run and downloading the associated "Extension" build artifact. The "Extension" build artifact is a zip file containing the Time Travel Debugger's VSIX file, which can be installed manually. For more information on installing VSIX extensions in Visual Studio Code, please see the official Visual Studio Code docs.
The DBOS Time Travel Debugger extension uses the following VSCode recommendation for handling version numbers:
We recommend that extensions use
major.EVEN_NUMBER.patch
for release versions andmajor.ODD_NUMBER.patch
for pre-release versions. For example:0.2.*
for release and0.3.*
for pre-release.
The main
branch of this repo tracks unreleased work.
Extension releases published to the VS Code marketplace from the main
branch will always have an odd minor version number and will be marked as
pre-release.
Release versions of the extension are published out of release branches. Extension releases published to the VS Code marketplace from release branches will always have an even minor version number.
Note, this project uses NerdBank Git Versioning to manage release version numbers. As such, patch versions of public releases will typically not be sequential.