Deprecated - please see the Squash Repo
- Active development occurs in the Squash repo.
- https://github.com/solo-io/squash
Squash, a tool for debugging distributed applications, is designed to bring the strength of modern debuggers and the convenience of their IDEs to microservices developers. Squash uses popular, powerful and mature debuggers, and integrates them seamlessly with leading container orchestration platform. This allows devs to use the debugger of their choice, and the IDEs that support it, to debug microservices on any platform.
The Squash VS Code extenstion allows Squash to use Visual Studio Code as its user interface. After installing this extension Squash commands are available in VS Code command palette.
- Live debugging cross multi microservices
- Debug container in a pod
- Debug a service
- Set breakpoints
- Step through the code
- View and modify values of variables
- and more ...
In the following demo we debug an application that adds two numbers. As you can see, it currently fails misearbly at adding 9 to 99. The applications is composed of two microservices. We set breakpoints in both, then step thought the application, while monitoring its variables. At some point we identify the problem, and test it by changing the value of the variable isadd before resuming the exectution of the appliation.
An annotated version of this demo can be found here.