Harness the power of ChatGPT directly inside the GDB debugger!
Project description
ChatGDB
Harness the power of ChatGPT inside the GDB debugger!
ChatGDB is a tool designed to superpower your debugging experience with GDB, a debugger for compiled languages. Use it to accelerate your debugging workflow by leveraging the power of ChatGPT to assist you while using GDB!
It allows you to explain in natural language what you want to do, and then automatically execute the relevant command. Optionally, you can ask ChatGPT to explain the command it just ran or even pass in any question for it to answer. Focus on what's important - figuring out that nasty bug instead of chasing down GDB commands at the tip of your tongue.
Contents
Installation instructions
First, make sure you install pip. ChatGDB also requires a python version of 3.3 or above.
To install, run the command
pip3 install chatgdb
.
It will create an executable called chatgdb
that you will have to use to set your api key.
To do that, run the command
chatgdb -k <API KEY>
Without the API key, you won't be able to make requests to OpenAI. The API key is stored in text in the same directory as the installed script, which is currently in your python site packages folder along with the main script. You can easily find this location by running the following in your terminal:
python -m site --user-site
Optionally, you can also download the compressed files in the releases page to get the scripts directly.
If you do this, navigate to the chatgdb
folder, and you can install with
pip3 install .
.
Updating
To update ChatGDB, run the following
pip3 install chatgdb --upgrade
Usage
I first recommend editing your $HOME/.gdbinit
to source the main script automatically on startup. Run the following command:
echo "source $(python -m site --user-site)/chatgdb/core.py" > $HOME/.gdbinit
While inside GDB the command chat appended by your query, for example chat list all breakpoints that I created
.
There is also a command called explain
that you can use with no arguments to explain the previously run command,
and optionally, with a query to just ask GPT a question. For example, running explain
directly after running
break 7
would prompt the tool to explain how breakpoints work. Running explain how input formatting works in gdb
would prompt it to explain input formatting (see the image at the top).
Run chat help to print out a short tutorial on how to use the tool.
Contributing
Thanks for your interest in contributing to ChatGDB! See CONTRIBUTING.md on ways to help the development effort.
Staying Updated
If you'd like to stay up-to-date on new features/fixes, follow my twitter. There's plenty of exciting features on the horizon such as complete context-awareness that will make it possible for ChatGDB to not only help you use GDB, but to help you fix the code itself.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file chatgdb-1.0.4.tar.gz
.
File metadata
- Download URL: chatgdb-1.0.4.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.10.10 Linux/6.2.9-arch1-1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccdd66c470b71794ee70c3e6a98c9fef5db24cbb63f4ceac4bfe0b6e42c67db0 |
|
MD5 | d66787909088eee1ead8bce668619d0e |
|
BLAKE2b-256 | a57b39d856b6c0471f5bba2c22a2e4e897a6d6ace3fc338e59453b939f00b5ed |
File details
Details for the file chatgdb-1.0.4-py3-none-any.whl
.
File metadata
- Download URL: chatgdb-1.0.4-py3-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.10.10 Linux/6.2.9-arch1-1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e05780d7c86916ba3981283ec2c1bdc5b48bd8eb60c718156a06e7fcc36f1fc5 |
|
MD5 | 9af3c6d23c2e5e0ea12104a40c320086 |
|
BLAKE2b-256 | 0083b1a44de6bbab49b4e2c3c34e9c90a5498d2cf02414ab8a662ebd293e260c |