A powerful visual debugging tool that helps developers understand code execution step by step.
Features • Demo • Installation • Usage • How It Works • Roadmap • Contributing • License
BreakPointX transforms the debugging experience by providing a rich, interactive visualization of code execution:
- Step-by-Step Execution: Navigate through code line by line with full control
- Real-Time Variable Tracking: Watch how variable values change during execution
- Call Stack Visualization: See function calls and execution context in real time
- Breakpoint Support: Set breakpoints with a simple click on line numbers
- Execution Flow Graph: Visual representation of code paths and function calls
- Performance Metrics: Track complexity, stack depth, and execution patterns
- Console Output Integration: See logs as they would appear during execution
- Customizable Execution Speed: Control the pace of code execution
Interactive debugging session showing variable state tracking and execution flow
- Clone the repository
git clone https://github.com/yourusername/breakpointx.git
cd breakpointx- Install dependencies
npm install- Start the development server
npm startThis will start both the frontend React application and the backend Node.js server.
- Enter your JavaScript code in the editor panel
- Set breakpoints by clicking on the line numbers (optional)
- Click Run to start the execution
- Use the controls to:
- Step: Move to the next execution step
- Continue: Resume execution after a breakpoint
- Reset: Start over from the beginning
- Observe execution through:
- The highlighted current line
- Variable values in the state panel
- Call stack visualization
- Console output in real-time
BreakPointX uses a multi-layered architecture to provide a comprehensive debugging experience:
- Interactive code editor with syntax highlighting
- Real-time data visualization using Recharts and custom components
- Responsive UI that adapts to different screen sizes
- Code parsing and instrumentation via Abstract Syntax Tree transformation
- Secure code execution in a sandboxed environment
- WebSocket communication for real-time updates
- Code is parsed into an Abstract Syntax Tree
- Instrumentation points are added to track execution state
- Modified code runs in a secure VM
- Execution data is streamed to the frontend in real time
┌────────────────┐ ┌────────────────┐ ┌────────────────┐
│ │ │ │ │ │
│ Code Editor │────▶│ Parser/AST │────▶│ Execution │
│ │ │ │ │ Environment │
└────────────────┘ └────────────────┘ └────────────────┘
│
┌────────────────┐ ┌────────────────┐ ┌──────▼─────────┐
│ │ │ │ │ │
│ Visualization │◀────│ State Tracker │◀────│ Instrumented │
│ │ │ │ │ Code Runner │
└────────────────┘ └────────────────┘ └────────────────┘
- Support for multiple programming languages (Python, Java, Ruby)
- Collaborative debugging sessions
- AI-powered error detection and suggestions
- Memory usage visualization
- Custom visualization plugins
- Code performance optimization suggestions
- Mobile-friendly interface
- Integration with popular code editors
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Project Link: https://github.com/Manishym956/breakpointx
Made with ❤️ by Manish Y M
