From 4a1968cbed0ab55217c2c511f35c5a439ac2a9ce Mon Sep 17 00:00:00 2001 From: Shubh Mehta <93862397+Shubh942@users.noreply.github.com> Date: Sun, 25 Aug 2024 12:10:10 +0530 Subject: [PATCH] Update README.md --- README.md | 142 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 141 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3fa571d..0dac157 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,143 @@ # GDB-UI -GDB stands for GNU Debugger. It's a powerful and popular debugger for various programming languages, including C, C++, Ada, and others. It allows developers to observe what a program is doing while it's running. This is particularly useful when debugging to find and fix problems in the code. +**GDB-UI** is a user-friendly interface built for the GNU Debugger (GDB), providing a modern web-based UI for debugging your applications. It allows developers to monitor program execution, inspect variables, set breakpoints, and more, all through an intuitive web application. + +**GitHub Repository:** [c2siorg/GDB-UI](https://github.com/c2siorg/GDB-UI) + +## Project Overview + +GDB-UI simplifies the debugging process by integrating the powerful features of GDB with a sleek and easy-to-use web interface. This project is particularly useful for developers working with languages like C, C++, and Ada. The interface offers a more accessible and visual approach to debugging, making it easier to identify and fix issues in your code. + +## Getting Started + +### Docker Setup + +The quickest way to get started with GDB-UI is by using Docker. A `docker-compose.yml` file is provided to handle the entire setup. + +1. Ensure Docker and Docker Compose are installed on your machine. +2. Run the following command in your terminal: + + ```sh + docker-compose up + ``` + +This command will build and start both the frontend and backend services, making the application available at [http://localhost:3000](http://localhost:3000) (or your specified port). + +### Manual Setup + +If you prefer a manual setup or are unable to use Docker, follow these steps: + +#### Prerequisites + +- **Node.js:** Version 18 +- **Python:** Version 3.10 + +#### Frontend Setup (React) + +1. Navigate to the `webapp` directory: + + ```sh + cd webapp + ``` + +2. Install the necessary dependencies: + + ```sh + npm install + ``` + +3. Start the development server: + + ```sh + npm run dev + ``` + +#### Backend Setup (Python Server) + +1. Navigate to the `gdbui_server` directory: + + ```sh + cd gdbui_server + ``` + +2. Install the required Python packages: + + ```sh + pip install -r requirements.txt + ``` + +3. Run the backend server: + + ```sh + python main.py + ``` + +## Running Tests + +### Frontend Tests (Vite) + +To run the frontend tests, follow these steps: + +1. Navigate to the `webapp` directory: + + ```sh + cd webapp + ``` + +2. Run the tests using Vite: + + ```sh + npm run test + ``` + +### Backend Tests + +To run the backend tests, use the following procedure: + +1. Ensure your Python environment is set up as described in the manual setup. +2. Navigate to the `gdbui_server` directory: + + ```sh + cd gdbui_server + ``` + +3. Run the tests using the `unittest` module: + + ```sh + python -m unittest discover -s tests + ``` + +## Contributing + +We welcome contributions from the community! To get started: + +1. **Fork the repository at** [c2siorg/GDB-UI](https://github.com/c2siorg/GDB-UI). +2. **Clone your fork:** + + ```sh + git clone https://github.com/your-username/GDB-UI.git + ``` + +3. **Create a new branch for your feature or bugfix:** + + ```sh + git checkout -b feature-name + ``` + +4. **Make your changes and commit them:** + + ```sh + git commit -m "Description of your changes" + ``` + +5. **Push your branch to your fork:** + + ```sh + git push origin feature-name + ``` + +6. **Open a pull request** on the main repository. + +**Please ensure your code adheres to our coding standards and is thoroughly tested before submitting your pull request.** + +